Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created July 12, 2024 20:23
Show Gist options
  • Save MihuBot/1cec336577121ac356ff0a80a35f96aa to your computer and use it in GitHub Desktop.
Save MihuBot/1cec336577121ac356ff0a80a35f96aa to your computer and use it in GitHub Desktop.

Top method improvements

-33 (-2.79 % of base) - System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 20 single block inlinees; 18 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 20 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[System.String]>
-;  V01 arg1         [V01,T09] (  9, 26.50)     ref  ->  r14         class-hnd single-def <ubyte[]>
-;  V02 arg2         [V02,T13] ( 11, 17   )     ref  ->  [rbp-0x80]  class-hnd single-def <System.Text.Encoding>
+;  V01 arg1         [V01,T31] (  5,  6.50)     ref  ->  [rbp-0x80]  class-hnd single-def <ubyte[]>
+;  V02 arg2         [V02,T12] ( 11, 17   )     ref  ->  r12         class-hnd single-def <System.Text.Encoding>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
-;  V04 arg4         [V04,T59] (  4,  2   )   byref  ->  [rbp+0x10]  single-def
-;  V05 loc0         [V05,T14] (  8, 18   )     int  ->  [rbp-0x2C] 
+;  V04 arg4         [V04,T64] (  4,  2   )   byref  ->  [rbp+0x10]  single-def
+;  V05 loc0         [V05,T13] (  8, 18   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06    ] (  3,  1.50)     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V07 loc2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[System.String]>
 ;  V08 loc3         [V08,T03] ( 10, 33   )     int  ->  [rbp-0x3C] 
 ;* V09 loc4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V10 loc5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
-;  V11 loc6         [V11,T16] (  8, 17.50)     ref  ->  [rbp-0x88]  class-hnd <System.String>
-;* V12 loc7         [V12,T78] (  0,  0   )     int  ->  zero-ref   
-;  V13 loc8         [V13,T15] (  8, 18   )     int  ->  rax        
-;* V14 loc9         [V14,T79] (  0,  0   )     int  ->  zero-ref   
+;  V11 loc6         [V11,T15] (  8, 17.50)     ref  ->  [rbp-0x88]  class-hnd <System.String>
+;* V12 loc7         [V12,T83] (  0,  0   )     int  ->  zero-ref   
+;  V13 loc8         [V13,T14] (  8, 18   )     int  ->  rax        
+;* V14 loc9         [V14,T84] (  0,  0   )     int  ->  zero-ref   
 ;# V15 OutArgs      [V15    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp2         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V18 tmp3         [V18,T52] (  4,  4   )     int  ->  rsi         "Inlining Arg"
+;  V18 tmp3         [V18,T55] (  4,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V19 tmp4         [V19    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V20 tmp5         [V20,T48] (  5,  5   )   byref  ->  r15         single-def "Inlining Arg"
-;  V21 tmp6         [V21,T33] (  8,  8   )     int  ->  rbx         "Inlining Arg"
-;  V22 tmp7         [V22,T53] (  4,  4   )     int  ->   r9         "Inlining Arg"
+;  V20 tmp5         [V20,T47] (  5,  5   )   byref  ->  r15         single-def "Inlining Arg"
+;  V21 tmp6         [V21,T32] (  8,  8   )     int  ->  rbx         "Inlining Arg"
+;  V22 tmp7         [V22,T56] (  4,  4   )     int  ->  r12         "Inlining Arg"
 ;* V23 tmp8         [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V24 tmp9         [V24,T60] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
-;  V25 tmp10        [V25,T63] (  2,  2   )     int  ->  rbx         "Inlining Arg"
+;  V24 tmp9         [V24,T65] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V25 tmp10        [V25,T68] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V26 tmp11        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V27 tmp12        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V28 tmp13        [V28    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V29 tmp14        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V30 tmp15        [V30    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp16        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp17        [V32    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V33 tmp18        [V33,T05] (  4, 32   )     int  ->  rdi         "Inlining Arg"
 ;* V34 tmp19        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V35 tmp20        [V35,T04] (  4, 32   )   byref  ->  r15         "Inlining Arg"
 ;  V36 tmp21        [V36,T02] (  5, 36   )     int  ->  rbx         "Inlining Arg"
 ;* V37 tmp22        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V38 tmp23        [V38    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
 ;* V39 tmp24        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V40 tmp25        [V40,T80] (  4,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.Net.Http.QPack.QPackEncodingException>
+;  V40 tmp25        [V40,T85] (  4,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.Net.Http.QPack.QPackEncodingException>
 ;* V41 tmp26        [V41    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V42 tmp27        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp29        [V44,T37] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V45 tmp30        [V45,T44] (  2,  8   )     int  ->  rsi         "Inlining Arg"
-;  V46 tmp31        [V46,T35] (  3,  8   )     int  ->  rax         "Inline return value spill temp"
+;  V44 tmp29        [V44,T38] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
+;  V45 tmp30        [V45,T43] (  2,  8   )     int  ->  rsi         "Inlining Arg"
+;  V46 tmp31        [V46,T34] (  3,  8   )     int  ->  rax         "Inline return value spill temp"
 ;* V47 tmp32        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp33        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V49 tmp34        [V49,T29] (  4, 12   )    long  ->  [rbp-0x48]  "Inline stloc first use temp"
-;  V50 tmp35        [V50,T49] (  3,  6   )     int  ->  [rbp-0x4C]  "Inline stloc first use temp"
+;  V50 tmp35        [V50,T48] (  3,  6   )     int  ->  [rbp-0x4C]  "Inline stloc first use temp"
 ;  V51 tmp36        [V51    ] (  2,  8   )   byref  ->  [rbp-0x58]  must-init pinned "Inline stloc first use temp"
 ;  V52 tmp37        [V52    ] (  2,  8   )   byref  ->  [rbp-0x60]  must-init pinned "Inline stloc first use temp"
 ;* V53 tmp38        [V53    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V54 tmp39        [V54    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V55 tmp40        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V56 tmp41        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V57 tmp42        [V57,T81] (  2,  0   )     ref  ->  r15         class-hnd exact "Inlining Arg" <System.String>
+;  V57 tmp42        [V57,T86] (  2,  0   )     ref  ->  r15         class-hnd exact "Inlining Arg" <System.String>
 ;  V58 tmp43        [V58,T06] (  4, 32   )     int  ->  rax         "Inlining Arg"
 ;* V59 tmp44        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V60 tmp45        [V60,T19] (  2, 16   )   byref  ->  r15         "Inlining Arg"
-;  V61 tmp46        [V61,T22] (  2, 16   )     int  ->  rbx         "Inlining Arg"
+;  V60 tmp45        [V60,T18] (  2, 16   )   byref  ->  r15         "Inlining Arg"
+;  V61 tmp46        [V61,T21] (  2, 16   )     int  ->  rbx         "Inlining Arg"
 ;* V62 tmp47        [V62    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V63 tmp48        [V63,T51] (  4,  4   )     ref  ->   r8         class-hnd single-def "Inlining Arg" <System.String>
+;  V63 tmp48        [V63,T54] (  4,  4   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.String>
 ;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V65 tmp50        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V66 tmp51        [V66,T61] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V67 tmp52        [V67,T64] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;  V66 tmp51        [V66,T66] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V67 tmp52        [V67,T69] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V68 tmp53        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V69 tmp54        [V69,T62] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
-;  V70 tmp55        [V70,T65] (  2,  2   )     int  ->  rbx         "Inlining Arg"
+;  V69 tmp54        [V69,T67] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V70 tmp55        [V70,T70] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V71 tmp56        [V71    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V72 tmp57        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V73 tmp58        [V73    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V74 tmp59        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V75 tmp60        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp61        [V76    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp62        [V77    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V78 tmp63        [V78,T07] (  4, 32   )     int  ->  rcx         "Inlining Arg"
 ;* V79 tmp64        [V79    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V80 tmp65        [V80,T20] (  2, 16   )   byref  ->   r8         "Inlining Arg"
+;  V80 tmp65        [V80,T19] (  2, 16   )   byref  ->   r8         "Inlining Arg"
 ;  V81 tmp66        [V81,T08] (  3, 24   )     int  ->  rsi         "Inlining Arg"
 ;* V82 tmp67        [V82    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V83 tmp68        [V83,T11] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.String>
+;  V83 tmp68        [V83,T10] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.String>
 ;* V84 tmp69        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V85 tmp70        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V86 tmp71        [V86,T38] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
-;  V87 tmp72        [V87,T45] (  2,  8   )     int  ->  rdi         "Inlining Arg"
+;  V86 tmp71        [V86,T39] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
+;  V87 tmp72        [V87,T44] (  2,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V88 tmp73        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V89 tmp74        [V89,T21] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
-;  V90 tmp75        [V90,T23] (  2, 16   )     int  ->  rbx         "Inlining Arg"
-;  V91 tmp76        [V91,T12] (  8, 18.50)   byref  ->  r12         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V92 tmp77        [V92,T10] ( 12, 21   )     int  ->  r13         single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;  V93 tmp78        [V93,T01] ( 17, 40.50)   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
-;  V94 tmp79        [V94,T00] ( 20, 49   )     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
-;* V95 tmp80        [V95,T68] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V96 tmp81        [V96,T72] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;  V89 tmp74        [V89,T20] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
+;  V90 tmp75        [V90,T22] (  2, 16   )     int  ->  rbx         "Inlining Arg"
+;  V91 tmp76        [V91,T11] (  8, 18.50)   byref  ->  r13         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V92 tmp77        [V92,T09] ( 12, 21   )     int  ->  r14         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V93 tmp78        [V93,T01] ( 17, 36.50)   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp79        [V94,T00] ( 20, 45   )     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
+;* V95 tmp80        [V95,T73] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V96 tmp81        [V96,T77] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V97 tmp82        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp83        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp84        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp85       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V101 tmp86       [V101,T77] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V102 tmp87       [V102,T73] (  2,  1   )     int  ->  rsi         "field V19._length (fldOffset=0x8)" P-INDEP
-;  V103 tmp88       [V103,T69] (  2,  1   )   byref  ->  r15         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
-;  V104 tmp89       [V104,T74] (  2,  1   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
-;  V105 tmp90       [V105,T39] (  2,  8   )   byref  ->  rsi         "field V26._reference (fldOffset=0x0)" P-INDEP
-;  V106 tmp91       [V106,T30] (  3, 12   )     int  ->  rdx         "field V26._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp86       [V101,T82] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V102 tmp87       [V102,T78] (  2,  1   )     int  ->  rsi         "field V19._length (fldOffset=0x8)" P-INDEP
+;  V103 tmp88       [V103,T74] (  2,  1   )   byref  ->  r15         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;  V104 tmp89       [V104,T79] (  2,  1   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
+;  V105 tmp90       [V105,T49] (  2,  6   )   byref  ->  rsi         "field V26._reference (fldOffset=0x0)" P-INDEP
+;  V106 tmp91       [V106,T35] (  3,  8   )     int  ->   r8         "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp92       [V107    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp93       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
-;* V109 tmp94       [V109    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
-;* V110 tmp95       [V110    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;  V109 tmp94       [V109,T50] (  2,  6   )   byref  ->  rdi         "field V28._reference (fldOffset=0x0)" P-INDEP
+;  V110 tmp95       [V110,T59] (  2,  4   )     int  ->  rdx         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V111 tmp96       [V111    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V112 tmp97       [V112    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V113 tmp98       [V113    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V114 tmp99       [V114    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp100      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp101      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp102      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V118 tmp103      [V118    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;  V119 tmp104      [V119,T28] (  4, 12   )   byref  ->  rdi         "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V120 tmp105      [V120,T32] (  4, 10   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V121 tmp106      [V121,T54] (  2,  4   )   byref  ->  rdi         "field V42._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp107      [V122,T56] (  2,  4   )     int  ->  rsi         "field V42._length (fldOffset=0x8)" P-INDEP
+;  V120 tmp105      [V120,T30] (  4, 10   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V121 tmp106      [V121,T57] (  2,  4   )   byref  ->  rdi         "field V42._reference (fldOffset=0x0)" P-INDEP
+;  V122 tmp107      [V122,T60] (  2,  4   )     int  ->  rsi         "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp108      [V123    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp109      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V125 tmp110      [V125    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V126 tmp111      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V127 tmp112      [V127    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V128 tmp113      [V128    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V129 tmp114      [V129    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp115      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp116      [V131    ] (  0,  0   )   byref  ->  zero-ref    "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp117      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;  V133 tmp118      [V133,T40] (  2,  8   )   byref  ->  r15         "field V59._reference (fldOffset=0x0)" P-INDEP
-;  V134 tmp119      [V134,T46] (  2,  8   )     int  ->  rbx         "field V59._length (fldOffset=0x8)" P-INDEP
-;  V135 tmp120      [V135,T66] (  3,  1.50)   byref  ->  rsi         "field V62._reference (fldOffset=0x0)" P-INDEP
-;  V136 tmp121      [V136,T67] (  3,  1.50)     int  ->  rdx         "field V62._length (fldOffset=0x8)" P-INDEP
-;  V137 tmp122      [V137,T70] (  2,  1   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
-;  V138 tmp123      [V138,T75] (  2,  1   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
+;  V134 tmp119      [V134,T45] (  2,  8   )     int  ->  rbx         "field V59._length (fldOffset=0x8)" P-INDEP
+;  V135 tmp120      [V135,T71] (  3,  1.50)   byref  ->  rsi         "field V62._reference (fldOffset=0x0)" P-INDEP
+;  V136 tmp121      [V136,T72] (  3,  1.50)     int  ->  rdx         "field V62._length (fldOffset=0x8)" P-INDEP
+;  V137 tmp122      [V137,T75] (  2,  1   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
+;  V138 tmp123      [V138,T80] (  2,  1   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V139 tmp124      [V139    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V140 tmp125      [V140    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;  V141 tmp126      [V141,T71] (  2,  1   )   byref  ->  r15         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
-;  V142 tmp127      [V142,T76] (  2,  1   )     int  ->  rbx         "field V68._length (fldOffset=0x8)" P-INDEP
-;  V143 tmp128      [V143,T41] (  2,  8   )   byref  ->  rsi         "field V71._reference (fldOffset=0x0)" P-INDEP
-;  V144 tmp129      [V144,T31] (  3, 12   )     int  ->  rdx         "field V71._length (fldOffset=0x8)" P-INDEP
+;  V141 tmp126      [V141,T76] (  2,  1   )   byref  ->  r15         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
+;  V142 tmp127      [V142,T81] (  2,  1   )     int  ->  rbx         "field V68._length (fldOffset=0x8)" P-INDEP
+;  V143 tmp128      [V143,T51] (  2,  6   )   byref  ->  rsi         "field V71._reference (fldOffset=0x0)" P-INDEP
+;  V144 tmp129      [V144,T36] (  3,  8   )     int  ->  rax         "field V71._length (fldOffset=0x8)" P-INDEP
 ;* V145 tmp130      [V145    ] (  0,  0   )   byref  ->  zero-ref    "field V72._reference (fldOffset=0x0)" P-INDEP
 ;* V146 tmp131      [V146    ] (  0,  0   )     int  ->  zero-ref    "field V72._length (fldOffset=0x8)" P-INDEP
-;* V147 tmp132      [V147    ] (  0,  0   )   byref  ->  zero-ref    "field V73._reference (fldOffset=0x0)" P-INDEP
-;* V148 tmp133      [V148    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
+;  V147 tmp132      [V147,T52] (  2,  6   )   byref  ->  rdi         "field V73._reference (fldOffset=0x0)" P-INDEP
+;  V148 tmp133      [V148,T61] (  2,  4   )     int  ->  rdx         "field V73._length (fldOffset=0x8)" P-INDEP
 ;* V149 tmp134      [V149    ] (  0,  0   )   byref  ->  zero-ref    "field V74._reference (fldOffset=0x0)" P-INDEP
 ;* V150 tmp135      [V150    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
-;  V151 tmp136      [V151,T42] (  2,  8   )   byref  ->  r15         "field V79._reference (fldOffset=0x0)" P-INDEP
-;* V152 tmp137      [V152,T58] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
-;  V153 tmp138      [V153,T34] (  3,  8   )   byref  ->  rdx         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V154 tmp139      [V154,T36] (  3,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
-;  V155 tmp140      [V155,T55] (  2,  4   )   byref  ->  rdx         "field V84._reference (fldOffset=0x0)" P-INDEP
-;  V156 tmp141      [V156,T57] (  2,  4   )     int  ->  rdi         "field V84._length (fldOffset=0x8)" P-INDEP
+;  V151 tmp136      [V151,T41] (  2,  8   )   byref  ->  r15         "field V79._reference (fldOffset=0x0)" P-INDEP
+;* V152 tmp137      [V152,T63] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
+;  V153 tmp138      [V153,T33] (  3,  8   )   byref  ->  rdx         "field V82._reference (fldOffset=0x0)" P-INDEP
+;  V154 tmp139      [V154,T37] (  3,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
+;  V155 tmp140      [V155,T58] (  2,  4   )   byref  ->  rdx         "field V84._reference (fldOffset=0x0)" P-INDEP
+;  V156 tmp141      [V156,T62] (  2,  4   )     int  ->  rdi         "field V84._length (fldOffset=0x8)" P-INDEP
 ;* V157 tmp142      [V157    ] (  0,  0   )   byref  ->  zero-ref    "field V85._reference (fldOffset=0x0)" P-INDEP
 ;* V158 tmp143      [V158    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
-;  V159 tmp144      [V159,T43] (  2,  8   )   byref  ->  r15         "field V88._reference (fldOffset=0x0)" P-INDEP
-;  V160 tmp145      [V160,T47] (  2,  8   )     int  ->  rbx         "field V88._length (fldOffset=0x8)" P-INDEP
-;  V161 tmp146      [V161,T24] (  2, 16   )    long  ->  rdi         "Cast away GC"
-;  V162 tmp147      [V162,T25] (  2, 16   )    long  ->  rsi         "Cast away GC"
-;  V163 tmp148      [V163,T26] (  2, 16   )    long  ->  rdi         "argument with side effect"
-;  V164 tmp149      [V164,T27] (  2, 16   )    long  ->  rsi         "argument with side effect"
-;  V165 cse0        [V165,T50] (  3,  5   )    long  ->  [rbp-0x68]  spill-single-def "CSE #08: conservative"
-;  V166 rat0        [V166,T17] (  5, 16.50)    long  ->  [rbp-0x70]  "Widened IV V14"
-;  V167 rat1        [V167,T18] (  5, 16.50)    long  ->  [rbp-0x78]  "Widened IV V12"
+;  V159 tmp144      [V159,T42] (  2,  8   )   byref  ->  r15         "field V88._reference (fldOffset=0x0)" P-INDEP
+;  V160 tmp145      [V160,T46] (  2,  8   )     int  ->  rbx         "field V88._length (fldOffset=0x8)" P-INDEP
+;  V161 tmp146      [V161,T23] (  2, 16   )    long  ->  rdi         "Cast away GC"
+;  V162 tmp147      [V162,T24] (  2, 16   )    long  ->  rsi         "Cast away GC"
+;  V163 tmp148      [V163,T25] (  2, 16   )    long  ->  rdi         "argument with side effect"
+;  V164 tmp149      [V164,T26] (  2, 16   )    long  ->  rsi         "argument with side effect"
+;  V165 cse0        [V165,T53] (  3,  5   )    long  ->  [rbp-0x68]  spill-single-def "CSE #08: conservative"
+;  V166 cse1        [V166,T27] (  6, 13   )     int  ->  [rbp-0x6C]  spill-single-def "CSE #01: moderate"
+;  V167 rat0        [V167,T16] (  5, 16.50)    long  ->  [rbp-0x78]  "Widened IV V14"
+;  V168 rat1        [V168,T17] (  5, 16.50)    long  ->  r12         "Widened IV V12"
 ;
 ; Lcl frame size = 104
 
 G_M6373_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        lea      rbp, [rsp+0x90]
        xor      eax, eax
        mov      qword ptr [rbp-0x58], rax
        mov      qword ptr [rbp-0x60], rax
-       mov      r12, rdi
-       mov      r13d, esi
-       mov      r14, rdx
-       mov      rax, rcx
+       mov      r13, rdi
+       mov      r14d, esi
+       mov      rax, rdx
+       mov      r12, rcx
        mov      r15, r8
        mov      ebx, r9d
        mov      r9, bword ptr [rbp+0x10]
 						;; size=54 bbWeight=1 PerfScore 11.50
 G_M6373_IG02:
-       cmp      r13d, 1
+       cmp      r14d, 1
        jne      SHORT G_M6373_IG05
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M6373_IG03:
        mov      rdx, r15
        mov      ecx, ebx
-       mov      rdi, gword ptr [r12]
-       mov      rsi, rax
+       mov      rdi, gword ptr [r13]
+       mov      rsi, r12
        mov      r8, r9
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M6373_IG04:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG05:
-       test     r13d, r13d
+       test     r14d, r14d
        jne      SHORT G_M6373_IG07
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, r9
        mov      rdi, 0xD1FFAB1E      ; ''
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=38 bbWeight=0.50 PerfScore 3.00
 G_M6373_IG06:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG07:
        test     ebx, ebx
-       jle      G_M6373_IG23
-       lea      esi, [r13-0x01]
-       imul     esi, dword ptr [r14+0x08]
-       test     rax, rax
+       jle      G_M6373_IG22
+       mov      gword ptr [rbp-0x80], rax
+       mov      ecx, dword ptr [rax+0x08]
+       mov      dword ptr [rbp-0x6C], ecx
+       lea      esi, [r14-0x01]
+       imul     esi, ecx
+       test     r12, r12
        je       SHORT G_M6373_IG09
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M6373_IG46
-						;; size=41 bbWeight=0.50 PerfScore 6.12
+       je       G_M6373_IG47
+						;; size=49 bbWeight=0.50 PerfScore 6.62
 G_M6373_IG08:
        mov      rdi, 0xD1FFAB1E      ; data for System.Text.Latin1Encoding:s_default
-       cmp      rax, gword ptr [rdi]
+       cmp      r12, gword ptr [rdi]
        jne      SHORT G_M6373_IG13
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG09:
        xor      edi, edi
-       test     r13d, r13d
+       test     r14d, r14d
        jle      SHORT G_M6373_IG12
-       align    [5 bytes for IG10]
-						;; size=12 bbWeight=0.50 PerfScore 0.88
+       align    [0 bytes for IG10]
+						;; size=7 bbWeight=0.50 PerfScore 0.75
 G_M6373_IG10:
-       mov      ecx, edi
-       mov      rcx, gword ptr [r12+8*rcx]
-       add      esi, dword ptr [rcx+0x08]
+       mov      edx, edi
+       mov      rdx, gword ptr [r13+8*rdx]
+       add      esi, dword ptr [rdx+0x08]
        mov      dword ptr [rbp-0x2C], esi
        inc      edi
-       cmp      edi, r13d
+       cmp      edi, r14d
        mov      esi, dword ptr [rbp-0x2C]
        jl       SHORT G_M6373_IG10
-						;; size=22 bbWeight=4 PerfScore 35.00
+						;; size=23 bbWeight=4 PerfScore 35.00
 G_M6373_IG11:
-       mov      gword ptr [rbp-0x80], rax
        mov      bword ptr [rbp+0x10], r9
        jmp      SHORT G_M6373_IG17
-						;; size=10 bbWeight=2 PerfScore 8.00
+						;; size=6 bbWeight=2 PerfScore 6.00
 G_M6373_IG12:
-       mov      gword ptr [rbp-0x80], rax
        mov      bword ptr [rbp+0x10], r9
        jmp      SHORT G_M6373_IG17
-						;; size=10 bbWeight=0.25 PerfScore 1.00
+						;; size=6 bbWeight=0.25 PerfScore 0.75
 G_M6373_IG13:
        xor      edi, edi
-       xor      ecx, ecx
-       test     r13d, r13d
+       xor      edx, edx
+       test     r14d, r14d
        mov      bword ptr [rbp+0x10], r9
-       jle      SHORT G_M6373_IG20
+       jle      SHORT G_M6373_IG17
 						;; size=13 bbWeight=0.50 PerfScore 1.38
 G_M6373_IG14:
        mov      dword ptr [rbp-0x2C], esi
 						;; size=3 bbWeight=0.25 PerfScore 0.25
 G_M6373_IG15:
-       mov      dword ptr [rbp-0x3C], ecx
-       mov      edi, ecx
-       mov      rsi, gword ptr [r12+8*rdi]
-       mov      rdi, rax
-       mov      gword ptr [rbp-0x80], rax
-       mov      rdx, qword ptr [rax]
-       mov      rdx, qword ptr [rdx+0x50]
-       call     [rdx+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
+       mov      dword ptr [rbp-0x3C], edx
+       mov      edi, edx
+       mov      rsi, gword ptr [r13+8*rdi]
+       mov      rdi, r12
+       mov      r8, qword ptr [r12]
+       mov      r8, qword ptr [r8+0x50]
+       call     [r8+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
        mov      esi, eax
        add      esi, dword ptr [rbp-0x2C]
        mov      eax, esi
        mov      edx, dword ptr [rbp-0x3C]
        inc      edx
-       cmp      edx, r13d
-       mov      ecx, edx
+       cmp      edx, r14d
        jl       SHORT G_M6373_IG19
-						;; size=45 bbWeight=4 PerfScore 67.00
+						;; size=42 bbWeight=4 PerfScore 62.00
 G_M6373_IG16:
        mov      esi, eax
 						;; size=2 bbWeight=2 PerfScore 0.50
 G_M6373_IG17:
        mov      byte  ptr [r15], 0
        mov      rdx, r15
        mov      ecx, ebx
        lea      r8, [rbp-0x38]
        mov      dword ptr [rbp-0x2C], esi
        mov      edi, esi
        mov      esi, 7
        mov      r10, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        call     [r10]System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       SHORT G_M6373_IG18
        mov      esi, dword ptr [rbp-0x38]
        cmp      esi, ebx
-       jbe      SHORT G_M6373_IG21
-       jmp      G_M6373_IG49
+       jbe      SHORT G_M6373_IG20
+       jmp      G_M6373_IG50
 						;; size=52 bbWeight=0.50 PerfScore 6.12
 G_M6373_IG18:
        mov      r9, bword ptr [rbp+0x10]
-       jmp      SHORT G_M6373_IG23
+       jmp      SHORT G_M6373_IG22
 						;; size=6 bbWeight=0.25 PerfScore 0.75
 G_M6373_IG19:
        mov      dword ptr [rbp-0x2C], eax
-       mov      rax, gword ptr [rbp-0x80]
        jmp      SHORT G_M6373_IG15
-						;; size=9 bbWeight=2 PerfScore 8.00
+						;; size=5 bbWeight=2 PerfScore 6.00
 G_M6373_IG20:
-       mov      gword ptr [rbp-0x80], rax
-       jmp      SHORT G_M6373_IG17
-						;; size=6 bbWeight=0.25 PerfScore 0.75
-G_M6373_IG21:
        mov      eax, esi
        add      r15, rax
        sub      ebx, esi
        mov      esi, ebx
        mov      eax, dword ptr [rbp-0x2C]
        cmp      esi, eax
-       jl       SHORT G_M6373_IG22
-       cmp      gword ptr [rbp-0x80], 0
-       jne      SHORT G_M6373_IG25
-       mov      r8, gword ptr [r12]
+       jl       SHORT G_M6373_IG21
+       test     r12, r12
+       jne      SHORT G_M6373_IG24
+       mov      r12, gword ptr [r13]
        mov      rsi, r15
        mov      edx, ebx
-       mov      gword ptr [rbp-0x88], r8
-       mov      rdi, r8
+       mov      rdi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        call     [rcx]System.Net.Http.QPack.QPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
-       mov      r9, gword ptr [rbp-0x88]
-       mov      r9d, dword ptr [r9+0x08]
-       cmp      r9d, ebx
+       mov      r12d, dword ptr [r12+0x08]
+       cmp      r12d, ebx
        jbe      G_M6373_IG32
-       jmp      G_M6373_IG49
-						;; size=79 bbWeight=0.50 PerfScore 9.75
-G_M6373_IG22:
+       jmp      G_M6373_IG50
+						;; size=64 bbWeight=0.50 PerfScore 7.88
+G_M6373_IG21:
        mov      r9, bword ptr [rbp+0x10]
 						;; size=4 bbWeight=0.25 PerfScore 0.25
-G_M6373_IG23:
+G_M6373_IG22:
        xor      eax, eax
        mov      dword ptr [r9], eax
 						;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M6373_IG24:
+G_M6373_IG23:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M6373_IG25:
-       mov      r8, gword ptr [r12]
-       test     r8, r8
-       jne      SHORT G_M6373_IG26
+G_M6373_IG24:
+       mov      rcx, gword ptr [r13]
+       test     rcx, rcx
+       jne      SHORT G_M6373_IG25
        xor      rsi, rsi
        xor      edx, edx
-       jmp      SHORT G_M6373_IG27
+       jmp      SHORT G_M6373_IG26
 						;; size=15 bbWeight=0.50 PerfScore 2.88
+G_M6373_IG25:
+       lea      rsi, bword ptr [rcx+0x0C]
+       mov      edx, dword ptr [rcx+0x08]
+						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M6373_IG26:
-       lea      rsi, bword ptr [r8+0x0C]
-       mov      edx, dword ptr [r8+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.25
-G_M6373_IG27:
        mov      rcx, r15
        mov      r8d, ebx
-       mov      rdi, gword ptr [rbp-0x80]
-       mov      gword ptr [rbp-0x80], rdi
-       mov      r10, qword ptr [rdi]
+       mov      rdi, r12
+       mov      r10, qword ptr [r12]
        mov      r10, qword ptr [r10+0x58]
        mov      qword ptr [rbp-0x68], r10
        call     [r10+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
-       ja       G_M6373_IG49
+       ja       G_M6373_IG50
        mov      edx, eax
        add      r15, rdx
        sub      ebx, eax
-       mov      qword ptr [rbp-0x70], 1
-       cmp      r13d, 1
-       jle      G_M6373_IG44
-						;; size=62 bbWeight=0.50 PerfScore 7.38
-G_M6373_IG28:
-       lea      rsi, bword ptr [r14+0x10]
-       mov      edx, dword ptr [r14+0x08]
-       cmp      edx, ebx
-       ja       G_M6373_IG47
+       mov      qword ptr [rbp-0x78], 1
+       cmp      r14d, 1
+       jle      G_M6373_IG45
+						;; size=58 bbWeight=0.50 PerfScore 6.50
+G_M6373_IG27:
        mov      rdi, r15
+       mov      edx, ebx
+       mov      r8, gword ptr [rbp-0x80]
+       lea      rsi, bword ptr [r8+0x10]
+       mov      r9d, dword ptr [rbp-0x6C]
+       mov      eax, r9d
+       cmp      eax, edx
+       ja       G_M6373_IG48
+						;; size=28 bbWeight=2 PerfScore 9.00
+G_M6373_IG28:
+       mov      edx, eax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
-       mov      ecx, dword ptr [r14+0x08]
+       mov      eax, dword ptr [rbp-0x6C]
+       mov      ecx, eax
        cmp      ecx, ebx
-       ja       G_M6373_IG49
+       ja       G_M6373_IG50
        mov      r8d, ecx
        add      r8, r15
        mov      esi, ebx
        sub      esi, ecx
        mov      r15, r8
        mov      ebx, esi
-       mov      rax, qword ptr [rbp-0x70]
-       mov      rcx, gword ptr [r12+8*rax]
+       mov      r9, qword ptr [rbp-0x78]
+       mov      rcx, gword ptr [r13+8*r9]
        test     rcx, rcx
        jne      SHORT G_M6373_IG30
-						;; size=71 bbWeight=4 PerfScore 65.00
+						;; size=56 bbWeight=4 PerfScore 47.00
 G_M6373_IG29:
        xor      rdx, rdx
        xor      edi, edi
        jmp      SHORT G_M6373_IG31
 						;; size=6 bbWeight=2 PerfScore 5.00
 G_M6373_IG30:
        lea      rdx, bword ptr [rcx+0x0C]
        mov      edi, dword ptr [rcx+0x08]
 						;; size=7 bbWeight=2 PerfScore 5.00
 G_M6373_IG31:
        mov      rcx, r15
        mov      r8d, esi
        mov      rsi, rdx
        mov      edx, edi
-       mov      rdi, gword ptr [rbp-0x80]
-       mov      r9, qword ptr [rbp-0x68]
-       call     [r9+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
+       mov      rdi, r12
+       mov      r10, qword ptr [rbp-0x68]
+       call     [r10+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
-       ja       G_M6373_IG49
+       ja       G_M6373_IG50
        mov      edx, eax
        add      rdx, r15
        sub      ebx, eax
        mov      r15, rdx
-       mov      rdx, qword ptr [rbp-0x70]
+       mov      rdx, qword ptr [rbp-0x78]
        inc      edx
-       cmp      edx, r13d
-       mov      qword ptr [rbp-0x70], rdx
-       jl       G_M6373_IG28
-       jmp      G_M6373_IG44
-						;; size=65 bbWeight=4 PerfScore 55.00
+       cmp      edx, r14d
+       mov      qword ptr [rbp-0x78], rdx
+       jl       G_M6373_IG27
+       jmp      G_M6373_IG45
+						;; size=64 bbWeight=4 PerfScore 52.00
 G_M6373_IG32:
-       mov      edx, r9d
+       mov      edx, r12d
        add      rdx, r15
-       sub      ebx, r9d
+       sub      ebx, r12d
        mov      r15, rdx
-       mov      qword ptr [rbp-0x78], 1
-       cmp      r13d, 1
-       jle      G_M6373_IG44
-						;; size=30 bbWeight=0.50 PerfScore 1.62
+       mov      r12d, 1
+       cmp      r14d, 1
+       jle      G_M6373_IG45
+						;; size=28 bbWeight=0.50 PerfScore 1.25
 G_M6373_IG33:
-       lea      rsi, bword ptr [r14+0x10]
-       mov      edx, dword ptr [r14+0x08]
-       cmp      edx, ebx
-       ja       G_M6373_IG47
        mov      rdi, r15
-       mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
-       call     [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
-       mov      edi, dword ptr [r14+0x08]
+       mov      edx, ebx
+       mov      rax, gword ptr [rbp-0x80]
+       lea      rsi, bword ptr [rax+0x10]
+       mov      ecx, dword ptr [rbp-0x6C]
+       mov      r8d, ecx
+       cmp      r8d, edx
+       ja       G_M6373_IG48
+						;; size=28 bbWeight=2 PerfScore 9.00
+G_M6373_IG34:
+       mov      edx, r8d
+       mov      r8, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+       call     [r8]System.SpanHelpers:Memmove(byref,byref,ulong)
+       mov      eax, dword ptr [rbp-0x6C]
+       mov      edi, eax
        cmp      edi, ebx
-       ja       G_M6373_IG49
-       mov      eax, edi
-       add      r15, rax
+       ja       G_M6373_IG50
+       mov      ecx, edi
+       add      r15, rcx
        sub      ebx, edi
-       mov      rax, qword ptr [rbp-0x78]
-       mov      r9, gword ptr [r12+8*rax]
-       mov      rcx, r9
+       mov      rdi, gword ptr [r13+8*r12]
+       mov      rcx, rdi
        test     rcx, rcx
-       jne      SHORT G_M6373_IG35
-						;; size=66 bbWeight=4 PerfScore 63.00
-G_M6373_IG34:
+       jne      SHORT G_M6373_IG36
+						;; size=49 bbWeight=4 PerfScore 41.00
+G_M6373_IG35:
        xor      rdi, rdi
        xor      esi, esi
-       jmp      SHORT G_M6373_IG36
+       jmp      SHORT G_M6373_IG37
 						;; size=6 bbWeight=2 PerfScore 5.00
-G_M6373_IG35:
+G_M6373_IG36:
        lea      rdi, bword ptr [rcx+0x0C]
        mov      gword ptr [rbp-0x88], rcx
        mov      esi, dword ptr [rcx+0x08]
        mov      rcx, gword ptr [rbp-0x88]
 						;; size=21 bbWeight=2 PerfScore 9.00
-G_M6373_IG36:
+G_M6373_IG37:
        cmp      esi, ebx
-       jg       SHORT G_M6373_IG38
+       jg       SHORT G_M6373_IG39
 						;; size=4 bbWeight=4 PerfScore 5.00
-G_M6373_IG37:
+G_M6373_IG38:
        mov      r8d, esi
        xor      r9d, r9d
        mov      gword ptr [rbp-0x88], rcx
        mov      dword ptr [rbp-0x4C], r9d
-       jmp      SHORT G_M6373_IG39
+       jmp      SHORT G_M6373_IG40
 						;; size=19 bbWeight=2 PerfScore 9.00
-G_M6373_IG38:
+G_M6373_IG39:
        mov      r8d, ebx
        mov      dword ptr [rbp-0x4C], 1
        mov      gword ptr [rbp-0x88], rcx
 						;; size=17 bbWeight=2 PerfScore 4.50
-G_M6373_IG39:
+G_M6373_IG40:
        mov      bword ptr [rbp-0x58], rdi
        mov      bword ptr [rbp-0x60], r15
        mov      rsi, r15
        mov      qword ptr [rbp-0x48], r8
        mov      rdx, r8
        mov      r10, 0xD1FFAB1E      ; code for System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        call     [r10]System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        cmp      rax, qword ptr [rbp-0x48]
-       je       SHORT G_M6373_IG41
+       je       SHORT G_M6373_IG42
 						;; size=37 bbWeight=4 PerfScore 39.00
-G_M6373_IG40:
+G_M6373_IG41:
        mov      eax, 3
-       jmp      SHORT G_M6373_IG42
+       jmp      SHORT G_M6373_IG43
 						;; size=7 bbWeight=2 PerfScore 4.50
-G_M6373_IG41:
+G_M6373_IG42:
        mov      eax, dword ptr [rbp-0x4C]
 						;; size=3 bbWeight=2 PerfScore 2.00
-G_M6373_IG42:
+G_M6373_IG43:
        xor      rdi, rdi
        mov      bword ptr [rbp-0x58], rdi
 						;; size=6 bbWeight=4 PerfScore 5.00
-G_M6373_IG43:
+G_M6373_IG44:
        mov      bword ptr [rbp-0x60], rdi
        cmp      eax, 3
-       je       G_M6373_IG48
+       je       SHORT G_M6373_IG49
        mov      rax, gword ptr [rbp-0x88]
        mov      eax, dword ptr [rax+0x08]
        cmp      eax, ebx
-       ja       G_M6373_IG49
+       ja       G_M6373_IG50
        mov      edi, eax
        add      r15, rdi
        sub      ebx, eax
-       mov      rax, qword ptr [rbp-0x78]
-       inc      eax
-       cmp      eax, r13d
-       mov      qword ptr [rbp-0x78], rax
+       inc      r12d
+       cmp      r12d, r14d
        jl       G_M6373_IG33
-						;; size=57 bbWeight=4 PerfScore 43.00
-G_M6373_IG44:
-       mov      ebx, dword ptr [rbp-0x2C]
-       mov      eax, ebx
+						;; size=46 bbWeight=4 PerfScore 35.00
+G_M6373_IG45:
+       mov      r12d, dword ptr [rbp-0x2C]
+       mov      eax, r12d
        add      eax, dword ptr [rbp-0x38]
        mov      rbx, bword ptr [rbp+0x10]
        mov      dword ptr [rbx], eax
        mov      eax, 1
-						;; size=19 bbWeight=0.50 PerfScore 2.75
-G_M6373_IG45:
+						;; size=21 bbWeight=0.50 PerfScore 2.75
+G_M6373_IG46:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M6373_IG46:
-       mov      gword ptr [rbp-0x80], rax
+G_M6373_IG47:
        mov      dword ptr [rbp-0x2C], esi
        mov      bword ptr [rbp+0x10], r9
        mov      rdi, 0xD1FFAB1E      ; System.Text.Latin1Encoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rax, gword ptr [rbp-0x80]
        mov      esi, dword ptr [rbp-0x2C]
        mov      r9, bword ptr [rbp+0x10]
        jmp      G_M6373_IG08
-						;; size=42 bbWeight=0 PerfScore 0.00
-G_M6373_IG47:
+						;; size=34 bbWeight=0 PerfScore 0.00
+G_M6373_IG48:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M6373_IG48:
+G_M6373_IG49:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.QPack.QPackEncodingException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_http_request_invalid_char_encoding():System.String
        call     [rax]System.SR:get_net_http_request_invalid_char_encoding():System.String
        mov      r15, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Exception:.ctor():this
        call     [rax]System.Exception:.ctor():this
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=69 bbWeight=0 PerfScore 0.00
-G_M6373_IG49:
+G_M6373_IG50:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1183, prolog size 54, PerfScore 510.88, instruction count 344, allocated bytes for code 1183 (MethodHash=9010e71a) for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 1150, prolog size 54, PerfScore 465.12, instruction count 342, allocated bytes for code 1150 (MethodHash=9010e71a) for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
-30 (-7.32 % of base) - System.Text.Json.Serialization.Converters.MemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this
 ; Assembly listing for method System.Text.Json.Serialization.Converters.MemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  r15         this class-hnd single-def <System.Text.Json.Serialization.Converters.MemoryConverter`1[System.__Canon]>
+;  V00 this         [V00,T07] (  3,  3   )     ref  ->  r15         this class-hnd single-def <System.Text.Json.Serialization.Converters.MemoryConverter`1[System.__Canon]>
 ;  V01 arg1         [V01,T02] (  4,  4   )   byref  ->  rbx         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Text.Json.JsonSerializerOptions>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (16) zero-ref    <System.Memory`1[System.__Canon]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T16] (  3,  3   )    long  ->  r13         "spilling helperCall"
+;  V05 tmp1         [V05,T14] (  3,  3   )    long  ->  r13         "spilling helperCall"
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V07 tmp3         [V07,T00] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <System.Memory`1[System.__Canon]>
 ;* V08 tmp4         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V09 tmp5         [V09,T14] (  2,  4   )   byref  ->  rbx         single-def "impImportAndPushBox"
-;  V10 tmp6         [V10,T03] (  4,  6   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <System.__Canon[]>
-;* V11 tmp7         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[System.__Canon]>
-;  V12 tmp8         [V12,T11] (  4,  4.40)    long  ->  r12         "Inlining Arg"
-;* V13 tmp9         [V13    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V14 tmp10        [V14,T15] (  4,  3.20)    long  ->  rdi         "Inlining Arg"
-;  V15 tmp11        [V15,T20] (  3,  2   )    long  ->  rax         "spilling helperCall"
-;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V03._object (fldOffset=0x0)" P-INDEP
-;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V03._index (fldOffset=0x8)" P-INDEP
-;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0xc)" P-INDEP
-;  V19 tmp15        [V19,T18] (  4,  2.50)     ref  ->  r12         "field V11._object (fldOffset=0x0)" P-INDEP
-;* V20 tmp16        [V20,T22] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x8)" P-INDEP
-;  V21 tmp17        [V21,T21] (  3,  2   )     int  ->  r13         "field V11._length (fldOffset=0xc)" P-INDEP
-;  V22 cse0         [V22,T10] (  6,  4.40)    long  ->  r14         "CSE #01: aggressive"
-;  V23 rat0         [V23,T09] (  3,  4.50)     ref  ->  rsi         "Spilling to split statement for tree"
-;  V24 rat1         [V24,T01] (  5,  7.50)     ref  ->  rdi         "replacement local"
-;  V25 rat2         [V25,T19] (  3,  2.50)    long  ->  r13         "CSE for expectedClsNode"
-;  V26 rat3         [V26,T12] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V27 rat4         [V27,T04] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
-;  V28 rat5         [V28,T05] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
-;  V29 rat6         [V29,T06] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V30 rat7         [V30,T17] (  3,  2.80)    long  ->  rax         "fgMakeTemp is creating a new local variable"
-;  V31 rat8         [V31,T13] (  3,  4   )    long  ->  rdi         "runtime lookup"
-;  V32 rat9         [V32,T07] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V09 tmp5         [V09,T12] (  2,  4   )   byref  ->  rbx         single-def "impImportAndPushBox"
+;* V10 tmp6         [V10    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Memory`1[System.__Canon]>
+;  V11 tmp7         [V11,T03] (  4,  6   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <System.__Canon[]>
+;* V12 tmp8         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Memory`1[System.__Canon]>
+;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[System.__Canon]>
+;  V14 tmp10        [V14,T13] (  4,  3.20)    long  ->  r12         "Inlining Arg"
+;* V15 tmp11        [V15    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V16 tmp12        [V16,T18] (  4,  2.20)    long  ->  rdi         "Inlining Arg"
+;  V17 tmp13        [V17,T20] (  3,  2   )    long  ->  rax         "spilling helperCall"
+;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V03._object (fldOffset=0x0)" P-INDEP
+;* V19 tmp15        [V19    ] (  0,  0   )     int  ->  zero-ref    "field V03._index (fldOffset=0x8)" P-INDEP
+;* V20 tmp16        [V20    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0xc)" P-INDEP
+;  V21 tmp17        [V21,T19] (  3,  2   )     ref  ->  r13         "field V10._object (fldOffset=0x0)" P-INDEP
+;* V22 tmp18        [V22,T23] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x8)" P-INDEP
+;  V23 tmp19        [V23,T21] (  3,  2   )     int  ->  r12         "field V10._length (fldOffset=0xc)" P-INDEP
+;* V24 tmp20        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._object (fldOffset=0x0)" P-INDEP
+;* V25 tmp21        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x8)" P-INDEP
+;* V26 tmp22        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0xc)" P-INDEP
+;  V27 tmp23        [V27,T22] (  3,  1.50)     ref  ->  r13         single-def "field V13._object (fldOffset=0x0)" P-INDEP
+;* V28 tmp24        [V28,T25] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x8)" P-INDEP
+;  V29 tmp25        [V29,T24] (  2,  1   )     int  ->  r12         "field V13._length (fldOffset=0xc)" P-INDEP
+;  V30 cse0         [V30,T09] (  6,  4.40)    long  ->  r14         "CSE #01: aggressive"
+;  V31 rat0         [V31,T08] (  3,  4.50)     ref  ->  rsi         "Spilling to split statement for tree"
+;  V32 rat1         [V32,T01] (  5,  7.50)     ref  ->  rdi         "replacement local"
+;  V33 rat2         [V33,T17] (  3,  2.50)    long  ->  r13         "CSE for expectedClsNode"
+;  V34 rat3         [V34,T10] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V35 rat4         [V35,T04] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
+;  V36 rat5         [V36,T05] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
+;  V37 rat6         [V37,T15] (  3,  2.80)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V38 rat7         [V38,T16] (  3,  2.80)    long  ->  rax         "fgMakeTemp is creating a new local variable"
+;  V39 rat8         [V39,T11] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V40 rat9         [V40,T06] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M62907_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      qword ptr [rbp-0x30], rdi
        mov      r15, rdi
        mov      rbx, rsi
 						;; size=26 bbWeight=1 PerfScore 9.00
 G_M62907_IG02:
        mov      r14, qword ptr [r15]
        mov      rdi, r14
        mov      rsi, qword ptr [rdi+0x30]
        mov      rsi, qword ptr [rsi+0x18]
        mov      r13, qword ptr [rsi+0x10]
        test     r13, r13
-       je       G_M62907_IG13
-						;; size=27 bbWeight=1 PerfScore 9.50
+       je       SHORT G_M62907_IG11
+						;; size=23 bbWeight=1 PerfScore 9.50
 G_M62907_IG03:
        mov      rdi, qword ptr [r14+0x30]
        mov      rdi, qword ptr [rdi+0x18]
        mov      r12, qword ptr [rdi+0x18]
        test     r12, r12
-       je       G_M62907_IG14
-						;; size=21 bbWeight=1 PerfScore 7.25
+       je       SHORT G_M62907_IG12
+						;; size=17 bbWeight=1 PerfScore 7.25
 G_M62907_IG04:
        mov      rsi, gword ptr [rbx+0x50]
        mov      rdi, rsi
        test     rdi, rdi
        je       SHORT G_M62907_IG07
 						;; size=12 bbWeight=1 PerfScore 3.50
 G_M62907_IG05:
        cmp      qword ptr [rdi], r13
        je       SHORT G_M62907_IG07
 						;; size=5 bbWeight=0.50 PerfScore 2.00
 G_M62907_IG06:
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      rdi, rax
 						;; size=18 bbWeight=0.25 PerfScore 0.94
 G_M62907_IG07:
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
        mov      r13, rax
+       test     r13, r13
+       je       SHORT G_M62907_IG13
+						;; size=22 bbWeight=1 PerfScore 7.75
+G_M62907_IG08:
        mov      rdi, qword ptr [r12+0x18]
        mov      rdi, qword ptr [rdi+0x10]
        test     rdi, rdi
-       je       G_M62907_IG15
-						;; size=35 bbWeight=1 PerfScore 11.75
-G_M62907_IG08:
-       test     r13, r13
-       jne      G_M62907_IG16
-						;; size=9 bbWeight=1 PerfScore 1.25
+       je       SHORT G_M62907_IG14
+						;; size=14 bbWeight=0.50 PerfScore 2.62
 G_M62907_IG09:
-       xor      r12, r12
-       xor      r13d, r13d
-						;; size=6 bbWeight=0.50 PerfScore 0.25
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      rax, qword ptr [rsi+0x10]
+       test     rax, rax
+       je       SHORT G_M62907_IG15
+						;; size=16 bbWeight=0.50 PerfScore 3.62
 G_M62907_IG10:
+       cmp      qword ptr [r13], rax
+       je       SHORT G_M62907_IG16
+       jmp      G_M62907_IG21
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M62907_IG11:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      r13, rax
+       jmp      G_M62907_IG03
+						;; size=23 bbWeight=0.20 PerfScore 0.70
+G_M62907_IG12:
+       mov      rdi, r14
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      r12, rax
+       jmp      G_M62907_IG04
+						;; size=26 bbWeight=0.20 PerfScore 0.75
+G_M62907_IG13:
+       xor      r13, r13
+       xor      r12d, r12d
+       jmp      SHORT G_M62907_IG17
+						;; size=8 bbWeight=0.50 PerfScore 1.25
+G_M62907_IG14:
+       mov      rdi, r12
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rdi, rax
+       jmp      SHORT G_M62907_IG09
+						;; size=23 bbWeight=0.10 PerfScore 0.38
+G_M62907_IG15:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       jmp      SHORT G_M62907_IG10
+						;; size=17 bbWeight=0.10 PerfScore 0.33
+G_M62907_IG16:
+       mov      r12d, dword ptr [r13+0x08]
+						;; size=4 bbWeight=0.50 PerfScore 1.00
+G_M62907_IG17:
        mov      rdi, qword ptr [r14+0x30]
        mov      rdi, qword ptr [rdi+0x18]
        mov      rdi, qword ptr [rdi+0x20]
        test     rdi, rdi
-       je       G_M62907_IG20
-						;; size=21 bbWeight=1 PerfScore 7.25
-G_M62907_IG11:
+       je       SHORT G_M62907_IG20
+						;; size=17 bbWeight=1 PerfScore 7.25
+G_M62907_IG18:
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        add      rbx, 48
        lea      rdi, bword ptr [r14+0x08]
-       mov      rsi, r12
+       mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
        mov      dword ptr [r14+0x10], edi
-       mov      dword ptr [r14+0x14], r13d
+       mov      dword ptr [r14+0x14], r12d
        lea      rdi, bword ptr [rbx+0x20]
        mov      rsi, r14
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        nop      
 						;; size=47 bbWeight=1 PerfScore 7.50
-G_M62907_IG12:
+G_M62907_IG19:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M62907_IG13:
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
-       mov      r13, rax
-       jmp      G_M62907_IG03
-						;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M62907_IG14:
-       mov      rdi, r14
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
-       mov      r12, rax
-       jmp      G_M62907_IG04
-						;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M62907_IG15:
-       mov      rdi, r12
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
-       mov      rdi, rax
-       jmp      G_M62907_IG08
-						;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M62907_IG16:
-       mov      rsi, qword ptr [rdi+0x30]
-       mov      rsi, qword ptr [rsi]
-       mov      rax, qword ptr [rsi+0x10]
-       test     rax, rax
-       je       SHORT G_M62907_IG18
-						;; size=16 bbWeight=0.50 PerfScore 3.62
-G_M62907_IG17:
-       cmp      qword ptr [r13], rax
-       je       SHORT G_M62907_IG19
-       jmp      SHORT G_M62907_IG21
-						;; size=8 bbWeight=0.50 PerfScore 3.00
-G_M62907_IG18:
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
-       jmp      SHORT G_M62907_IG17
-						;; size=17 bbWeight=0.10 PerfScore 0.33
-G_M62907_IG19:
-       mov      r12, r13
-       mov      r13d, dword ptr [r12+0x08]
-       jmp      G_M62907_IG10
-						;; size=13 bbWeight=0.50 PerfScore 2.12
 G_M62907_IG20:
        mov      rdi, r14
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        mov      rdi, rax
-       jmp      G_M62907_IG11
-						;; size=26 bbWeight=0.20 PerfScore 0.75
+       jmp      SHORT G_M62907_IG18
+						;; size=23 bbWeight=0.20 PerfScore 0.75
 G_M62907_IG21:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArrayTypeMismatchException()
        call     [rax]System.ThrowHelper:ThrowArrayTypeMismatchException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 410, prolog size 20, PerfScore 76.46, instruction count 107, allocated bytes for code 410 (MethodHash=0c610a44) for method System.Text.Json.Serialization.Converters.MemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this (FullOpts)
+; Total bytes of code 380, prolog size 20, PerfScore 73.34, instruction count 106, allocated bytes for code 380 (MethodHash=0c610a44) for method System.Text.Json.Serialization.Converters.MemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this (FullOpts)
-30 (-7.32 % of base) - System.Text.Json.Serialization.Converters.ReadOnlyMemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this
 ; Assembly listing for method System.Text.Json.Serialization.Converters.ReadOnlyMemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  r15         this class-hnd single-def <System.Text.Json.Serialization.Converters.ReadOnlyMemoryConverter`1[System.__Canon]>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  r15         this class-hnd single-def <System.Text.Json.Serialization.Converters.ReadOnlyMemoryConverter`1[System.__Canon]>
 ;  V01 arg1         [V01,T02] (  4,  4   )   byref  ->  rbx         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Text.Json.JsonSerializerOptions>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlyMemory`1[System.__Canon]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T16] (  3,  3   )    long  ->  r13         "spilling helperCall"
+;  V05 tmp1         [V05,T15] (  3,  3   )    long  ->  r13         "spilling helperCall"
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp3         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp4         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[System.__Canon]>
 ;  V09 tmp5         [V09,T00] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <System.ReadOnlyMemory`1[System.__Canon]>
 ;* V10 tmp6         [V10    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V11 tmp7         [V11,T14] (  2,  4   )   byref  ->  rbx         single-def "impImportAndPushBox"
-;  V12 tmp8         [V12,T03] (  4,  6   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <System.__Canon[]>
-;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[System.__Canon]>
-;  V14 tmp10        [V14,T11] (  4,  4.40)    long  ->  r12         "Inlining Arg"
-;* V15 tmp11        [V15    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V16 tmp12        [V16,T15] (  4,  3.20)    long  ->  rdi         "Inlining Arg"
-;  V17 tmp13        [V17,T20] (  3,  2   )    long  ->  rax         "spilling helperCall"
-;* V18 tmp14        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[System.__Canon]>
-;* V19 tmp15        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V03._object (fldOffset=0x0)" P-INDEP
-;* V20 tmp16        [V20    ] (  0,  0   )     int  ->  zero-ref    "field V03._index (fldOffset=0x8)" P-INDEP
-;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0xc)" P-INDEP
-;* V22 tmp18        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V08._object (fldOffset=0x0)" P-INDEP
-;* V23 tmp19        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V08._index (fldOffset=0x8)" P-INDEP
-;* V24 tmp20        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0xc)" P-INDEP
-;  V25 tmp21        [V25,T18] (  4,  2.50)     ref  ->  r12         "field V13._object (fldOffset=0x0)" P-INDEP
-;* V26 tmp22        [V26,T22] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x8)" P-INDEP
-;  V27 tmp23        [V27,T21] (  3,  2   )     int  ->  r13         "field V13._length (fldOffset=0xc)" P-INDEP
-;* V28 tmp24        [V28    ] (  0,  0   )     ref  ->  zero-ref    "field V18._object (fldOffset=0x0)" P-INDEP
-;* V29 tmp25        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V18._index (fldOffset=0x8)" P-INDEP
-;* V30 tmp26        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0xc)" P-INDEP
-;  V31 cse0         [V31,T10] (  6,  4.40)    long  ->  r14         "CSE #01: moderate"
-;  V32 rat0         [V32,T09] (  3,  4.50)     ref  ->  rsi         "Spilling to split statement for tree"
-;  V33 rat1         [V33,T01] (  5,  7.50)     ref  ->  rdi         "replacement local"
-;  V34 rat2         [V34,T19] (  3,  2.50)    long  ->  r13         "CSE for expectedClsNode"
-;  V35 rat3         [V35,T12] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V36 rat4         [V36,T04] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
-;  V37 rat5         [V37,T05] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
-;  V38 rat6         [V38,T06] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V39 rat7         [V39,T17] (  3,  2.80)    long  ->  rax         "fgMakeTemp is creating a new local variable"
-;  V40 rat8         [V40,T13] (  3,  4   )    long  ->  rdi         "runtime lookup"
-;  V41 rat9         [V41,T07] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V11 tmp7         [V11,T13] (  2,  4   )   byref  ->  rbx         single-def "impImportAndPushBox"
+;* V12 tmp8         [V12    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Memory`1[System.__Canon]>
+;  V13 tmp9         [V13,T03] (  4,  6   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <System.__Canon[]>
+;* V14 tmp10        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Memory`1[System.__Canon]>
+;* V15 tmp11        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[System.__Canon]>
+;  V16 tmp12        [V16,T14] (  4,  3.20)    long  ->  r12         "Inlining Arg"
+;* V17 tmp13        [V17    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V18 tmp14        [V18,T19] (  4,  2.20)    long  ->  rdi         "Inlining Arg"
+;  V19 tmp15        [V19,T21] (  3,  2   )    long  ->  rax         "spilling helperCall"
+;* V20 tmp16        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[System.__Canon]>
+;* V21 tmp17        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V03._object (fldOffset=0x0)" P-INDEP
+;* V22 tmp18        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V03._index (fldOffset=0x8)" P-INDEP
+;* V23 tmp19        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0xc)" P-INDEP
+;* V24 tmp20        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V08._object (fldOffset=0x0)" P-INDEP
+;* V25 tmp21        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V08._index (fldOffset=0x8)" P-INDEP
+;* V26 tmp22        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0xc)" P-INDEP
+;  V27 tmp23        [V27,T20] (  3,  2   )     ref  ->  r13         "field V12._object (fldOffset=0x0)" P-INDEP
+;* V28 tmp24        [V28,T25] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x8)" P-INDEP
+;  V29 tmp25        [V29,T22] (  3,  2   )     int  ->  r12         "field V12._length (fldOffset=0xc)" P-INDEP
+;* V30 tmp26        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14._object (fldOffset=0x0)" P-INDEP
+;* V31 tmp27        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x8)" P-INDEP
+;* V32 tmp28        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0xc)" P-INDEP
+;  V33 tmp29        [V33,T24] (  3,  1.50)     ref  ->  r13         single-def "field V15._object (fldOffset=0x0)" P-INDEP
+;* V34 tmp30        [V34,T27] (  0,  0   )     int  ->  zero-ref    "field V15._index (fldOffset=0x8)" P-INDEP
+;  V35 tmp31        [V35,T26] (  2,  1   )     int  ->  r12         "field V15._length (fldOffset=0xc)" P-INDEP
+;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V20._object (fldOffset=0x0)" P-INDEP
+;* V37 tmp33        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V20._index (fldOffset=0x8)" P-INDEP
+;* V38 tmp34        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0xc)" P-INDEP
+;  V39 cse0         [V39,T04] (  6,  4.40)    long  ->  r14         "CSE #01: aggressive"
+;  V40 rat0         [V40,T10] (  3,  4.50)     ref  ->  rsi         "Spilling to split statement for tree"
+;  V41 rat1         [V41,T01] (  5,  7.50)     ref  ->  rdi         "replacement local"
+;  V42 rat2         [V42,T18] (  3,  2.50)    long  ->  r13         "CSE for expectedClsNode"
+;  V43 rat3         [V43,T11] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V44 rat4         [V44,T05] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
+;  V45 rat5         [V45,T06] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
+;  V46 rat6         [V46,T16] (  3,  2.80)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V47 rat7         [V47,T17] (  3,  2.80)    long  ->  rax         "fgMakeTemp is creating a new local variable"
+;* V48 rat8         [V48,T23] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V49 rat9         [V49,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
+;  V50 rat10        [V50,T12] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V51 rat11        [V51,T08] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M47357_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      qword ptr [rbp-0x30], rdi
        mov      r15, rdi
        mov      rbx, rsi
 						;; size=26 bbWeight=1 PerfScore 9.00
 G_M47357_IG02:
        mov      r14, qword ptr [r15]
        mov      rdi, r14
        mov      rsi, qword ptr [rdi+0x30]
        mov      rsi, qword ptr [rsi+0x18]
        mov      r13, qword ptr [rsi+0x10]
        test     r13, r13
-       je       G_M47357_IG13
-						;; size=27 bbWeight=1 PerfScore 9.50
+       je       SHORT G_M47357_IG11
+						;; size=23 bbWeight=1 PerfScore 9.50
 G_M47357_IG03:
        mov      rdi, qword ptr [r14+0x30]
        mov      rdi, qword ptr [rdi+0x18]
        mov      r12, qword ptr [rdi+0x18]
        test     r12, r12
-       je       G_M47357_IG14
-						;; size=21 bbWeight=1 PerfScore 7.25
+       je       SHORT G_M47357_IG12
+						;; size=17 bbWeight=1 PerfScore 7.25
 G_M47357_IG04:
        mov      rsi, gword ptr [rbx+0x50]
        mov      rdi, rsi
        test     rdi, rdi
        je       SHORT G_M47357_IG07
 						;; size=12 bbWeight=1 PerfScore 3.50
 G_M47357_IG05:
        cmp      qword ptr [rdi], r13
        je       SHORT G_M47357_IG07
 						;; size=5 bbWeight=0.50 PerfScore 2.00
 G_M47357_IG06:
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      rdi, rax
 						;; size=18 bbWeight=0.25 PerfScore 0.94
 G_M47357_IG07:
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
        mov      r13, rax
+       test     r13, r13
+       je       SHORT G_M47357_IG13
+						;; size=22 bbWeight=1 PerfScore 7.75
+G_M47357_IG08:
        mov      rdi, qword ptr [r12+0x18]
        mov      rdi, qword ptr [rdi+0x10]
        test     rdi, rdi
-       je       G_M47357_IG15
-						;; size=35 bbWeight=1 PerfScore 11.75
-G_M47357_IG08:
-       test     r13, r13
-       jne      G_M47357_IG16
-						;; size=9 bbWeight=1 PerfScore 1.25
+       je       SHORT G_M47357_IG14
+						;; size=14 bbWeight=0.50 PerfScore 2.62
 G_M47357_IG09:
-       xor      r12, r12
-       xor      r13d, r13d
-						;; size=6 bbWeight=0.50 PerfScore 0.25
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      rax, qword ptr [rsi+0x10]
+       test     rax, rax
+       je       SHORT G_M47357_IG15
+						;; size=16 bbWeight=0.50 PerfScore 3.62
 G_M47357_IG10:
+       cmp      qword ptr [r13], rax
+       je       SHORT G_M47357_IG16
+       jmp      G_M47357_IG21
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M47357_IG11:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      r13, rax
+       jmp      G_M47357_IG03
+						;; size=23 bbWeight=0.20 PerfScore 0.70
+G_M47357_IG12:
+       mov      rdi, r14
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      r12, rax
+       jmp      G_M47357_IG04
+						;; size=26 bbWeight=0.20 PerfScore 0.75
+G_M47357_IG13:
+       xor      r13, r13
+       xor      r12d, r12d
+       jmp      SHORT G_M47357_IG17
+						;; size=8 bbWeight=0.50 PerfScore 1.25
+G_M47357_IG14:
+       mov      rdi, r12
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rdi, rax
+       jmp      SHORT G_M47357_IG09
+						;; size=23 bbWeight=0.10 PerfScore 0.38
+G_M47357_IG15:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       jmp      SHORT G_M47357_IG10
+						;; size=17 bbWeight=0.10 PerfScore 0.33
+G_M47357_IG16:
+       mov      r12d, dword ptr [r13+0x08]
+						;; size=4 bbWeight=0.50 PerfScore 1.00
+G_M47357_IG17:
        mov      rdi, qword ptr [r14+0x30]
        mov      rdi, qword ptr [rdi+0x18]
        mov      rdi, qword ptr [rdi+0x28]
        test     rdi, rdi
-       je       G_M47357_IG20
-						;; size=21 bbWeight=1 PerfScore 7.25
-G_M47357_IG11:
+       je       SHORT G_M47357_IG20
+						;; size=17 bbWeight=1 PerfScore 7.25
+G_M47357_IG18:
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        add      rbx, 48
        lea      rdi, bword ptr [r14+0x08]
-       mov      rsi, r12
+       mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
        mov      dword ptr [r14+0x10], edi
-       mov      dword ptr [r14+0x14], r13d
+       mov      dword ptr [r14+0x14], r12d
        lea      rdi, bword ptr [rbx+0x20]
        mov      rsi, r14
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        nop      
 						;; size=47 bbWeight=1 PerfScore 7.50
-G_M47357_IG12:
+G_M47357_IG19:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M47357_IG13:
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
-       mov      r13, rax
-       jmp      G_M47357_IG03
-						;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M47357_IG14:
-       mov      rdi, r14
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
-       mov      r12, rax
-       jmp      G_M47357_IG04
-						;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M47357_IG15:
-       mov      rdi, r12
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
-       mov      rdi, rax
-       jmp      G_M47357_IG08
-						;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M47357_IG16:
-       mov      rsi, qword ptr [rdi+0x30]
-       mov      rsi, qword ptr [rsi]
-       mov      rax, qword ptr [rsi+0x10]
-       test     rax, rax
-       je       SHORT G_M47357_IG18
-						;; size=16 bbWeight=0.50 PerfScore 3.62
-G_M47357_IG17:
-       cmp      qword ptr [r13], rax
-       je       SHORT G_M47357_IG19
-       jmp      SHORT G_M47357_IG21
-						;; size=8 bbWeight=0.50 PerfScore 3.00
-G_M47357_IG18:
-       mov      rsi, 0xD1FFAB1E      ; global ptr
-       call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
-       jmp      SHORT G_M47357_IG17
-						;; size=17 bbWeight=0.10 PerfScore 0.33
-G_M47357_IG19:
-       mov      r12, r13
-       mov      r13d, dword ptr [r12+0x08]
-       jmp      G_M47357_IG10
-						;; size=13 bbWeight=0.50 PerfScore 2.12
 G_M47357_IG20:
        mov      rdi, r14
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        mov      rdi, rax
-       jmp      G_M47357_IG11
-						;; size=26 bbWeight=0.20 PerfScore 0.75
+       jmp      SHORT G_M47357_IG18
+						;; size=23 bbWeight=0.20 PerfScore 0.75
 G_M47357_IG21:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArrayTypeMismatchException()
        call     [rax]System.ThrowHelper:ThrowArrayTypeMismatchException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 410, prolog size 20, PerfScore 76.46, instruction count 107, allocated bytes for code 410 (MethodHash=c9ab4702) for method System.Text.Json.Serialization.Converters.ReadOnlyMemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this (FullOpts)
+; Total bytes of code 380, prolog size 20, PerfScore 73.34, instruction count 106, allocated bytes for code 380 (MethodHash=c9ab4702) for method System.Text.Json.Serialization.Converters.ReadOnlyMemoryConverter`1[System.__Canon]:ConvertCollection(byref,System.Text.Json.JsonSerializerOptions):this (FullOpts)
-20 (-1.66 % of base) - System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 20 single block inlinees; 18 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 20 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[System.String]>
-;  V01 arg1         [V01,T09] (  9, 26.50)     ref  ->  r14         class-hnd single-def <ubyte[]>
-;  V02 arg2         [V02,T13] ( 11, 17   )     ref  ->  [rbp-0x80]  class-hnd single-def <System.Text.Encoding>
+;  V01 arg1         [V01,T31] (  5,  6.50)     ref  ->  [rbp-0x80]  class-hnd single-def <ubyte[]>
+;  V02 arg2         [V02,T12] ( 11, 17   )     ref  ->  r12         class-hnd single-def <System.Text.Encoding>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
-;  V04 arg4         [V04,T59] (  4,  2.50)   byref  ->  [rbp+0x10]  single-def
-;  V05 loc0         [V05,T14] (  8, 18   )     int  ->  [rbp-0x2C] 
+;  V04 arg4         [V04,T64] (  4,  2.50)   byref  ->  [rbp+0x10]  single-def
+;  V05 loc0         [V05,T13] (  8, 18   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06    ] (  3,  1.50)     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V07 loc2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[System.String]>
 ;  V08 loc3         [V08,T03] ( 10, 33   )     int  ->  [rbp-0x3C] 
 ;* V09 loc4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V10 loc5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
-;  V11 loc6         [V11,T16] (  8, 17.50)     ref  ->  [rbp-0x88]  class-hnd <System.String>
-;* V12 loc7         [V12,T78] (  0,  0   )     int  ->  zero-ref   
-;  V13 loc8         [V13,T15] (  8, 18   )     int  ->  rax        
-;* V14 loc9         [V14,T79] (  0,  0   )     int  ->  zero-ref   
+;  V11 loc6         [V11,T15] (  8, 17.50)     ref  ->  [rbp-0x88]  class-hnd <System.String>
+;* V12 loc7         [V12,T83] (  0,  0   )     int  ->  zero-ref   
+;  V13 loc8         [V13,T14] (  8, 18   )     int  ->  rax        
+;* V14 loc9         [V14,T84] (  0,  0   )     int  ->  zero-ref   
 ;# V15 OutArgs      [V15    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp2         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V18 tmp3         [V18,T52] (  4,  4   )     int  ->  rsi         "Inlining Arg"
+;  V18 tmp3         [V18,T55] (  4,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V19 tmp4         [V19    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V20 tmp5         [V20,T48] (  5,  5   )   byref  ->  r15         single-def "Inlining Arg"
-;  V21 tmp6         [V21,T33] (  8,  8   )     int  ->  rbx         "Inlining Arg"
-;  V22 tmp7         [V22,T53] (  4,  4   )     int  ->   r9         "Inlining Arg"
+;  V20 tmp5         [V20,T47] (  5,  5   )   byref  ->  r15         single-def "Inlining Arg"
+;  V21 tmp6         [V21,T32] (  8,  8   )     int  ->  rbx         "Inlining Arg"
+;  V22 tmp7         [V22,T56] (  4,  4   )     int  ->  r12         "Inlining Arg"
 ;* V23 tmp8         [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V24 tmp9         [V24,T60] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
-;  V25 tmp10        [V25,T63] (  2,  2   )     int  ->  rbx         "Inlining Arg"
+;  V24 tmp9         [V24,T65] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V25 tmp10        [V25,T68] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V26 tmp11        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V27 tmp12        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V28 tmp13        [V28    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V29 tmp14        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V30 tmp15        [V30    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp16        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp17        [V32    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V33 tmp18        [V33,T05] (  4, 32   )     int  ->  rdi         "Inlining Arg"
 ;* V34 tmp19        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V35 tmp20        [V35,T04] (  4, 32   )   byref  ->  r15         "Inlining Arg"
 ;  V36 tmp21        [V36,T02] (  5, 36   )     int  ->  rbx         "Inlining Arg"
 ;* V37 tmp22        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V38 tmp23        [V38    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
 ;* V39 tmp24        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V40 tmp25        [V40,T80] (  4,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.Net.Http.HttpRequestException>
+;  V40 tmp25        [V40,T85] (  4,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.Net.Http.HttpRequestException>
 ;* V41 tmp26        [V41    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V42 tmp27        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp29        [V44,T37] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V45 tmp30        [V45,T44] (  2,  8   )     int  ->  rsi         "Inlining Arg"
-;  V46 tmp31        [V46,T35] (  3,  8   )     int  ->  rax         "Inline return value spill temp"
+;  V44 tmp29        [V44,T38] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
+;  V45 tmp30        [V45,T43] (  2,  8   )     int  ->  rsi         "Inlining Arg"
+;  V46 tmp31        [V46,T34] (  3,  8   )     int  ->  rax         "Inline return value spill temp"
 ;* V47 tmp32        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp33        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V49 tmp34        [V49,T29] (  4, 12   )    long  ->  [rbp-0x48]  "Inline stloc first use temp"
-;  V50 tmp35        [V50,T49] (  3,  6   )     int  ->  [rbp-0x4C]  "Inline stloc first use temp"
+;  V50 tmp35        [V50,T48] (  3,  6   )     int  ->  [rbp-0x4C]  "Inline stloc first use temp"
 ;  V51 tmp36        [V51    ] (  2,  8   )   byref  ->  [rbp-0x58]  must-init pinned "Inline stloc first use temp"
 ;  V52 tmp37        [V52    ] (  2,  8   )   byref  ->  [rbp-0x60]  must-init pinned "Inline stloc first use temp"
 ;* V53 tmp38        [V53    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V54 tmp39        [V54    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V55 tmp40        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V56 tmp41        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V57 tmp42        [V57,T81] (  2,  0   )     ref  ->  r15         class-hnd exact "Inlining Arg" <System.String>
+;  V57 tmp42        [V57,T86] (  2,  0   )     ref  ->  r15         class-hnd exact "Inlining Arg" <System.String>
 ;  V58 tmp43        [V58,T06] (  4, 32   )     int  ->  rax         "Inlining Arg"
 ;* V59 tmp44        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V60 tmp45        [V60,T19] (  2, 16   )   byref  ->  r15         "Inlining Arg"
-;  V61 tmp46        [V61,T22] (  2, 16   )     int  ->  rbx         "Inlining Arg"
+;  V60 tmp45        [V60,T18] (  2, 16   )   byref  ->  r15         "Inlining Arg"
+;  V61 tmp46        [V61,T21] (  2, 16   )     int  ->  rbx         "Inlining Arg"
 ;* V62 tmp47        [V62    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V63 tmp48        [V63,T51] (  4,  4   )     ref  ->   r8         class-hnd single-def "Inlining Arg" <System.String>
+;  V63 tmp48        [V63,T54] (  4,  4   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.String>
 ;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V65 tmp50        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V66 tmp51        [V66,T61] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V67 tmp52        [V67,T64] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;  V66 tmp51        [V66,T66] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V67 tmp52        [V67,T69] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V68 tmp53        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V69 tmp54        [V69,T62] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
-;  V70 tmp55        [V70,T65] (  2,  2   )     int  ->  rbx         "Inlining Arg"
+;  V69 tmp54        [V69,T67] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V70 tmp55        [V70,T70] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V71 tmp56        [V71    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V72 tmp57        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V73 tmp58        [V73    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V74 tmp59        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V75 tmp60        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp61        [V76    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp62        [V77    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V78 tmp63        [V78,T07] (  4, 32   )     int  ->  rcx         "Inlining Arg"
 ;* V79 tmp64        [V79    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V80 tmp65        [V80,T20] (  2, 16   )   byref  ->   r8         "Inlining Arg"
+;  V80 tmp65        [V80,T19] (  2, 16   )   byref  ->   r8         "Inlining Arg"
 ;  V81 tmp66        [V81,T08] (  3, 24   )     int  ->  rsi         "Inlining Arg"
 ;* V82 tmp67        [V82    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V83 tmp68        [V83,T11] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.String>
+;  V83 tmp68        [V83,T10] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.String>
 ;* V84 tmp69        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V85 tmp70        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V86 tmp71        [V86,T38] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
-;  V87 tmp72        [V87,T45] (  2,  8   )     int  ->  rdi         "Inlining Arg"
+;  V86 tmp71        [V86,T39] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
+;  V87 tmp72        [V87,T44] (  2,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V88 tmp73        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V89 tmp74        [V89,T21] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
-;  V90 tmp75        [V90,T23] (  2, 16   )     int  ->  rbx         "Inlining Arg"
-;  V91 tmp76        [V91,T12] (  8, 18.50)   byref  ->  r12         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V92 tmp77        [V92,T10] ( 12, 21   )     int  ->  r13         single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;  V93 tmp78        [V93,T01] ( 17, 40.50)   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
-;  V94 tmp79        [V94,T00] ( 20, 49   )     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
-;* V95 tmp80        [V95,T68] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V96 tmp81        [V96,T72] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;  V89 tmp74        [V89,T20] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
+;  V90 tmp75        [V90,T22] (  2, 16   )     int  ->  rbx         "Inlining Arg"
+;  V91 tmp76        [V91,T11] (  8, 18.50)   byref  ->  r13         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V92 tmp77        [V92,T09] ( 12, 21   )     int  ->  r14         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V93 tmp78        [V93,T01] ( 17, 36.50)   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp79        [V94,T00] ( 20, 45   )     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
+;* V95 tmp80        [V95,T73] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V96 tmp81        [V96,T77] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V97 tmp82        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp83        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp84        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp85       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V101 tmp86       [V101,T77] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V102 tmp87       [V102,T73] (  2,  1   )     int  ->  rsi         "field V19._length (fldOffset=0x8)" P-INDEP
-;  V103 tmp88       [V103,T69] (  2,  1   )   byref  ->  r15         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
-;  V104 tmp89       [V104,T74] (  2,  1   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
-;  V105 tmp90       [V105,T39] (  2,  8   )   byref  ->  rsi         "field V26._reference (fldOffset=0x0)" P-INDEP
-;  V106 tmp91       [V106,T30] (  3, 12   )     int  ->  rdx         "field V26._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp86       [V101,T82] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V102 tmp87       [V102,T78] (  2,  1   )     int  ->  rsi         "field V19._length (fldOffset=0x8)" P-INDEP
+;  V103 tmp88       [V103,T74] (  2,  1   )   byref  ->  r15         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;  V104 tmp89       [V104,T79] (  2,  1   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
+;  V105 tmp90       [V105,T49] (  2,  6   )   byref  ->  rsi         "field V26._reference (fldOffset=0x0)" P-INDEP
+;  V106 tmp91       [V106,T35] (  3,  8   )     int  ->   r8         "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp92       [V107    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp93       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
-;* V109 tmp94       [V109    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
-;* V110 tmp95       [V110    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;  V109 tmp94       [V109,T50] (  2,  6   )   byref  ->  rdi         "field V28._reference (fldOffset=0x0)" P-INDEP
+;  V110 tmp95       [V110,T59] (  2,  4   )     int  ->  rdx         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V111 tmp96       [V111    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V112 tmp97       [V112    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V113 tmp98       [V113    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V114 tmp99       [V114    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp100      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp101      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp102      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V118 tmp103      [V118    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;  V119 tmp104      [V119,T28] (  4, 12   )   byref  ->  rdi         "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V120 tmp105      [V120,T32] (  4, 10   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V121 tmp106      [V121,T54] (  2,  4   )   byref  ->  rdi         "field V42._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp107      [V122,T56] (  2,  4   )     int  ->  rsi         "field V42._length (fldOffset=0x8)" P-INDEP
+;  V120 tmp105      [V120,T30] (  4, 10   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V121 tmp106      [V121,T57] (  2,  4   )   byref  ->  rdi         "field V42._reference (fldOffset=0x0)" P-INDEP
+;  V122 tmp107      [V122,T60] (  2,  4   )     int  ->  rsi         "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp108      [V123    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp109      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V125 tmp110      [V125    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V126 tmp111      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V127 tmp112      [V127    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V128 tmp113      [V128    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V129 tmp114      [V129    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp115      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp116      [V131    ] (  0,  0   )   byref  ->  zero-ref    "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp117      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;  V133 tmp118      [V133,T40] (  2,  8   )   byref  ->  r15         "field V59._reference (fldOffset=0x0)" P-INDEP
-;  V134 tmp119      [V134,T46] (  2,  8   )     int  ->  rbx         "field V59._length (fldOffset=0x8)" P-INDEP
-;  V135 tmp120      [V135,T66] (  3,  1.50)   byref  ->  rsi         "field V62._reference (fldOffset=0x0)" P-INDEP
-;  V136 tmp121      [V136,T67] (  3,  1.50)     int  ->  rdx         "field V62._length (fldOffset=0x8)" P-INDEP
-;  V137 tmp122      [V137,T70] (  2,  1   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
-;  V138 tmp123      [V138,T75] (  2,  1   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
+;  V134 tmp119      [V134,T45] (  2,  8   )     int  ->  rbx         "field V59._length (fldOffset=0x8)" P-INDEP
+;  V135 tmp120      [V135,T71] (  3,  1.50)   byref  ->  rsi         "field V62._reference (fldOffset=0x0)" P-INDEP
+;  V136 tmp121      [V136,T72] (  3,  1.50)     int  ->  rdx         "field V62._length (fldOffset=0x8)" P-INDEP
+;  V137 tmp122      [V137,T75] (  2,  1   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
+;  V138 tmp123      [V138,T80] (  2,  1   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V139 tmp124      [V139    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V140 tmp125      [V140    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;  V141 tmp126      [V141,T71] (  2,  1   )   byref  ->  r15         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
-;  V142 tmp127      [V142,T76] (  2,  1   )     int  ->  rbx         "field V68._length (fldOffset=0x8)" P-INDEP
-;  V143 tmp128      [V143,T41] (  2,  8   )   byref  ->  rsi         "field V71._reference (fldOffset=0x0)" P-INDEP
-;  V144 tmp129      [V144,T31] (  3, 12   )     int  ->  rdx         "field V71._length (fldOffset=0x8)" P-INDEP
+;  V141 tmp126      [V141,T76] (  2,  1   )   byref  ->  r15         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
+;  V142 tmp127      [V142,T81] (  2,  1   )     int  ->  rbx         "field V68._length (fldOffset=0x8)" P-INDEP
+;  V143 tmp128      [V143,T51] (  2,  6   )   byref  ->  rsi         "field V71._reference (fldOffset=0x0)" P-INDEP
+;  V144 tmp129      [V144,T36] (  3,  8   )     int  ->  rax         "field V71._length (fldOffset=0x8)" P-INDEP
 ;* V145 tmp130      [V145    ] (  0,  0   )   byref  ->  zero-ref    "field V72._reference (fldOffset=0x0)" P-INDEP
 ;* V146 tmp131      [V146    ] (  0,  0   )     int  ->  zero-ref    "field V72._length (fldOffset=0x8)" P-INDEP
-;* V147 tmp132      [V147    ] (  0,  0   )   byref  ->  zero-ref    "field V73._reference (fldOffset=0x0)" P-INDEP
-;* V148 tmp133      [V148    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
+;  V147 tmp132      [V147,T52] (  2,  6   )   byref  ->  rdi         "field V73._reference (fldOffset=0x0)" P-INDEP
+;  V148 tmp133      [V148,T61] (  2,  4   )     int  ->  rdx         "field V73._length (fldOffset=0x8)" P-INDEP
 ;* V149 tmp134      [V149    ] (  0,  0   )   byref  ->  zero-ref    "field V74._reference (fldOffset=0x0)" P-INDEP
 ;* V150 tmp135      [V150    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
-;  V151 tmp136      [V151,T42] (  2,  8   )   byref  ->  r15         "field V79._reference (fldOffset=0x0)" P-INDEP
-;* V152 tmp137      [V152,T58] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
-;  V153 tmp138      [V153,T34] (  3,  8   )   byref  ->  rdx         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V154 tmp139      [V154,T36] (  3,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
-;  V155 tmp140      [V155,T55] (  2,  4   )   byref  ->  rdx         "field V84._reference (fldOffset=0x0)" P-INDEP
-;  V156 tmp141      [V156,T57] (  2,  4   )     int  ->  rdi         "field V84._length (fldOffset=0x8)" P-INDEP
+;  V151 tmp136      [V151,T41] (  2,  8   )   byref  ->  r15         "field V79._reference (fldOffset=0x0)" P-INDEP
+;* V152 tmp137      [V152,T63] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
+;  V153 tmp138      [V153,T33] (  3,  8   )   byref  ->  rdx         "field V82._reference (fldOffset=0x0)" P-INDEP
+;  V154 tmp139      [V154,T37] (  3,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
+;  V155 tmp140      [V155,T58] (  2,  4   )   byref  ->  rdx         "field V84._reference (fldOffset=0x0)" P-INDEP
+;  V156 tmp141      [V156,T62] (  2,  4   )     int  ->  rdi         "field V84._length (fldOffset=0x8)" P-INDEP
 ;* V157 tmp142      [V157    ] (  0,  0   )   byref  ->  zero-ref    "field V85._reference (fldOffset=0x0)" P-INDEP
 ;* V158 tmp143      [V158    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
-;  V159 tmp144      [V159,T43] (  2,  8   )   byref  ->  r15         "field V88._reference (fldOffset=0x0)" P-INDEP
-;  V160 tmp145      [V160,T47] (  2,  8   )     int  ->  rbx         "field V88._length (fldOffset=0x8)" P-INDEP
-;  V161 tmp146      [V161,T24] (  2, 16   )    long  ->  rdi         "Cast away GC"
-;  V162 tmp147      [V162,T25] (  2, 16   )    long  ->  rsi         "Cast away GC"
-;  V163 tmp148      [V163,T26] (  2, 16   )    long  ->  rdi         "argument with side effect"
-;  V164 tmp149      [V164,T27] (  2, 16   )    long  ->  rsi         "argument with side effect"
-;  V165 cse0        [V165,T50] (  3,  5   )    long  ->  [rbp-0x68]  spill-single-def "CSE #08: conservative"
-;  V166 rat0        [V166,T17] (  5, 16.50)    long  ->  [rbp-0x70]  "Widened IV V14"
-;  V167 rat1        [V167,T18] (  5, 16.50)    long  ->  [rbp-0x78]  "Widened IV V12"
+;  V159 tmp144      [V159,T42] (  2,  8   )   byref  ->  r15         "field V88._reference (fldOffset=0x0)" P-INDEP
+;  V160 tmp145      [V160,T46] (  2,  8   )     int  ->  rbx         "field V88._length (fldOffset=0x8)" P-INDEP
+;  V161 tmp146      [V161,T23] (  2, 16   )    long  ->  rdi         "Cast away GC"
+;  V162 tmp147      [V162,T24] (  2, 16   )    long  ->  rsi         "Cast away GC"
+;  V163 tmp148      [V163,T25] (  2, 16   )    long  ->  rdi         "argument with side effect"
+;  V164 tmp149      [V164,T26] (  2, 16   )    long  ->  rsi         "argument with side effect"
+;  V165 cse0        [V165,T53] (  3,  5   )    long  ->  [rbp-0x68]  spill-single-def "CSE #08: conservative"
+;  V166 cse1        [V166,T27] (  6, 13   )     int  ->  [rbp-0x6C]  spill-single-def "CSE #01: moderate"
+;  V167 rat0        [V167,T16] (  5, 16.50)    long  ->  [rbp-0x78]  "Widened IV V14"
+;  V168 rat1        [V168,T17] (  5, 16.50)    long  ->  r12         "Widened IV V12"
 ;
 ; Lcl frame size = 104
 
 G_M11638_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        lea      rbp, [rsp+0x90]
        xor      eax, eax
        mov      qword ptr [rbp-0x58], rax
        mov      qword ptr [rbp-0x60], rax
-       mov      r12, rdi
-       mov      r13d, esi
-       mov      r14, rdx
-       mov      rax, rcx
+       mov      r13, rdi
+       mov      r14d, esi
+       mov      rax, rdx
+       mov      r12, rcx
        mov      r15, r8
        mov      ebx, r9d
        mov      r9, bword ptr [rbp+0x10]
 						;; size=54 bbWeight=1 PerfScore 11.50
 G_M11638_IG02:
        xor      edx, edx
        mov      dword ptr [r9], edx
-       test     r13d, r13d
+       test     r14d, r14d
        jne      SHORT G_M11638_IG05
 						;; size=10 bbWeight=1 PerfScore 2.50
 G_M11638_IG03:
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, r9
        mov      rdi, 0xD1FFAB1E      ; ''
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=33 bbWeight=0.50 PerfScore 2.38
 G_M11638_IG04:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG05:
-       cmp      r13d, 1
+       cmp      r14d, 1
        jne      SHORT G_M11638_IG07
        mov      rdx, r15
        mov      ecx, ebx
-       mov      rdi, gword ptr [r12]
-       mov      rsi, rax
+       mov      rdi, gword ptr [r13]
+       mov      rsi, r12
        mov      r8, r9
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=34 bbWeight=0.50 PerfScore 3.88
 G_M11638_IG06:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG07:
        test     ebx, ebx
-       je       G_M11638_IG21
-       mov      esi, r13d
+       je       G_M11638_IG20
+       mov      esi, r14d
        sub      esi, 1
-       jo       G_M11638_IG48
-       imul     esi, dword ptr [r14+0x08]
-       jo       G_M11638_IG48
-       test     rax, rax
+       jo       G_M11638_IG49
+       mov      gword ptr [rbp-0x80], rax
+       mov      ecx, dword ptr [rax+0x08]
+       mov      dword ptr [rbp-0x6C], ecx
+       imul     esi, ecx
+       jo       G_M11638_IG49
+       test     r12, r12
        je       SHORT G_M11638_IG09
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M11638_IG44
-						;; size=55 bbWeight=0.50 PerfScore 7.12
+       je       G_M11638_IG45
+						;; size=63 bbWeight=0.50 PerfScore 7.62
 G_M11638_IG08:
        mov      rdi, 0xD1FFAB1E      ; data for System.Text.Latin1Encoding:s_default
-       cmp      rax, gword ptr [rdi]
+       cmp      r12, gword ptr [rdi]
        jne      SHORT G_M11638_IG13
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG09:
        xor      edi, edi
-       test     r13d, r13d
+       test     r14d, r14d
        jle      SHORT G_M11638_IG12
-       align    [2 bytes for IG10]
-						;; size=9 bbWeight=0.50 PerfScore 0.88
+       align    [10 bytes for IG10]
+						;; size=17 bbWeight=0.50 PerfScore 0.88
 G_M11638_IG10:
-       mov      ecx, edi
-       mov      rcx, gword ptr [r12+8*rcx]
-       add      esi, dword ptr [rcx+0x08]
-       jo       G_M11638_IG48
+       mov      edx, edi
+       mov      rdx, gword ptr [r13+8*rdx]
+       add      esi, dword ptr [rdx+0x08]
+       jo       G_M11638_IG49
        mov      dword ptr [rbp-0x2C], esi
        inc      edi
-       cmp      edi, r13d
+       cmp      edi, r14d
        mov      esi, dword ptr [rbp-0x2C]
        jl       SHORT G_M11638_IG10
-						;; size=28 bbWeight=4 PerfScore 39.00
+						;; size=29 bbWeight=4 PerfScore 39.00
 G_M11638_IG11:
-       mov      gword ptr [rbp-0x80], rax
        mov      bword ptr [rbp+0x10], r9
        jmp      SHORT G_M11638_IG17
-						;; size=10 bbWeight=2 PerfScore 8.00
+						;; size=6 bbWeight=2 PerfScore 6.00
 G_M11638_IG12:
-       mov      gword ptr [rbp-0x80], rax
        mov      bword ptr [rbp+0x10], r9
        jmp      SHORT G_M11638_IG17
-						;; size=10 bbWeight=0.25 PerfScore 1.00
+						;; size=6 bbWeight=0.25 PerfScore 0.75
 G_M11638_IG13:
        xor      edi, edi
-       xor      ecx, ecx
-       test     r13d, r13d
+       xor      edx, edx
+       test     r14d, r14d
        mov      bword ptr [rbp+0x10], r9
-       jle      SHORT G_M11638_IG19
+       jle      SHORT G_M11638_IG17
 						;; size=13 bbWeight=0.50 PerfScore 1.38
 G_M11638_IG14:
        mov      dword ptr [rbp-0x2C], esi
 						;; size=3 bbWeight=0.25 PerfScore 0.25
 G_M11638_IG15:
-       mov      dword ptr [rbp-0x3C], ecx
-       mov      edi, ecx
-       mov      rsi, gword ptr [r12+8*rdi]
-       mov      rdi, rax
-       mov      gword ptr [rbp-0x80], rax
-       mov      rdx, qword ptr [rax]
-       mov      rdx, qword ptr [rdx+0x50]
-       call     [rdx+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
+       mov      dword ptr [rbp-0x3C], edx
+       mov      edi, edx
+       mov      rsi, gword ptr [r13+8*rdi]
+       mov      rdi, r12
+       mov      r8, qword ptr [r12]
+       mov      r8, qword ptr [r8+0x50]
+       call     [r8+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
        mov      esi, eax
        add      esi, dword ptr [rbp-0x2C]
-       jo       G_M11638_IG48
+       jo       G_M11638_IG49
        mov      eax, esi
        mov      edx, dword ptr [rbp-0x3C]
        inc      edx
-       cmp      edx, r13d
-       mov      ecx, edx
+       cmp      edx, r14d
        jl       SHORT G_M11638_IG18
-						;; size=51 bbWeight=4 PerfScore 71.00
+						;; size=48 bbWeight=4 PerfScore 66.00
 G_M11638_IG16:
        mov      esi, eax
 						;; size=2 bbWeight=2 PerfScore 0.50
 G_M11638_IG17:
        mov      byte  ptr [r15], 0
        mov      rdx, r15
        mov      ecx, ebx
        lea      r8, [rbp-0x38]
        mov      dword ptr [rbp-0x2C], esi
        mov      edi, esi
        mov      esi, 7
        mov      r10, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        call     [r10]System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
-       je       SHORT G_M11638_IG21
+       je       SHORT G_M11638_IG20
        mov      esi, dword ptr [rbp-0x38]
        cmp      esi, ebx
-       jbe      SHORT G_M11638_IG20
-       jmp      G_M11638_IG47
+       jbe      SHORT G_M11638_IG19
+       jmp      G_M11638_IG48
 						;; size=52 bbWeight=0.50 PerfScore 6.12
 G_M11638_IG18:
        mov      dword ptr [rbp-0x2C], eax
-       mov      rax, gword ptr [rbp-0x80]
        jmp      SHORT G_M11638_IG15
-						;; size=9 bbWeight=2 PerfScore 8.00
+						;; size=5 bbWeight=2 PerfScore 6.00
 G_M11638_IG19:
-       mov      gword ptr [rbp-0x80], rax
-       jmp      SHORT G_M11638_IG17
-						;; size=6 bbWeight=0.25 PerfScore 0.75
-G_M11638_IG20:
        mov      eax, esi
        add      r15, rax
        sub      ebx, esi
        mov      esi, ebx
        mov      eax, dword ptr [rbp-0x2C]
        cmp      esi, eax
-       jl       SHORT G_M11638_IG21
-       cmp      gword ptr [rbp-0x80], 0
-       jne      SHORT G_M11638_IG23
-       mov      r8, gword ptr [r12]
+       jl       SHORT G_M11638_IG20
+       test     r12, r12
+       jne      SHORT G_M11638_IG22
+       mov      r12, gword ptr [r13]
        mov      rsi, r15
        mov      edx, ebx
-       mov      gword ptr [rbp-0x88], r8
-       mov      rdi, r8
+       mov      rdi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        call     [rcx]System.Net.Http.HPack.HPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
-       mov      r9, gword ptr [rbp-0x88]
-       mov      r9d, dword ptr [r9+0x08]
-       cmp      r9d, ebx
+       mov      r12d, dword ptr [r12+0x08]
+       cmp      r12d, ebx
        jbe      G_M11638_IG30
-       jmp      G_M11638_IG47
-						;; size=79 bbWeight=0.50 PerfScore 9.75
-G_M11638_IG21:
+       jmp      G_M11638_IG48
+						;; size=64 bbWeight=0.50 PerfScore 7.88
+G_M11638_IG20:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M11638_IG22:
+G_M11638_IG21:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M11638_IG23:
-       mov      r8, gword ptr [r12]
-       test     r8, r8
-       jne      SHORT G_M11638_IG24
+G_M11638_IG22:
+       mov      rcx, gword ptr [r13]
+       test     rcx, rcx
+       jne      SHORT G_M11638_IG23
        xor      rsi, rsi
        xor      edx, edx
-       jmp      SHORT G_M11638_IG25
+       jmp      SHORT G_M11638_IG24
 						;; size=15 bbWeight=0.50 PerfScore 2.88
+G_M11638_IG23:
+       lea      rsi, bword ptr [rcx+0x0C]
+       mov      edx, dword ptr [rcx+0x08]
+						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M11638_IG24:
-       lea      rsi, bword ptr [r8+0x0C]
-       mov      edx, dword ptr [r8+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.25
-G_M11638_IG25:
        mov      rcx, r15
        mov      r8d, ebx
-       mov      rdi, gword ptr [rbp-0x80]
-       mov      gword ptr [rbp-0x80], rdi
-       mov      r9, qword ptr [rdi]
+       mov      rdi, r12
+       mov      r9, qword ptr [r12]
        mov      r9, qword ptr [r9+0x58]
        mov      qword ptr [rbp-0x68], r9
        call     [r9+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
-       ja       G_M11638_IG47
+       ja       G_M11638_IG48
        mov      edx, eax
        add      r15, rdx
        sub      ebx, eax
-       mov      qword ptr [rbp-0x70], 1
-       cmp      r13d, 1
-       jle      G_M11638_IG42
-						;; size=62 bbWeight=0.50 PerfScore 7.38
-G_M11638_IG26:
-       lea      rsi, bword ptr [r14+0x10]
-       mov      edx, dword ptr [r14+0x08]
-       cmp      edx, ebx
-       ja       G_M11638_IG45
+       mov      qword ptr [rbp-0x78], 1
+       cmp      r14d, 1
+       jle      G_M11638_IG43
+						;; size=58 bbWeight=0.50 PerfScore 6.50
+G_M11638_IG25:
        mov      rdi, r15
+       mov      edx, ebx
+       mov      r8, gword ptr [rbp-0x80]
+       lea      rsi, bword ptr [r8+0x10]
+       mov      r9d, dword ptr [rbp-0x6C]
+       mov      eax, r9d
+       cmp      eax, edx
+       ja       G_M11638_IG46
+						;; size=28 bbWeight=2 PerfScore 9.00
+G_M11638_IG26:
+       mov      edx, eax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
-       mov      ecx, dword ptr [r14+0x08]
+       mov      eax, dword ptr [rbp-0x6C]
+       mov      ecx, eax
        cmp      ecx, ebx
-       ja       G_M11638_IG47
+       ja       G_M11638_IG48
        mov      r8d, ecx
        add      r8, r15
        mov      esi, ebx
        sub      esi, ecx
        mov      r15, r8
        mov      ebx, esi
-       mov      rax, qword ptr [rbp-0x70]
-       mov      rcx, gword ptr [r12+8*rax]
+       mov      r9, qword ptr [rbp-0x78]
+       mov      rcx, gword ptr [r13+8*r9]
        test     rcx, rcx
        jne      SHORT G_M11638_IG28
-						;; size=71 bbWeight=4 PerfScore 65.00
+						;; size=56 bbWeight=4 PerfScore 47.00
 G_M11638_IG27:
        xor      rdx, rdx
        xor      edi, edi
        jmp      SHORT G_M11638_IG29
 						;; size=6 bbWeight=2 PerfScore 5.00
 G_M11638_IG28:
        lea      rdx, bword ptr [rcx+0x0C]
        mov      edi, dword ptr [rcx+0x08]
 						;; size=7 bbWeight=2 PerfScore 5.00
 G_M11638_IG29:
        mov      rcx, r15
        mov      r8d, esi
        mov      rsi, rdx
        mov      edx, edi
-       mov      rdi, gword ptr [rbp-0x80]
-       mov      r9, qword ptr [rbp-0x68]
-       call     [r9+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
+       mov      rdi, r12
+       mov      r10, qword ptr [rbp-0x68]
+       call     [r10+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
-       ja       G_M11638_IG47
+       ja       G_M11638_IG48
        mov      edx, eax
        add      rdx, r15
        sub      ebx, eax
        mov      r15, rdx
-       mov      rdx, qword ptr [rbp-0x70]
+       mov      rdx, qword ptr [rbp-0x78]
        inc      edx
-       cmp      edx, r13d
-       mov      qword ptr [rbp-0x70], rdx
-       jl       G_M11638_IG26
-       jmp      G_M11638_IG42
-						;; size=65 bbWeight=4 PerfScore 55.00
+       cmp      edx, r14d
+       mov      qword ptr [rbp-0x78], rdx
+       jl       G_M11638_IG25
+       jmp      G_M11638_IG43
+						;; size=64 bbWeight=4 PerfScore 52.00
 G_M11638_IG30:
-       mov      edx, r9d
+       mov      edx, r12d
        add      rdx, r15
-       sub      ebx, r9d
+       sub      ebx, r12d
        mov      r15, rdx
-       mov      qword ptr [rbp-0x78], 1
-       cmp      r13d, 1
-       jle      G_M11638_IG42
-						;; size=30 bbWeight=0.50 PerfScore 1.62
+       mov      r12d, 1
+       cmp      r14d, 1
+       jle      G_M11638_IG43
+						;; size=28 bbWeight=0.50 PerfScore 1.25
 G_M11638_IG31:
-       lea      rsi, bword ptr [r14+0x10]
-       mov      edx, dword ptr [r14+0x08]
-       cmp      edx, ebx
-       ja       G_M11638_IG45
        mov      rdi, r15
-       mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
-       call     [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
-       mov      edi, dword ptr [r14+0x08]
+       mov      edx, ebx
+       mov      rax, gword ptr [rbp-0x80]
+       lea      rsi, bword ptr [rax+0x10]
+       mov      ecx, dword ptr [rbp-0x6C]
+       mov      r8d, ecx
+       cmp      r8d, edx
+       ja       G_M11638_IG46
+						;; size=28 bbWeight=2 PerfScore 9.00
+G_M11638_IG32:
+       mov      edx, r8d
+       mov      r8, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+       call     [r8]System.SpanHelpers:Memmove(byref,byref,ulong)
+       mov      eax, dword ptr [rbp-0x6C]
+       mov      edi, eax
        cmp      edi, ebx
-       ja       G_M11638_IG47
-       mov      eax, edi
-       add      r15, rax
+       ja       G_M11638_IG48
+       mov      ecx, edi
+       add      r15, rcx
        sub      ebx, edi
-       mov      rax, qword ptr [rbp-0x78]
-       mov      r9, gword ptr [r12+8*rax]
-       mov      rcx, r9
+       mov      rdi, gword ptr [r13+8*r12]
+       mov      rcx, rdi
        test     rcx, rcx
-       jne      SHORT G_M11638_IG33
-						;; size=66 bbWeight=4 PerfScore 63.00
-G_M11638_IG32:
+       jne      SHORT G_M11638_IG34
+						;; size=49 bbWeight=4 PerfScore 41.00
+G_M11638_IG33:
        xor      rdi, rdi
        xor      esi, esi
-       jmp      SHORT G_M11638_IG34
+       jmp      SHORT G_M11638_IG35
 						;; size=6 bbWeight=2 PerfScore 5.00
-G_M11638_IG33:
+G_M11638_IG34:
        lea      rdi, bword ptr [rcx+0x0C]
        mov      gword ptr [rbp-0x88], rcx
        mov      esi, dword ptr [rcx+0x08]
        mov      rcx, gword ptr [rbp-0x88]
 						;; size=21 bbWeight=2 PerfScore 9.00
-G_M11638_IG34:
+G_M11638_IG35:
        cmp      esi, ebx
-       jg       SHORT G_M11638_IG36
+       jg       SHORT G_M11638_IG37
 						;; size=4 bbWeight=4 PerfScore 5.00
-G_M11638_IG35:
+G_M11638_IG36:
        mov      r8d, esi
        xor      r9d, r9d
        mov      gword ptr [rbp-0x88], rcx
        mov      dword ptr [rbp-0x4C], r9d
-       jmp      SHORT G_M11638_IG37
+       jmp      SHORT G_M11638_IG38
 						;; size=19 bbWeight=2 PerfScore 9.00
-G_M11638_IG36:
+G_M11638_IG37:
        mov      r8d, ebx
        mov      dword ptr [rbp-0x4C], 1
        mov      gword ptr [rbp-0x88], rcx
 						;; size=17 bbWeight=2 PerfScore 4.50
-G_M11638_IG37:
+G_M11638_IG38:
        mov      bword ptr [rbp-0x58], rdi
        mov      bword ptr [rbp-0x60], r15
        mov      rsi, r15
        mov      qword ptr [rbp-0x48], r8
        mov      rdx, r8
        mov      r10, 0xD1FFAB1E      ; code for System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        call     [r10]System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        cmp      rax, qword ptr [rbp-0x48]
-       je       SHORT G_M11638_IG39
+       je       SHORT G_M11638_IG40
 						;; size=37 bbWeight=4 PerfScore 39.00
-G_M11638_IG38:
+G_M11638_IG39:
        mov      eax, 3
-       jmp      SHORT G_M11638_IG40
+       jmp      SHORT G_M11638_IG41
 						;; size=7 bbWeight=2 PerfScore 4.50
-G_M11638_IG39:
+G_M11638_IG40:
        mov      eax, dword ptr [rbp-0x4C]
 						;; size=3 bbWeight=2 PerfScore 2.00
-G_M11638_IG40:
+G_M11638_IG41:
        xor      rdi, rdi
        mov      bword ptr [rbp-0x58], rdi
 						;; size=6 bbWeight=4 PerfScore 5.00
-G_M11638_IG41:
+G_M11638_IG42:
        mov      bword ptr [rbp-0x60], rdi
        cmp      eax, 3
-       je       G_M11638_IG46
+       je       SHORT G_M11638_IG47
        mov      rax, gword ptr [rbp-0x88]
        mov      eax, dword ptr [rax+0x08]
        cmp      eax, ebx
-       ja       G_M11638_IG47
+       ja       G_M11638_IG48
        mov      edi, eax
        add      r15, rdi
        sub      ebx, eax
-       mov      rax, qword ptr [rbp-0x78]
-       inc      eax
-       cmp      eax, r13d
-       mov      qword ptr [rbp-0x78], rax
+       inc      r12d
+       cmp      r12d, r14d
        jl       G_M11638_IG31
-						;; size=57 bbWeight=4 PerfScore 43.00
-G_M11638_IG42:
-       mov      ebx, dword ptr [rbp-0x2C]
-       mov      eax, ebx
+						;; size=46 bbWeight=4 PerfScore 35.00
+G_M11638_IG43:
+       mov      r12d, dword ptr [rbp-0x2C]
+       mov      eax, r12d
        add      eax, dword ptr [rbp-0x38]
        mov      rbx, bword ptr [rbp+0x10]
        mov      dword ptr [rbx], eax
        mov      eax, 1
-						;; size=19 bbWeight=0.50 PerfScore 2.75
-G_M11638_IG43:
+						;; size=21 bbWeight=0.50 PerfScore 2.75
+G_M11638_IG44:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M11638_IG44:
-       mov      gword ptr [rbp-0x80], rax
+G_M11638_IG45:
        mov      dword ptr [rbp-0x2C], esi
        mov      bword ptr [rbp+0x10], r9
        mov      rdi, 0xD1FFAB1E      ; System.Text.Latin1Encoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rax, gword ptr [rbp-0x80]
        mov      esi, dword ptr [rbp-0x2C]
        mov      r9, bword ptr [rbp+0x10]
        jmp      G_M11638_IG08
-						;; size=42 bbWeight=0 PerfScore 0.00
-G_M11638_IG45:
+						;; size=34 bbWeight=0 PerfScore 0.00
+G_M11638_IG46:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M11638_IG46:
+G_M11638_IG47:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HttpRequestException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_http_request_invalid_char_encoding():System.String
        call     [rax]System.SR:get_net_http_request_invalid_char_encoding():System.String
        mov      r15, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Exception:.ctor():this
        call     [rax]System.Exception:.ctor():this
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=69 bbWeight=0 PerfScore 0.00
-G_M11638_IG47:
+G_M11638_IG48:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M11638_IG48:
+G_M11638_IG49:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1204, prolog size 54, PerfScore 519.62, instruction count 349, allocated bytes for code 1204 (MethodHash=5537d289) for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 1184, prolog size 54, PerfScore 474.00, instruction count 347, allocated bytes for code 1184 (MethodHash=5537d289) for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
-17 (-6.05 % of base) - System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c:b__10_0(System.ValueTuple`2[System.Numerics.BigInteger,System.Numerics.BigInteger],System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte:this
 ; Assembly listing for method System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c:<FindBySerialNumber>b__10_0(System.ValueTuple`2[System.Numerics.BigInteger,System.Numerics.BigInteger],System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 15 single block inlinees; 9 inlinees without PGO data
+; 0 inlinees with PGO data; 13 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c>
 ;  V01 arg1         [V01,T05] (  4,  2.50)  struct (32) [rbp+0x10]  do-not-enreg[SF] ld-addr-op single-def <System.ValueTuple`2[System.Numerics.BigInteger,System.Numerics.BigInteger]>
 ;  V02 arg2         [V02,T00] (  4,  4   )     ref  ->  rsi         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate2>
 ;  V03 loc0         [V03,T03] (  4,  3   )     ref  ->  rax         class-hnd single-def <ubyte[]>
-;  V04 loc1         [V04    ] (  5,  4   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
+;  V04 loc1         [V04    ] (  5,  4   )  struct (16) [rbp-0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V08 tmp3         [V08,T16] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Numerics.BigInteger>
 ;* V10 tmp5         [V10    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[uint]>
 ;* V11 tmp6         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[uint]>
 ;  V12 tmp7         [V12,T01] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <uint[]>
-;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[uint]>
-;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
-;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
-;* V16 tmp11        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
-;  V17 tmp12        [V17,T17] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
-;* V18 tmp13        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V19 tmp14        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V20 tmp15        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;* V21 tmp16        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V22 tmp17        [V22    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;* V23 tmp18        [V23    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
-;* V24 tmp19        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V25 tmp20        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;* V26 tmp21        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V27 tmp22        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;  V28 tmp23        [V28,T18] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
-;* V29 tmp24        [V29    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Numerics.BigInteger>
-;* V30 tmp25        [V30    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[uint]>
-;* V31 tmp26        [V31    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[uint]>
-;  V32 tmp27        [V32,T02] (  4,  4   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <uint[]>
-;* V33 tmp28        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[uint]>
-;* V34 tmp29        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
-;* V35 tmp30        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
-;* V36 tmp31        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
-;  V37 tmp32        [V37,T19] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
-;* V38 tmp33        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V39 tmp34        [V39    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V40 tmp35        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[uint]>
+;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[uint]>
+;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
+;* V16 tmp11        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+;* V17 tmp12        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
+;  V18 tmp13        [V18,T17] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
+;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V20 tmp15        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V21 tmp16        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V22 tmp17        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp18        [V23    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V24 tmp19        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
+;* V25 tmp20        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V26 tmp21        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V27 tmp22        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V28 tmp23        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;  V29 tmp24        [V29,T18] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
+;* V30 tmp25        [V30    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Numerics.BigInteger>
+;* V31 tmp26        [V31    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[uint]>
+;* V32 tmp27        [V32    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[uint]>
+;  V33 tmp28        [V33,T02] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <uint[]>
+;* V34 tmp29        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[uint]>
+;* V35 tmp30        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[uint]>
+;* V36 tmp31        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
+;* V37 tmp32        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+;* V38 tmp33        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
+;  V39 tmp34        [V39,T19] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
+;* V40 tmp35        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
 ;* V41 tmp36        [V41    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V42 tmp37        [V42    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;* V43 tmp38        [V43    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
-;* V44 tmp39        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V45 tmp40        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V42 tmp37        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V43 tmp38        [V43    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V44 tmp39        [V44    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V45 tmp40        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
 ;* V46 tmp41        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
 ;* V47 tmp42        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;  V48 tmp43        [V48    ] (  3,  2.50)     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V04._bits (fldOffset=0x0)" P-DEP
-;  V49 tmp44        [V49    ] (  3,  2.50)     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V04._sign (fldOffset=0x8)" P-DEP
-;* V50 tmp45        [V50    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V51 tmp46        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V52 tmp47        [V52,T09] (  3,  2   )   byref  ->  rsi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp48        [V53,T10] (  3,  2   )     int  ->  rdx         "field V07._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp49        [V54,T04] (  4,  2.50)     ref  ->  rdx         single-def "field V09._bits (fldOffset=0x0)" P-INDEP
-;  V55 tmp50        [V55,T11] (  2,  2   )     int  ->  rdi         "field V09._sign (fldOffset=0x8)" P-INDEP
-;* V56 tmp51        [V56    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V57 tmp52        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V58 tmp53        [V58    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V59 tmp54        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;  V60 tmp55        [V60,T12] (  3,  1.50)   byref  ->  registers   "field V13._reference (fldOffset=0x0)" P-INDEP
-;  V61 tmp56        [V61,T20] (  3,  1.50)     int  ->  registers   "field V13._length (fldOffset=0x8)" P-INDEP
-;  V62 tmp57        [V62,T13] (  3,  1.50)   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V63 tmp58        [V63,T07] (  4,  2   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
-;* V64 tmp59        [V64    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V65 tmp60        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;* V66 tmp61        [V66    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp62        [V67    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V68 tmp63        [V68    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V69 tmp64        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V70 tmp65        [V70    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V71 tmp66        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;* V72 tmp67        [V72    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V73 tmp68        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;* V74 tmp69        [V74    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V75 tmp70        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
-;  V76 tmp71        [V76,T06] (  4,  2   )     ref  ->  rbx         single-def "field V29._bits (fldOffset=0x0)" P-INDEP
-;  V77 tmp72        [V77,T22] (  2,  1   )     int  ->  rdi         "field V29._sign (fldOffset=0x8)" P-INDEP
-;* V78 tmp73        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V79 tmp74        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
-;* V80 tmp75        [V80    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V81 tmp76        [V81    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
-;  V82 tmp77        [V82,T14] (  3,  1.50)   byref  ->  rdi         "field V33._reference (fldOffset=0x0)" P-INDEP
-;  V83 tmp78        [V83,T21] (  3,  1.50)     int  ->  r14         "field V33._length (fldOffset=0x8)" P-INDEP
-;  V84 tmp79        [V84,T15] (  3,  1.50)   byref  ->  rsi         "field V35._reference (fldOffset=0x0)" P-INDEP
-;  V85 tmp80        [V85,T08] (  4,  2   )     int  ->  rdx         "field V35._length (fldOffset=0x8)" P-INDEP
-;* V86 tmp81        [V86    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
-;* V87 tmp82        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
-;* V88 tmp83        [V88    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
-;* V89 tmp84        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
-;* V90 tmp85        [V90    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V44._reference (fldOffset=0x0)" P-INDEP
-;* V91 tmp86        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
-;* V92 tmp87        [V92    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
-;* V93 tmp88        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
-;* V94 tmp89        [V94    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V95 tmp90        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
-;* V96 tmp91        [V96    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
-;* V97 tmp92        [V97    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp43        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V49 tmp44        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;  V50 tmp45        [V50    ] (  3,  2.50)     ref  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V04._bits (fldOffset=0x0)" P-DEP
+;  V51 tmp46        [V51    ] (  3,  2.50)     int  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed "field V04._sign (fldOffset=0x8)" P-DEP
+;* V52 tmp47        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V53 tmp48        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp49        [V54,T09] (  3,  2   )   byref  ->  rsi         "field V07._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp50        [V55,T10] (  3,  2   )     int  ->  rdx         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V56 tmp51        [V56,T04] (  4,  2.50)     ref  ->  rdx         single-def "field V09._bits (fldOffset=0x0)" P-INDEP
+;  V57 tmp52        [V57,T11] (  2,  2   )     int  ->  rdi         "field V09._sign (fldOffset=0x8)" P-INDEP
+;  V58 tmp53        [V58,T12] (  3,  1.50)   byref  ->  rsi         "field V10._reference (fldOffset=0x0)" P-INDEP
+;  V59 tmp54        [V59,T20] (  3,  1.50)     int  ->  rdi         "field V10._length (fldOffset=0x8)" P-INDEP
+;* V60 tmp55        [V60    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V61 tmp56        [V61    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;* V62 tmp57        [V62    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V63 tmp58        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;  V64 tmp59        [V64,T22] (  2,  1   )   byref  ->  rsi         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V65 tmp60        [V65,T24] (  2,  1   )     int  ->  rdi         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V66 tmp61        [V66,T13] (  3,  1.50)   byref  ->  rax         "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V67 tmp62        [V67,T07] (  4,  2   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp63        [V68    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp64        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V70 tmp65        [V70    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V71 tmp66        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;* V72 tmp67        [V72    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp68        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp69        [V74    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp70        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp71        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp72        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp73        [V78    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp74        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;  V80 tmp75        [V80,T06] (  4,  2   )     ref  ->  rbx         single-def "field V30._bits (fldOffset=0x0)" P-INDEP
+;  V81 tmp76        [V81,T25] (  2,  1   )     int  ->  rsi         "field V30._sign (fldOffset=0x8)" P-INDEP
+;  V82 tmp77        [V82,T14] (  3,  1.50)   byref  ->  rdi         "field V31._reference (fldOffset=0x0)" P-INDEP
+;  V83 tmp78        [V83,T21] (  3,  1.50)     int  ->  rax         "field V31._length (fldOffset=0x8)" P-INDEP
+;* V84 tmp79        [V84    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V85 tmp80        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V86 tmp81        [V86    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V87 tmp82        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
+;  V88 tmp83        [V88,T23] (  2,  1   )   byref  ->  rdx         single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;  V89 tmp84        [V89,T26] (  2,  1   )     int  ->  rax         "field V35._length (fldOffset=0x8)" P-INDEP
+;  V90 tmp85        [V90,T15] (  3,  1.50)   byref  ->  rsi         "field V37._reference (fldOffset=0x0)" P-INDEP
+;  V91 tmp86        [V91,T08] (  4,  2   )     int  ->  rdx         "field V37._length (fldOffset=0x8)" P-INDEP
+;* V92 tmp87        [V92    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V93 tmp88        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
+;* V94 tmp89        [V94    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V95 tmp90        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;* V96 tmp91        [V96    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V97 tmp92        [V97    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
+;* V98 tmp93        [V98    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V99 tmp94        [V99    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
+;* V100 tmp95       [V100    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V101 tmp96       [V101    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
+;* V102 tmp97       [V102    ] (  0,  0   )   byref  ->  zero-ref    "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V103 tmp98       [V103    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 24
 
 G_M13772_IG01:
        push     rbp
-       push     r15
-       push     r14
        push     rbx
        sub      rsp, 24
-       lea      rbp, [rsp+0x30]
+       lea      rbp, [rsp+0x20]
        xor      eax, eax
-       mov      qword ptr [rbp-0x28], rax
-						;; size=21 bbWeight=1 PerfScore 6.00
+       mov      qword ptr [rbp-0x18], rax
+						;; size=17 bbWeight=1 PerfScore 4.00
 G_M13772_IG02:
        mov      rdi, rsi
        mov      rax, qword ptr [rsi]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x20]System.Security.Cryptography.X509Certificates.X509Certificate:GetSerialNumber():ubyte[]:this
        test     rax, rax
        jne      SHORT G_M13772_IG04
 						;; size=18 bbWeight=1 PerfScore 8.50
 G_M13772_IG03:
        xor      rsi, rsi
        xor      edx, edx
        jmp      SHORT G_M13772_IG05
 						;; size=6 bbWeight=0.50 PerfScore 1.25
 G_M13772_IG04:
        lea      rsi, bword ptr [rax+0x10]
        mov      edx, dword ptr [rax+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M13772_IG05:
-       lea      rdi, [rbp-0x28]
+       lea      rdi, [rbp-0x18]
        mov      ecx, 1
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[ubyte],ubyte,ubyte):this
        call     [rax]System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[ubyte],ubyte,ubyte):this
-       mov      rdx, gword ptr [rbp-0x28]
-       mov      edi, dword ptr [rbp-0x20]
+       mov      rdx, gword ptr [rbp-0x18]
+       mov      edi, dword ptr [rbp-0x10]
        cmp      dword ptr [rbp+0x18], edi
        jne      SHORT G_M13772_IG07
 						;; size=36 bbWeight=1 PerfScore 9.25
 G_M13772_IG06:
        mov      rdi, gword ptr [rbp+0x10]
        test     rdi, rdi
-       jne      SHORT G_M13772_IG08
-       xor      rdi, rdi
-       xor      esi, esi
+       je       SHORT G_M13772_IG08
+       lea      rsi, bword ptr [rdi+0x10]
+       mov      edi, dword ptr [rdi+0x08]
        jmp      SHORT G_M13772_IG09
-						;; size=15 bbWeight=0.50 PerfScore 2.38
+						;; size=18 bbWeight=0.50 PerfScore 3.38
 G_M13772_IG07:
-       mov      rbx, gword ptr [rbp-0x28]
-       mov      edi, dword ptr [rbp-0x20]
-       cmp      dword ptr [rbp+0x28], edi
+       mov      rbx, gword ptr [rbp-0x18]
+       mov      esi, dword ptr [rbp-0x10]
+       cmp      dword ptr [rbp+0x28], esi
        jne      SHORT G_M13772_IG15
-       mov      r15, gword ptr [rbp+0x20]
-       test     r15, r15
-       jne      SHORT G_M13772_IG16
-       xor      rdi, rdi
-       xor      r14d, r14d
+       mov      rdi, gword ptr [rbp+0x20]
+       test     rdi, rdi
+       je       SHORT G_M13772_IG16
+       lea      rdx, bword ptr [rdi+0x10]
+       mov      eax, dword ptr [rdi+0x08]
+       mov      rdi, rdx
        jmp      SHORT G_M13772_IG17
-						;; size=28 bbWeight=0.50 PerfScore 4.88
+						;; size=33 bbWeight=0.50 PerfScore 6.00
 G_M13772_IG08:
-       lea      rsi, bword ptr [rdi+0x10]
-       mov      edi, dword ptr [rdi+0x08]
-       mov      rax, rsi
-       mov      esi, edi
-       mov      rdi, rax
-						;; size=15 bbWeight=0.50 PerfScore 1.62
+       xor      rsi, rsi
+       xor      edi, edi
+						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M13772_IG09:
        test     rdx, rdx
        jne      SHORT G_M13772_IG10
        xor      rax, rax
        xor      ecx, ecx
        jmp      SHORT G_M13772_IG11
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M13772_IG10:
        lea      rax, bword ptr [rdx+0x10]
        mov      ecx, dword ptr [rdx+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M13772_IG11:
-       cmp      esi, ecx
+       cmp      edi, ecx
        jne      SHORT G_M13772_IG12
        mov      edx, ecx
        shl      rdx, 2
+       mov      rdi, rsi
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M13772_IG13
-						;; size=27 bbWeight=0.50 PerfScore 3.75
+						;; size=30 bbWeight=0.50 PerfScore 3.88
 G_M13772_IG12:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M13772_IG13:
        test     eax, eax
        je       SHORT G_M13772_IG07
        mov      eax, 1
 						;; size=9 bbWeight=0.50 PerfScore 0.75
 G_M13772_IG14:
        add      rsp, 24
        pop      rbx
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=0.50 PerfScore 1.62
+						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M13772_IG15:
        xor      eax, eax
        jmp      SHORT G_M13772_IG21
 						;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M13772_IG16:
-       lea      rdi, bword ptr [r15+0x10]
-       mov      r14d, dword ptr [r15+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.25
+       xor      rdi, rdi
+       xor      eax, eax
+						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M13772_IG17:
        test     rbx, rbx
        jne      SHORT G_M13772_IG18
        xor      rsi, rsi
        xor      edx, edx
        jmp      SHORT G_M13772_IG19
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M13772_IG18:
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M13772_IG19:
-       cmp      r14d, edx
+       cmp      eax, edx
        jne      SHORT G_M13772_IG20
        mov      edx, edx
        shl      rdx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M13772_IG21
-						;; size=25 bbWeight=0.50 PerfScore 3.62
+						;; size=24 bbWeight=0.50 PerfScore 3.62
 G_M13772_IG20:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M13772_IG21:
        add      rsp, 24
        pop      rbx
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=0.50 PerfScore 1.62
+						;; size=7 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 281, prolog size 21, PerfScore 55.38, instruction count 99, allocated bytes for code 281 (MethodHash=09c8ca33) for method System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c:<FindBySerialNumber>b__10_0(System.ValueTuple`2[System.Numerics.BigInteger,System.Numerics.BigInteger],System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte:this (FullOpts)
+; Total bytes of code 264, prolog size 17, PerfScore 52.25, instruction count 92, allocated bytes for code 264 (MethodHash=09c8ca33) for method System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c:<FindBySerialNumber>b__10_0(System.ValueTuple`2[System.Numerics.BigInteger,System.Numerics.BigInteger],System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte:this (FullOpts)
-16 (-1.41 % of base) - System.Text.Json.JsonDocument:Parse(System.Buffers.ReadOnlySequence`1[ubyte],System.Text.Json.JsonDocumentOptions):System.Text.Json.JsonDocument
 ; Assembly listing for method System.Text.Json.JsonDocument:Parse(System.Buffers.ReadOnlySequence`1[ubyte],System.Text.Json.JsonDocumentOptions):System.Text.Json.JsonDocument (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 25 single block inlinees; 15 inlinees without PGO data
+; 0 inlinees with PGO data; 24 single block inlinees; 16 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00    ] ( 15,  8.50)  struct (24) [rbp+0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def <System.Buffers.ReadOnlySequence`1[ubyte]>
 ;  V01 arg1         [V01    ] (  3,  3   )  struct ( 8) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op single-def <System.Text.Json.JsonDocumentOptions>
 ;  V02 loc0         [V02,T25] (  3,  2   )  struct ( 8) [rbp-0x38]  do-not-enreg[S] <System.Text.Json.JsonReaderOptions>
 ;  V03 loc1         [V03,T13] (  8,  2.50)     int  ->  [rbp-0x3C]  do-not-enreg[Z] EH-live
 ;  V04 loc2         [V04,T04] ( 12,  3.50)     ref  ->  [rbp-0x78]  class-hnd EH-live spill-single-def <ubyte[]>
 ;  V05 loc3         [V05,T33] (  2,  1   )     ref  ->  rax         class-hnd exact single-def <System.Text.Json.JsonDocument>
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[ubyte]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;  V13 tmp6         [V13    ] (  9,  4.50)  struct (16) [rbp-0x50]  do-not-enreg[SFAR] multireg-arg multireg-ret must-init "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
 ;  V14 tmp7         [V14,T14] (  5,  2.50)     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;  V15 tmp8         [V15,T17] (  5,  2.50)     int  ->  r15         "Inline stloc first use temp"
 ;  V16 tmp9         [V16,T30] (  3,  1.50)     int  ->  r14         "Inline stloc first use temp"
-;  V17 tmp10        [V17,T42] (  2,  1   )   ubyte  ->  rdx         "Inline stloc first use temp"
+;  V17 tmp10        [V17,T43] (  2,  1   )   ubyte  ->  rdx         "Inline stloc first use temp"
 ;* V18 tmp11        [V18    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.ReadOnlyMemory`1[ubyte]>
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V21 tmp14        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Buffers.ReadOnlySequenceSegment`1[ubyte]>
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V23 tmp16        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
 ;* V24 tmp17        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp18        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V26 tmp19        [V26,T11] (  3,  3   )     int  ->  r14         "Inlining Arg"
 ;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V28 tmp21        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
 ;  V29 tmp22        [V29,T28] (  2,  2   )     int  ->  r15         "Inlining Arg"
-;  V30 tmp23        [V30,T43] (  2,  1   )    long  ->  rdi         "Inline return value spill temp"
+;  V30 tmp23        [V30,T44] (  2,  1   )    long  ->  rdi         "Inline return value spill temp"
 ;  V31 tmp24        [V31,T34] (  2,  1   )     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;  V32 tmp25        [V32,T35] (  2,  1   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V33 tmp26        [V33,T44] (  2,  1   )     int  ->  r15         "Inline stloc first use temp"
-;  V34 tmp27        [V34,T45] (  2,  1   )     int  ->  r14         "Inline stloc first use temp"
+;  V33 tmp26        [V33,T45] (  2,  1   )     int  ->  r15         "Inline stloc first use temp"
+;  V34 tmp27        [V34,T46] (  2,  1   )     int  ->  r14         "Inline stloc first use temp"
 ;  V35 tmp28        [V35,T36] (  2,  1   )     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <System.Buffers.ReadOnlySequenceSegment`1[ubyte]>
 ;* V36 tmp29        [V36    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V37 tmp30        [V37    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V38 tmp31        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V39 tmp32        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Buffers.ReadOnlySequenceSegment`1[ubyte]>
-;* V40 tmp33        [V40    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V42 tmp35        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[ubyte]>
-;* V43 tmp36        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;  V44 tmp37        [V44    ] ( 16,  8   )  struct (16) [rbp-0x60]  do-not-enreg[SBR] multireg-ret must-init "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
-;  V45 tmp38        [V45,T15] (  5,  2.50)     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V46 tmp39        [V46,T18] (  5,  2.50)     int  ->  r14         "Inline stloc first use temp"
-;  V47 tmp40        [V47,T31] (  3,  1.50)     int  ->  r13         "Inline stloc first use temp"
-;  V48 tmp41        [V48,T46] (  2,  1   )   ubyte  ->  rdx         "Inline stloc first use temp"
-;* V49 tmp42        [V49    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.ReadOnlyMemory`1[ubyte]>
-;* V50 tmp43        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[ubyte]>
-;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlyMemory`1[ubyte]>
-;* V52 tmp45        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Buffers.ReadOnlySequenceSegment`1[ubyte]>
-;* V53 tmp46        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
-;* V54 tmp47        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
-;* V55 tmp48        [V55    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V56 tmp49        [V56    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V57 tmp50        [V57,T12] (  3,  3   )     int  ->  r13         "Inlining Arg"
-;* V58 tmp51        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
-;* V59 tmp52        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
-;  V60 tmp53        [V60,T29] (  2,  2   )     int  ->  rcx         "Inlining Arg"
-;* V61 tmp54        [V61    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
-;  V62 tmp55        [V62,T05] (  6,  3   )   byref  ->  rsi         "Inline stloc first use temp"
-;  V63 tmp56        [V63,T01] (  8,  4   )     int  ->  r14         "Inline stloc first use temp"
-;* V64 tmp57        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Object>
-;* V65 tmp58        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V66 tmp59        [V66    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
-;* V67 tmp60        [V67    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
-;* V68 tmp61        [V68    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
-;  V69 tmp62        [V69,T32] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
-;* V70 tmp63        [V70    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V71 tmp64        [V71    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <ubyte[]>
-;* V72 tmp65        [V72    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
-;  V73 tmp66        [V73,T26] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;* V74 tmp67        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V75 tmp68        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V76 tmp69        [V76    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V77 tmp70        [V77    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V78 tmp71        [V78    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V79 tmp72        [V79    ] (  8,  8   )  struct (16) [rbp-0x70]  do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
-;* V80 tmp73        [V80    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
-;* V81 tmp74        [V81    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V82 tmp75        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V83 tmp76        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;* V84 tmp77        [V84    ] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V85 tmp78        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
-;* V86 tmp79        [V86    ] (  0,  0   )     ref  ->  zero-ref    "field V09._object (fldOffset=0x0)" P-INDEP
-;* V87 tmp80        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x8)" P-INDEP
-;* V88 tmp81        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0xc)" P-INDEP
-;* V89 tmp82        [V89    ] (  0,  0   )     ref  ->  zero-ref    "field V10._object (fldOffset=0x0)" P-INDEP
-;* V90 tmp83        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x8)" P-INDEP
-;* V91 tmp84        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0xc)" P-INDEP
-;* V92 tmp85        [V92    ] (  0,  0   )     ref  ->  zero-ref    "field V12._object (fldOffset=0x0)" P-INDEP
-;* V93 tmp86        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x8)" P-INDEP
-;* V94 tmp87        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0xc)" P-INDEP
-;  V95 tmp88        [V95,T16] (  5,  2.50)     ref  ->  [rbp-0x50]  do-not-enreg[] "field V13._object (fldOffset=0x0)" P-DEP
-;  V96 tmp89        [V96,T19] (  5,  2.50)     int  ->  [rbp-0x48]  do-not-enreg[] "field V13._index (fldOffset=0x8)" P-DEP
-;  V97 tmp90        [V97,T20] (  5,  2.50)     int  ->  [rbp-0x44]  do-not-enreg[] "field V13._length (fldOffset=0xc)" P-DEP
-;  V98 tmp91        [V98,T37] (  2,  1   )     ref  ->  rbx         single-def "field V19._object (fldOffset=0x0)" P-INDEP
-;  V99 tmp92        [V99,T47] (  2,  1   )     int  ->  r13         "field V19._index (fldOffset=0x8)" P-INDEP
-;  V100 tmp93       [V100,T48] (  2,  1   )     int  ->  rdi         "field V19._length (fldOffset=0xc)" P-INDEP
-;* V101 tmp94       [V101    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V20._object (fldOffset=0x0)" P-INDEP
-;* V102 tmp95       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V20._index (fldOffset=0x8)" P-INDEP
-;* V103 tmp96       [V103    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0xc)" P-INDEP
-;* V104 tmp97       [V104    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._object (fldOffset=0x0)" P-INDEP
-;* V105 tmp98       [V105    ] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x8)" P-INDEP
-;* V106 tmp99       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0xc)" P-INDEP
-;  V107 tmp100      [V107,T38] (  2,  1   )     ref  ->  rbx         single-def "field V27._object (fldOffset=0x0)" P-INDEP
-;  V108 tmp101      [V108,T49] (  2,  1   )     int  ->  r15         "field V27._index (fldOffset=0x8)" P-INDEP
-;  V109 tmp102      [V109,T50] (  2,  1   )     int  ->  r14         "field V27._length (fldOffset=0xc)" P-INDEP
-;  V110 tmp103      [V110,T23] (  4,  2   )   byref  ->  rbx         "field V40._reference (fldOffset=0x0)" P-INDEP
-;  V111 tmp104      [V111,T21] (  5,  2.50)     int  ->  r15         "field V40._length (fldOffset=0x8)" P-INDEP
-;* V112 tmp105      [V112    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V113 tmp106      [V113    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;* V114 tmp107      [V114    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V42._object (fldOffset=0x0)" P-INDEP
-;* V115 tmp108      [V115    ] (  0,  0   )     int  ->  zero-ref    "field V42._index (fldOffset=0x8)" P-INDEP
-;* V116 tmp109      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0xc)" P-INDEP
-;* V117 tmp110      [V117    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V118 tmp111      [V118    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
-;  V119 tmp112      [V119,T00] (  9,  4.50)     ref  ->  [rbp-0x60]  do-not-enreg[] "field V44._object (fldOffset=0x0)" P-DEP
-;  V120 tmp113      [V120,T24] (  4,  2   )     int  ->  [rbp-0x58]  do-not-enreg[] "field V44._index (fldOffset=0x8)" P-DEP
-;  V121 tmp114      [V121,T22] (  5,  2.50)     int  ->  [rbp-0x54]  do-not-enreg[] "field V44._length (fldOffset=0xc)" P-DEP
-;  V122 tmp115      [V122,T39] (  2,  1   )     ref  ->  r12         single-def "field V50._object (fldOffset=0x0)" P-INDEP
-;  V123 tmp116      [V123,T51] (  2,  1   )     int  ->  rcx         "field V50._index (fldOffset=0x8)" P-INDEP
-;  V124 tmp117      [V124,T52] (  2,  1   )     int  ->  rdi         "field V50._length (fldOffset=0xc)" P-INDEP
-;* V125 tmp118      [V125    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V51._object (fldOffset=0x0)" P-INDEP
-;* V126 tmp119      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V51._index (fldOffset=0x8)" P-INDEP
-;* V127 tmp120      [V127    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0xc)" P-INDEP
-;* V128 tmp121      [V128    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V53._object (fldOffset=0x0)" P-INDEP
-;* V129 tmp122      [V129    ] (  0,  0   )     int  ->  zero-ref    "field V53._index (fldOffset=0x8)" P-INDEP
-;* V130 tmp123      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0xc)" P-INDEP
-;  V131 tmp124      [V131,T40] (  2,  1   )     ref  ->  r12         single-def "field V58._object (fldOffset=0x0)" P-INDEP
-;  V132 tmp125      [V132,T53] (  2,  1   )     int  ->  rcx         "field V58._index (fldOffset=0x8)" P-INDEP
-;  V133 tmp126      [V133,T54] (  2,  1   )     int  ->  r13         "field V58._length (fldOffset=0xc)" P-INDEP
-;* V134 tmp127      [V134    ] (  0,  0   )   byref  ->  zero-ref    "field V61._reference (fldOffset=0x0)" P-INDEP
-;* V135 tmp128      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V61._length (fldOffset=0x8)" P-INDEP
-;* V136 tmp129      [V136    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V137 tmp130      [V137    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V138 tmp131      [V138    ] (  0,  0   )   byref  ->  zero-ref    "field V67._reference (fldOffset=0x0)" P-DEP
-;* V139 tmp132      [V139    ] (  0,  0   )     int  ->  zero-ref    "field V67._length (fldOffset=0x8)" P-DEP
-;  V140 tmp133      [V140,T41] (  2,  1   )   byref  ->  rsi         "field V68._reference (fldOffset=0x0)" P-INDEP
-;  V141 tmp134      [V141,T55] (  2,  1   )     int  ->  r14         "field V68._length (fldOffset=0x8)" P-INDEP
-;* V142 tmp135      [V142    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V74._reference (fldOffset=0x0)" P-INDEP
-;* V143 tmp136      [V143    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
-;* V144 tmp137      [V144    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V75._reference (fldOffset=0x0)" P-INDEP
-;* V145 tmp138      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V75._length (fldOffset=0x8)" P-INDEP
-;  V146 tmp139      [V146,T06] (  4,  3   )     ref  ->  [rbp-0x70]  do-not-enreg[] "field V79._object (fldOffset=0x0)" P-DEP
-;  V147 tmp140      [V147,T09] (  4,  3   )     int  ->  [rbp-0x68]  do-not-enreg[] "field V79._index (fldOffset=0x8)" P-DEP
-;  V148 tmp141      [V148,T10] (  4,  3   )     int  ->  [rbp-0x64]  do-not-enreg[] "field V79._length (fldOffset=0xc)" P-DEP
-;* V149 tmp142      [V149    ] (  0,  0   )     ref  ->  zero-ref    "field V80._object (fldOffset=0x0)" P-INDEP
-;* V150 tmp143      [V150    ] (  0,  0   )     int  ->  zero-ref    "field V80._index (fldOffset=0x8)" P-INDEP
-;* V151 tmp144      [V151    ] (  0,  0   )     int  ->  zero-ref    "field V80._length (fldOffset=0xc)" P-INDEP
-;  V152 tmp145      [V152,T59] (  3,  0   )   byref  ->  rdi         "field V81._reference (fldOffset=0x0)" P-INDEP
-;  V153 tmp146      [V153,T61] (  3,  0   )     int  ->  rsi         "field V81._length (fldOffset=0x8)" P-INDEP
-;  V154 tmp147      [V154,T27] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
-;  V155 tmp148      [V155,T02] (  4,  4   )     ref  ->  rax         single-def "BlockOp address local"
-;  V156 tmp149      [V156,T60] (  3,  0   )     ref  ->  rax         single-def "argument with side effect"
-;  V157 tmp150      [V157,T03] (  4,  4   )     ref  ->  rax         single-def "BlockOp address local"
-;  V158 PSPSym      [V158,T58] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
-;  V159 cse0        [V159,T56] (  2,  1   )     int  ->  r15         "CSE #03: conservative"
-;  V160 cse1        [V160,T57] (  2,  1   )     int  ->  rcx         "CSE #08: conservative"
-;  V161 cse2        [V161,T07] (  4,  3   )     ref  ->  rsi         "CSE #01: moderate"
-;  V162 cse3        [V162,T08] (  4,  3   )     ref  ->  rbx         "CSE #02: moderate"
+;* V40 tmp33        [V40    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.Span`1[ubyte]>
+;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;* V42 tmp35        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V43 tmp36        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V44 tmp37        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[ubyte]>
+;* V45 tmp38        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;  V46 tmp39        [V46    ] ( 16,  8   )  struct (16) [rbp-0x60]  do-not-enreg[SBR] multireg-ret must-init "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
+;  V47 tmp40        [V47,T15] (  5,  2.50)     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V48 tmp41        [V48,T18] (  5,  2.50)     int  ->  r14         "Inline stloc first use temp"
+;  V49 tmp42        [V49,T31] (  3,  1.50)     int  ->  r13         "Inline stloc first use temp"
+;  V50 tmp43        [V50,T47] (  2,  1   )   ubyte  ->  rdx         "Inline stloc first use temp"
+;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.ReadOnlyMemory`1[ubyte]>
+;* V52 tmp45        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[ubyte]>
+;* V53 tmp46        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlyMemory`1[ubyte]>
+;* V54 tmp47        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Buffers.ReadOnlySequenceSegment`1[ubyte]>
+;* V55 tmp48        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
+;* V56 tmp49        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
+;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V58 tmp51        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V59 tmp52        [V59,T12] (  3,  3   )     int  ->  r13         "Inlining Arg"
+;* V60 tmp53        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
+;* V61 tmp54        [V61    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
+;  V62 tmp55        [V62,T29] (  2,  2   )     int  ->  rcx         "Inlining Arg"
+;* V63 tmp56        [V63    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
+;  V64 tmp57        [V64,T05] (  6,  3   )   byref  ->  rsi         "Inline stloc first use temp"
+;  V65 tmp58        [V65,T01] (  8,  4   )     int  ->  r14         "Inline stloc first use temp"
+;* V66 tmp59        [V66    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Object>
+;* V67 tmp60        [V67    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V68 tmp61        [V68    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
+;* V69 tmp62        [V69    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
+;* V70 tmp63        [V70    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
+;  V71 tmp64        [V71,T32] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
+;* V72 tmp65        [V72    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V73 tmp66        [V73    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <ubyte[]>
+;* V74 tmp67        [V74    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
+;  V75 tmp68        [V75,T26] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;* V76 tmp69        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V77 tmp70        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V78 tmp71        [V78    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V79 tmp72        [V79    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V80 tmp73        [V80    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V81 tmp74        [V81    ] (  8,  8   )  struct (16) [rbp-0x70]  do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
+;* V82 tmp75        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
+;* V83 tmp76        [V83    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V84 tmp77        [V84    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V85 tmp78        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V86 tmp79        [V86    ] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V87 tmp80        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;* V88 tmp81        [V88    ] (  0,  0   )     ref  ->  zero-ref    "field V09._object (fldOffset=0x0)" P-INDEP
+;* V89 tmp82        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x8)" P-INDEP
+;* V90 tmp83        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0xc)" P-INDEP
+;* V91 tmp84        [V91    ] (  0,  0   )     ref  ->  zero-ref    "field V10._object (fldOffset=0x0)" P-INDEP
+;* V92 tmp85        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x8)" P-INDEP
+;* V93 tmp86        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0xc)" P-INDEP
+;* V94 tmp87        [V94    ] (  0,  0   )     ref  ->  zero-ref    "field V12._object (fldOffset=0x0)" P-INDEP
+;* V95 tmp88        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x8)" P-INDEP
+;* V96 tmp89        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0xc)" P-INDEP
+;  V97 tmp90        [V97,T16] (  5,  2.50)     ref  ->  [rbp-0x50]  do-not-enreg[] "field V13._object (fldOffset=0x0)" P-DEP
+;  V98 tmp91        [V98,T19] (  5,  2.50)     int  ->  [rbp-0x48]  do-not-enreg[] "field V13._index (fldOffset=0x8)" P-DEP
+;  V99 tmp92        [V99,T20] (  5,  2.50)     int  ->  [rbp-0x44]  do-not-enreg[] "field V13._length (fldOffset=0xc)" P-DEP
+;  V100 tmp93       [V100,T37] (  2,  1   )     ref  ->  rbx         single-def "field V19._object (fldOffset=0x0)" P-INDEP
+;  V101 tmp94       [V101,T48] (  2,  1   )     int  ->  r13         "field V19._index (fldOffset=0x8)" P-INDEP
+;  V102 tmp95       [V102,T49] (  2,  1   )     int  ->  rdi         "field V19._length (fldOffset=0xc)" P-INDEP
+;* V103 tmp96       [V103    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V20._object (fldOffset=0x0)" P-INDEP
+;* V104 tmp97       [V104    ] (  0,  0   )     int  ->  zero-ref    "field V20._index (fldOffset=0x8)" P-INDEP
+;* V105 tmp98       [V105    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0xc)" P-INDEP
+;* V106 tmp99       [V106    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._object (fldOffset=0x0)" P-INDEP
+;* V107 tmp100      [V107    ] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x8)" P-INDEP
+;* V108 tmp101      [V108    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0xc)" P-INDEP
+;  V109 tmp102      [V109,T38] (  2,  1   )     ref  ->  rbx         single-def "field V27._object (fldOffset=0x0)" P-INDEP
+;  V110 tmp103      [V110,T50] (  2,  1   )     int  ->  r15         "field V27._index (fldOffset=0x8)" P-INDEP
+;  V111 tmp104      [V111,T51] (  2,  1   )     int  ->  r14         "field V27._length (fldOffset=0xc)" P-INDEP
+;  V112 tmp105      [V112,T23] (  4,  2   )   byref  ->  rbx         "field V40._reference (fldOffset=0x0)" P-INDEP
+;  V113 tmp106      [V113,T21] (  5,  2.50)     int  ->  r15         "field V40._length (fldOffset=0x8)" P-INDEP
+;* V114 tmp107      [V114    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V115 tmp108      [V115    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
+;  V116 tmp109      [V116,T39] (  2,  1   )   byref  ->  rbx         single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;  V117 tmp110      [V117,T52] (  2,  1   )     int  ->  r15         "field V42._length (fldOffset=0x8)" P-INDEP
+;* V118 tmp111      [V118    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V119 tmp112      [V119    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;* V120 tmp113      [V120    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V44._object (fldOffset=0x0)" P-INDEP
+;* V121 tmp114      [V121    ] (  0,  0   )     int  ->  zero-ref    "field V44._index (fldOffset=0x8)" P-INDEP
+;* V122 tmp115      [V122    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0xc)" P-INDEP
+;* V123 tmp116      [V123    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V124 tmp117      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
+;  V125 tmp118      [V125,T00] (  9,  4.50)     ref  ->  [rbp-0x60]  do-not-enreg[] "field V46._object (fldOffset=0x0)" P-DEP
+;  V126 tmp119      [V126,T24] (  4,  2   )     int  ->  [rbp-0x58]  do-not-enreg[] "field V46._index (fldOffset=0x8)" P-DEP
+;  V127 tmp120      [V127,T22] (  5,  2.50)     int  ->  [rbp-0x54]  do-not-enreg[] "field V46._length (fldOffset=0xc)" P-DEP
+;  V128 tmp121      [V128,T40] (  2,  1   )     ref  ->  r12         single-def "field V52._object (fldOffset=0x0)" P-INDEP
+;  V129 tmp122      [V129,T53] (  2,  1   )     int  ->  rcx         "field V52._index (fldOffset=0x8)" P-INDEP
+;  V130 tmp123      [V130,T54] (  2,  1   )     int  ->  rdi         "field V52._length (fldOffset=0xc)" P-INDEP
+;* V131 tmp124      [V131    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V53._object (fldOffset=0x0)" P-INDEP
+;* V132 tmp125      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V53._index (fldOffset=0x8)" P-INDEP
+;* V133 tmp126      [V133    ] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0xc)" P-INDEP
+;* V134 tmp127      [V134    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V55._object (fldOffset=0x0)" P-INDEP
+;* V135 tmp128      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V55._index (fldOffset=0x8)" P-INDEP
+;* V136 tmp129      [V136    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0xc)" P-INDEP
+;  V137 tmp130      [V137,T41] (  2,  1   )     ref  ->  r12         single-def "field V60._object (fldOffset=0x0)" P-INDEP
+;  V138 tmp131      [V138,T55] (  2,  1   )     int  ->  rcx         "field V60._index (fldOffset=0x8)" P-INDEP
+;  V139 tmp132      [V139,T56] (  2,  1   )     int  ->  r13         "field V60._length (fldOffset=0xc)" P-INDEP
+;* V140 tmp133      [V140    ] (  0,  0   )   byref  ->  zero-ref    "field V63._reference (fldOffset=0x0)" P-INDEP
+;* V141 tmp134      [V141    ] (  0,  0   )     int  ->  zero-ref    "field V63._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp135      [V142    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V67._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp136      [V143    ] (  0,  0   )     int  ->  zero-ref    "field V67._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp137      [V144    ] (  0,  0   )   byref  ->  zero-ref    "field V69._reference (fldOffset=0x0)" P-DEP
+;* V145 tmp138      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V69._length (fldOffset=0x8)" P-DEP
+;  V146 tmp139      [V146,T42] (  2,  1   )   byref  ->  rsi         "field V70._reference (fldOffset=0x0)" P-INDEP
+;  V147 tmp140      [V147,T57] (  2,  1   )     int  ->  r14         "field V70._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp141      [V148    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V76._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp142      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V76._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp143      [V150    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp144      [V151    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
+;  V152 tmp145      [V152,T06] (  4,  3   )     ref  ->  [rbp-0x70]  do-not-enreg[] "field V81._object (fldOffset=0x0)" P-DEP
+;  V153 tmp146      [V153,T09] (  4,  3   )     int  ->  [rbp-0x68]  do-not-enreg[] "field V81._index (fldOffset=0x8)" P-DEP
+;  V154 tmp147      [V154,T10] (  4,  3   )     int  ->  [rbp-0x64]  do-not-enreg[] "field V81._length (fldOffset=0xc)" P-DEP
+;* V155 tmp148      [V155    ] (  0,  0   )     ref  ->  zero-ref    "field V82._object (fldOffset=0x0)" P-INDEP
+;* V156 tmp149      [V156    ] (  0,  0   )     int  ->  zero-ref    "field V82._index (fldOffset=0x8)" P-INDEP
+;* V157 tmp150      [V157    ] (  0,  0   )     int  ->  zero-ref    "field V82._length (fldOffset=0xc)" P-INDEP
+;  V158 tmp151      [V158,T61] (  3,  0   )   byref  ->  rdi         "field V83._reference (fldOffset=0x0)" P-INDEP
+;  V159 tmp152      [V159,T63] (  3,  0   )     int  ->  rsi         "field V83._length (fldOffset=0x8)" P-INDEP
+;  V160 tmp153      [V160,T27] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V161 tmp154      [V161,T02] (  4,  4   )     ref  ->  rax         single-def "BlockOp address local"
+;  V162 tmp155      [V162,T62] (  3,  0   )     ref  ->  rax         single-def "argument with side effect"
+;  V163 tmp156      [V163,T03] (  4,  4   )     ref  ->  rax         single-def "BlockOp address local"
+;  V164 PSPSym      [V164,T60] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
+;  V165 cse0        [V165,T58] (  2,  1   )     int  ->  r15         "CSE #03: conservative"
+;  V166 cse1        [V166,T59] (  2,  1   )     int  ->  rcx         "CSE #08: conservative"
+;  V167 cse2        [V167,T07] (  4,  3   )     ref  ->  rsi         "CSE #01: moderate"
+;  V168 cse3        [V168,T08] (  4,  3   )     ref  ->  rbx         "CSE #02: moderate"
 ;
 ; Lcl frame size = 88
 
 G_M21420_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 88
        lea      rbp, [rsp+0x80]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x70], ymm8
        vmovdqa  xmmword ptr [rbp-0x50], xmm8
        mov      qword ptr [rbp-0x80], rsp
        mov      qword ptr [rbp-0x30], rdi
 						;; size=45 bbWeight=1 PerfScore 13.08
 G_M21420_IG02:
        lea      rdi, [rbp-0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonDocumentOptions:GetReaderOptions():System.Text.Json.JsonReaderOptions:this
        call     [rax]System.Text.Json.JsonDocumentOptions:GetReaderOptions():System.Text.Json.JsonReaderOptions:this
        mov      qword ptr [rbp-0x38], rax
        mov      rsi, gword ptr [rbp+0x10]
        mov      rbx, gword ptr [rbp+0x18]
        cmp      rsi, rbx
        jne      SHORT G_M21420_IG08
 						;; size=33 bbWeight=1 PerfScore 8.00
 G_M21420_IG03:
        test     rsi, rsi
        jne      G_M21420_IG10
        xor      rdi, rdi
        mov      gword ptr [rbp-0x50], rdi
 						;; size=15 bbWeight=0.50 PerfScore 1.25
 G_M21420_IG04:
        mov      dword ptr [rbp-0x48], edi
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M21420_IG05:
        mov      dword ptr [rbp-0x44], edi
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M21420_IG06:
        mov      rdi, gword ptr [rbp-0x50]
        mov      rsi, qword ptr [rbp-0x48]
        mov      rdx, qword ptr [rbp-0x38]
        xor      rcx, rcx
        xor      r8, r8
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonDocument:Parse(System.ReadOnlyMemory`1[ubyte],System.Text.Json.JsonReaderOptions,ubyte[],System.Text.Json.PooledByteBufferWriter):System.Text.Json.JsonDocument
        call     [rax]System.Text.Json.JsonDocument:Parse(System.ReadOnlyMemory`1[ubyte],System.Text.Json.JsonReaderOptions,ubyte[],System.Text.Json.PooledByteBufferWriter):System.Text.Json.JsonDocument
        nop      
 						;; size=30 bbWeight=0.50 PerfScore 3.50
 G_M21420_IG07:
        add      rsp, 88
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M21420_IG08:
        mov      r15d, dword ptr [rbp+0x20]
        and      r15d, 0xD1FFAB1E
        mov      r14d, dword ptr [rbp+0x24]
        and      r14d, 0xD1FFAB1E
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ReadOnlySequenceSegment`1[ubyte]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      r13, rax
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ReadOnlySequenceSegment`1[ubyte]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        movsxd   rdi, r14d
        add      rdi, qword ptr [rax+0x10]
        movsxd   rsi, r15d
        add      rsi, qword ptr [r13+0x10]
        sub      rdi, rsi
        movsxd   rsi, edi
        cmp      rdi, rsi
        jne      G_M21420_IG39
        mov      dword ptr [rbp-0x3C], edi
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M21420_IG37
 						;; size=123 bbWeight=0.50 PerfScore 11.75
 G_M21420_IG09:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, dword ptr [rbp-0x3C]
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      rcx, rax
        mov      gword ptr [rbp-0x78], rcx
        jmp      G_M21420_IG13
 						;; size=42 bbWeight=0.50 PerfScore 6.38
 G_M21420_IG10:
        mov      r15d, dword ptr [rbp+0x20]
        mov      r14d, dword ptr [rbp+0x24]
        cmp      rsi, rbx
        setne    dl
        movzx    rdx, dl
        mov      edi, r15d
        or       edi, r14d
        jl       SHORT G_M21420_IG11
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ReadOnlySequenceSegment`1[ubyte]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      rbx, gword ptr [rax+0x18]
        mov      r13d, dword ptr [rax+0x20]
        mov      edi, dword ptr [rax+0x24]
        sub      r14d, r15d
        mov      esi, r15d
        mov      edx, r14d
        add      rsi, rdx
        cmp      rsi, rdi
        jbe      SHORT G_M21420_IG12
        jmp      G_M21420_IG38
 						;; size=80 bbWeight=0.50 PerfScore 9.38
 G_M21420_IG11:
        lea      rdi, [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.ReadOnlySequence`1[ubyte]:GetFirstBufferSlow(System.Object,ubyte):System.ReadOnlyMemory`1[ubyte]:this
        call     [rax]System.Buffers.ReadOnlySequence`1[ubyte]:GetFirstBufferSlow(System.Object,ubyte):System.ReadOnlyMemory`1[ubyte]:this
        mov      gword ptr [rbp-0x50], rax
        mov      qword ptr [rbp-0x48], rdx
        jmp      G_M21420_IG06
 						;; size=29 bbWeight=0.50 PerfScore 3.88
 G_M21420_IG12:
        add      r15d, r13d
        mov      gword ptr [rbp-0x50], rbx
        mov      dword ptr [rbp-0x48], r15d
        mov      dword ptr [rbp-0x44], r14d
        jmp      G_M21420_IG06
 						;; size=20 bbWeight=0.50 PerfScore 2.62
 G_M21420_IG13:
        test     rcx, rcx
-       jne      SHORT G_M21420_IG14
-       xor      rbx, rbx
-       xor      r15d, r15d
-       jmp      SHORT G_M21420_IG15
-						;; size=12 bbWeight=0.50 PerfScore 1.88
-G_M21420_IG14:
+       je       SHORT G_M21420_IG14
        lea      rbx, bword ptr [rcx+0x10]
        mov      r15d, dword ptr [rcx+0x08]
-       mov      rcx, gword ptr [rbp-0x78]
-						;; size=12 bbWeight=0.50 PerfScore 1.75
+       jmp      SHORT G_M21420_IG15
+						;; size=15 bbWeight=0.50 PerfScore 2.88
+G_M21420_IG14:
+       xor      rbx, rbx
+       xor      r15d, r15d
+						;; size=5 bbWeight=0.50 PerfScore 0.25
 G_M21420_IG15:
        mov      rsi, gword ptr [rbp+0x10]
        cmp      rsi, gword ptr [rbp+0x18]
        jne      SHORT G_M21420_IG19
        mov      rsi, gword ptr [rbp+0x10]
        test     rsi, rsi
        jne      SHORT G_M21420_IG20
        xor      rsi, rsi
        mov      gword ptr [rbp-0x60], rsi
 						;; size=25 bbWeight=0.50 PerfScore 3.75
 G_M21420_IG16:
        mov      dword ptr [rbp-0x58], esi
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M21420_IG17:
        mov      dword ptr [rbp-0x54], esi
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M21420_IG18:
        xor      rsi, rsi
        xor      r14d, r14d
        cmp      gword ptr [rbp-0x60], 0
        je       G_M21420_IG25
        mov      rsi, gword ptr [rbp-0x60]
        mov      rsi, qword ptr [rsi]
        test     dword ptr [rsi], 0xD1FFAB1E
        je       G_M21420_IG23
        mov      rsi, gword ptr [rbp-0x60]
        add      rsi, 16
        mov      rdx, gword ptr [rbp-0x60]
        mov      r14d, dword ptr [rdx+0x08]
        jmp      G_M21420_IG24
 						;; size=56 bbWeight=0.50 PerfScore 8.38
 G_M21420_IG19:
        mov      rsi, rbx
        mov      edx, r15d
        lea      rdi, [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.BuffersExtensions:CopyToMultiSegment[ubyte](byref,System.Span`1[ubyte])
        call     [rax]System.Buffers.BuffersExtensions:CopyToMultiSegment[ubyte](byref,System.Span`1[ubyte])
        jmp      G_M21420_IG26
 						;; size=27 bbWeight=0.50 PerfScore 3.12
 G_M21420_IG20:
        mov      r14d, dword ptr [rbp+0x20]
        mov      r13d, dword ptr [rbp+0x24]
        cmp      rsi, gword ptr [rbp+0x18]
        setne    dl
        movzx    rdx, dl
        mov      edi, r14d
        or       edi, r13d
        jl       SHORT G_M21420_IG21
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ReadOnlySequenceSegment`1[ubyte]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      r12, gword ptr [rax+0x18]
        mov      ecx, dword ptr [rax+0x20]
        mov      edi, dword ptr [rax+0x24]
        sub      r13d, r14d
        mov      esi, r14d
        mov      edx, r13d
        add      rsi, rdx
        cmp      rsi, rdi
        jbe      SHORT G_M21420_IG22
        jmp      G_M21420_IG32
 						;; size=80 bbWeight=0.50 PerfScore 10.25
 G_M21420_IG21:
        lea      rdi, [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.ReadOnlySequence`1[ubyte]:GetFirstBufferSlow(System.Object,ubyte):System.ReadOnlyMemory`1[ubyte]:this
        call     [rax]System.Buffers.ReadOnlySequence`1[ubyte]:GetFirstBufferSlow(System.Object,ubyte):System.ReadOnlyMemory`1[ubyte]:this
        mov      gword ptr [rbp-0x60], rax
        mov      qword ptr [rbp-0x58], rdx
-       mov      rcx, gword ptr [rbp-0x78]
        jmp      G_M21420_IG18
-						;; size=33 bbWeight=0.50 PerfScore 4.38
+						;; size=29 bbWeight=0.50 PerfScore 3.88
 G_M21420_IG22:
        add      ecx, r14d
        mov      gword ptr [rbp-0x60], r12
        mov      dword ptr [rbp-0x58], ecx
        mov      dword ptr [rbp-0x54], r13d
-       mov      rcx, gword ptr [rbp-0x78]
        jmp      G_M21420_IG18
-						;; size=23 bbWeight=0.50 PerfScore 3.12
+						;; size=19 bbWeight=0.50 PerfScore 2.62
 G_M21420_IG23:
        mov      rdi, gword ptr [rbp-0x60]
        mov      rax, gword ptr [rbp-0x60]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
        mov      rsi, rax
        mov      r14d, edx
-       mov      rcx, gword ptr [rbp-0x78]
-						;; size=28 bbWeight=0.50 PerfScore 5.25
+						;; size=24 bbWeight=0.50 PerfScore 4.75
 G_M21420_IG24:
        mov      edx, dword ptr [rbp-0x58]
        and      edx, 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x54]
        add      rdi, rdx
        mov      eax, r14d
        cmp      rdi, rax
        ja       G_M21420_IG35
        add      rsi, rdx
        mov      r14d, dword ptr [rbp-0x54]
 						;; size=34 bbWeight=0.50 PerfScore 2.62
 G_M21420_IG25:
        cmp      r14d, r15d
        jg       G_M21420_IG34
        ja       SHORT G_M21420_IG33
        mov      edx, r14d
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
 						;; size=29 bbWeight=0.50 PerfScore 3.00
 G_M21420_IG26:
        mov      rcx, gword ptr [rbp-0x78]
        test     rcx, rcx
        jne      SHORT G_M21420_IG27
        cmp      dword ptr [rbp-0x3C], 0
        je       SHORT G_M21420_IG28
        jmp      SHORT G_M21420_IG35
 						;; size=17 bbWeight=0.50 PerfScore 3.62
 G_M21420_IG27:
        mov      edi, dword ptr [rcx+0x08]
        cmp      edi, dword ptr [rbp-0x3C]
        jb       SHORT G_M21420_IG35
        mov      gword ptr [rbp-0x70], rcx
        xor      edi, edi
        mov      dword ptr [rbp-0x68], edi
        mov      edi, dword ptr [rbp-0x3C]
        mov      dword ptr [rbp-0x64], edi
        jmp      SHORT G_M21420_IG31
 						;; size=25 bbWeight=0.50 PerfScore 5.62
 G_M21420_IG28:
        xor      rdi, rdi
        mov      gword ptr [rbp-0x70], rdi
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M21420_IG29:
        mov      dword ptr [rbp-0x68], edi
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M21420_IG30:
        mov      dword ptr [rbp-0x64], edi
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M21420_IG31:
        mov      rdi, gword ptr [rbp-0x70]
        mov      rsi, qword ptr [rbp-0x68]
        mov      rdx, qword ptr [rbp-0x38]
        xor      r8, r8
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonDocument:Parse(System.ReadOnlyMemory`1[ubyte],System.Text.Json.JsonReaderOptions,ubyte[],System.Text.Json.PooledByteBufferWriter):System.Text.Json.JsonDocument
        call     [rax]System.Text.Json.JsonDocument:Parse(System.ReadOnlyMemory`1[ubyte],System.Text.Json.JsonReaderOptions,ubyte[],System.Text.Json.PooledByteBufferWriter):System.Text.Json.JsonDocument
        jmp      SHORT G_M21420_IG36
 						;; size=29 bbWeight=0.50 PerfScore 4.25
 G_M21420_IG32:
        mov      edi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M21420_IG33:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M21420_IG34:
        mov      edi, 6
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M21420_IG35:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M21420_IG36:
        add      rsp, 88
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M21420_IG37:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M21420_IG09
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M21420_IG38:
        mov      edi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M21420_IG39:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M21420_IG40:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x80]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M21420_IG41:
        cmp      gword ptr [rbp-0x78], 0
        je       SHORT G_M21420_IG42
        mov      rcx, gword ptr [rbp-0x78]
        mov      esi, dword ptr [rcx+0x08]
        cmp      esi, dword ptr [rbp-0x3C]
        jb       SHORT G_M21420_IG44
        lea      rdi, bword ptr [rcx+0x10]
        mov      esi, dword ptr [rbp-0x3C]
        jmp      SHORT G_M21420_IG43
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M21420_IG42:
        cmp      dword ptr [rbp-0x3C], 0
        jne      SHORT G_M21420_IG44
        xor      rdi, rdi
        xor      esi, esi
 						;; size=10 bbWeight=0 PerfScore 0.00
 G_M21420_IG43:
        mov      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:ClearWithoutReferences(byref,ulong)
        call     [rax]System.SpanHelpers:ClearWithoutReferences(byref,ulong)
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.ArrayPool`1[ubyte]:get_Shared():System.Buffers.ArrayPool`1[ubyte]
        call     [rax]System.Buffers.ArrayPool`1[ubyte]:get_Shared():System.Buffers.ArrayPool`1[ubyte]
        mov      rdi, rax
        mov      rsi, gword ptr [rbp-0x78]
        xor      edx, edx
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.ArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
        call     CORINFO_HELP_RETHROW
        int3     
 						;; size=51 bbWeight=0 PerfScore 0.00
 G_M21420_IG44:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1134, prolog size 45, PerfScore 128.71, instruction count 299, allocated bytes for code 1134 (MethodHash=f8b2ac53) for method System.Text.Json.JsonDocument:Parse(System.Buffers.ReadOnlySequence`1[ubyte],System.Text.Json.JsonDocumentOptions):System.Text.Json.JsonDocument (FullOpts)
+; Total bytes of code 1118, prolog size 45, PerfScore 126.71, instruction count 295, allocated bytes for code 1118 (MethodHash=f8b2ac53) for method System.Text.Json.JsonDocument:Parse(System.Buffers.ReadOnlySequence`1[ubyte],System.Text.Json.JsonDocumentOptions):System.Text.Json.JsonDocument (FullOpts)
-15 (-3.55 % of base) - System.ApplicationId:Equals(System.Object):ubyte:this
 ; Assembly listing for method System.ApplicationId:Equals(System.Object):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 25 single block inlinees; 10 inlinees without PGO data
+; 0 inlinees with PGO data; 24 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  7,  4.50)     ref  ->  rbx         this class-hnd single-def <System.ApplicationId>
 ;  V01 arg1         [V01,T01] (  5,  3.75)     ref  ->  rsi         class-hnd single-def <System.Object>
 ;  V02 loc0         [V02,T12] (  6,  3   )     ref  ->  r15         class-hnd exact <System.ApplicationId>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.ApplicationId>
 ;  V05 tmp2         [V05,T02] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V06 tmp3         [V06,T08] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Version>
 ;  V07 tmp4         [V07,T03] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V08 tmp5         [V08,T04] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[ubyte]>
 ;* V10 tmp7         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;  V11 tmp8         [V11,T13] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V12 tmp9         [V12,T05] (  5,  5   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V13 tmp10        [V13,T23] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
 ;* V14 tmp11        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V15 tmp12        [V15,T17] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V15 tmp12        [V15,T18] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;  V16 tmp13        [V16,T14] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V17 tmp14        [V17,T09] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
 ;  V18 tmp15        [V18,T15] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V19 tmp16        [V19,T06] (  5,  5   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V20 tmp17        [V20,T24] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
 ;* V21 tmp18        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V22 tmp19        [V22,T18] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V22 tmp19        [V22,T19] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;  V23 tmp20        [V23,T16] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V24 tmp21        [V24,T07] (  5,  5   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V25 tmp22        [V25,T25] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
 ;* V26 tmp23        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V27 tmp24        [V27,T19] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
-;  V28 tmp25        [V28,T10] (  4,  4   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <ubyte[]>
-;* V29 tmp26        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V30 tmp27        [V30,T11] (  4,  4   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <ubyte[]>
-;* V31 tmp28        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;  V32 tmp29        [V32,T26] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
-;* V33 tmp30        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V34 tmp31        [V34,T38] (  2,  1   )     int  ->  r13         "Inline stloc first use temp"
-;* V35 tmp32        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V36 tmp33        [V36,T27] (  3,  1.50)     int  ->  rax         "Inline stloc first use temp"
-;* V37 tmp34        [V37    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V38 tmp35        [V38,T20] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
-;* V39 tmp36        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V40 tmp37        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V41 tmp38        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V42 tmp39        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V43 tmp40        [V43    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V44 tmp41        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V45 tmp42        [V45,T33] (  2,  1   )   byref  ->  rsi         single-def "field V10._reference (fldOffset=0x0)" P-INDEP
-;  V46 tmp43        [V46,T39] (  2,  1   )     int  ->  rax         "field V10._length (fldOffset=0x8)" P-INDEP
-;  V47 tmp44        [V47,T21] (  3,  1.50)   byref  ->  rdi         "field V29._reference (fldOffset=0x0)" P-INDEP
-;  V48 tmp45        [V48,T28] (  3,  1.50)     int  ->  r13         "field V29._length (fldOffset=0x8)" P-INDEP
-;  V49 tmp46        [V49,T22] (  3,  1.50)   byref  ->  rsi         "field V31._reference (fldOffset=0x0)" P-INDEP
-;  V50 tmp47        [V50,T29] (  3,  1.50)     int  ->  rax         "field V31._length (fldOffset=0x8)" P-INDEP
-;  V51 tmp48        [V51,T34] (  2,  1   )   byref  ->  rdi         single-def "field V33._reference (fldOffset=0x0)" P-INDEP
-;  V52 tmp49        [V52,T40] (  2,  1   )     int  ->  r13         "field V33._length (fldOffset=0x8)" P-INDEP
-;  V53 tmp50        [V53,T35] (  2,  1   )   byref  ->  rsi         single-def "field V35._reference (fldOffset=0x0)" P-INDEP
-;  V54 tmp51        [V54,T41] (  2,  1   )     int  ->  rax         "field V35._length (fldOffset=0x8)" P-INDEP
-;  V55 tmp52        [V55,T36] (  2,  1   )   byref  ->  rdi         single-def "field V39._reference (fldOffset=0x0)" P-INDEP
-;* V56 tmp53        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
-;  V57 tmp54        [V57,T37] (  2,  1   )   byref  ->  rsi         single-def "field V40._reference (fldOffset=0x0)" P-INDEP
-;* V58 tmp55        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
-;* V59 tmp56        [V59    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V60 tmp57        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;* V61 tmp58        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V62 tmp59        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
-;  V63 cse0         [V63,T30] (  3,  1.50)     int  ->  rdx         "CSE #01: moderate"
-;  V64 cse1         [V64,T31] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
-;  V65 cse2         [V65,T32] (  3,  1.50)     int  ->  rdx         "CSE #03: moderate"
+;  V27 tmp24        [V27,T20] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V28 tmp25        [V28,T10] (  4,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <ubyte[]>
+;* V29 tmp26        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;* V30 tmp27        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;  V31 tmp28        [V31,T11] (  4,  4   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <ubyte[]>
+;* V32 tmp29        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;  V33 tmp30        [V33,T26] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
+;* V34 tmp31        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V35 tmp32        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V36 tmp33        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V37 tmp34        [V37    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V38 tmp35        [V38    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V39 tmp36        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
+;* V40 tmp37        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V41 tmp38        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V42 tmp39        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V43 tmp40        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;  V44 tmp41        [V44,T21] (  3,  1.50)   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp42        [V45,T27] (  3,  1.50)     int  ->  rax         "field V09._length (fldOffset=0x8)" P-INDEP
+;* V46 tmp43        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp44        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp45        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp46        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
+;  V50 tmp47        [V50,T31] (  2,  1   )   byref  ->  rdi         single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;  V51 tmp48        [V51,T32] (  2,  1   )     int  ->  rax         "field V30._length (fldOffset=0x8)" P-INDEP
+;  V52 tmp49        [V52,T22] (  3,  1.50)   byref  ->  rsi         "field V32._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp50        [V53,T17] (  4,  2   )     int  ->  rcx         "field V32._length (fldOffset=0x8)" P-INDEP
+;* V54 tmp51        [V54    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V55 tmp52        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
+;* V56 tmp53        [V56    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V57 tmp54        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
+;* V58 tmp55        [V58    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V59 tmp56        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
+;* V60 tmp57        [V60    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V61 tmp58        [V61    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
+;* V62 tmp59        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V63 tmp60        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;* V64 tmp61        [V64    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V65 tmp62        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;  V66 cse0         [V66,T28] (  3,  1.50)     int  ->  rdx         "CSE #01: moderate"
+;  V67 cse1         [V67,T29] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
+;  V68 cse2         [V68,T30] (  3,  1.50)     int  ->  rdx         "CSE #03: moderate"
 ;
 ; Lcl frame size = 0
 
 G_M517_IG01:
        push     rbp
        push     r15
-       push     r14
-       push     r13
        push     rbx
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
-						;; size=16 bbWeight=1 PerfScore 5.75
+						;; size=12 bbWeight=1 PerfScore 3.75
 G_M517_IG02:
        test     rsi, rsi
        je       SHORT G_M517_IG04
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M517_IG03:
        mov      rax, 0xD1FFAB1E      ; System.ApplicationId
        cmp      qword ptr [rsi], rax
        je       SHORT G_M517_IG06
 						;; size=15 bbWeight=0.25 PerfScore 1.06
 G_M517_IG04:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M517_IG05:
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=0.50 PerfScore 1.75
+						;; size=5 bbWeight=0.50 PerfScore 1.25
 G_M517_IG06:
        mov      r15, rsi
        mov      rdi, gword ptr [rbx+0x18]
        mov      rsi, gword ptr [r15+0x18]
        cmp      rdi, rsi
        jne      SHORT G_M517_IG11
 						;; size=16 bbWeight=0.50 PerfScore 2.75
 G_M517_IG07:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, gword ptr [r15+0x28]
        cmp      rdi, rsi
        jne      SHORT G_M517_IG14
 						;; size=13 bbWeight=0.50 PerfScore 2.62
 G_M517_IG08:
        mov      rdi, gword ptr [rbx+0x20]
        mov      rsi, gword ptr [r15+0x20]
        cmp      rdi, rsi
        jne      G_M517_IG15
 						;; size=17 bbWeight=0.50 PerfScore 2.62
 G_M517_IG09:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rsi, gword ptr [r15+0x10]
        cmp      rdi, rsi
        jne      G_M517_IG18
 						;; size=17 bbWeight=0.50 PerfScore 2.62
 G_M517_IG10:
-       mov      r14, gword ptr [rbx+0x08]
-       test     r14, r14
-       jne      G_M517_IG21
-       xor      rdi, rdi
-       xor      r13d, r13d
+       mov      rsi, gword ptr [rbx+0x08]
+       test     rsi, rsi
+       je       G_M517_IG21
+       lea      rdi, bword ptr [rsi+0x10]
+       mov      eax, dword ptr [rsi+0x08]
        jmp      G_M517_IG22
-						;; size=23 bbWeight=0.50 PerfScore 2.88
+						;; size=25 bbWeight=0.50 PerfScore 3.88
 G_M517_IG11:
        test     rdi, rdi
        je       SHORT G_M517_IG04
        test     rsi, rsi
        je       SHORT G_M517_IG04
        mov      edx, dword ptr [rdi+0x08]
        cmp      edx, dword ptr [rsi+0x08]
        jne      SHORT G_M517_IG12
        add      rdi, 12
        add      rsi, 12
        add      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M517_IG13
 						;; size=42 bbWeight=0.50 PerfScore 7.25
 G_M517_IG12:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M517_IG13:
        test     eax, eax
        je       G_M517_IG04
        jmp      SHORT G_M517_IG07
 						;; size=10 bbWeight=0.50 PerfScore 1.62
 G_M517_IG14:
        test     rdi, rdi
        je       G_M517_IG04
        test     rsi, rsi
        je       G_M517_IG04
        mov      rax, 0xD1FFAB1E      ; code for System.Version:Equals(System.Version):ubyte:this
        call     [rax]System.Version:Equals(System.Version):ubyte:this
        test     eax, eax
        je       G_M517_IG04
        jmp      G_M517_IG08
 						;; size=43 bbWeight=0.50 PerfScore 4.50
 G_M517_IG15:
        test     rdi, rdi
        je       G_M517_IG04
        test     rsi, rsi
        je       G_M517_IG04
        mov      edx, dword ptr [rdi+0x08]
        cmp      edx, dword ptr [rsi+0x08]
        jne      SHORT G_M517_IG16
        add      rdi, 12
        add      rsi, 12
        add      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M517_IG17
 						;; size=50 bbWeight=0.50 PerfScore 7.25
 G_M517_IG16:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M517_IG17:
        test     eax, eax
        je       G_M517_IG04
        jmp      G_M517_IG09
 						;; size=13 bbWeight=0.50 PerfScore 1.62
 G_M517_IG18:
        test     rdi, rdi
        je       G_M517_IG04
        test     rsi, rsi
        je       G_M517_IG04
        mov      edx, dword ptr [rdi+0x08]
        cmp      edx, dword ptr [rsi+0x08]
        jne      SHORT G_M517_IG19
        add      rdi, 12
        add      rsi, 12
        add      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M517_IG20
 						;; size=50 bbWeight=0.50 PerfScore 7.25
 G_M517_IG19:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M517_IG20:
        test     eax, eax
        je       G_M517_IG04
        jmp      G_M517_IG10
 						;; size=13 bbWeight=0.50 PerfScore 1.62
 G_M517_IG21:
-       lea      rdi, bword ptr [r14+0x10]
-       mov      r13d, dword ptr [r14+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.25
+       xor      rdi, rdi
+       xor      eax, eax
+						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M517_IG22:
        mov      rdx, gword ptr [r15+0x08]
        test     rdx, rdx
        jne      SHORT G_M517_IG23
        xor      rsi, rsi
-       xor      eax, eax
+       xor      ecx, ecx
        jmp      SHORT G_M517_IG24
 						;; size=15 bbWeight=0.50 PerfScore 2.88
 G_M517_IG23:
        lea      rsi, bword ptr [rdx+0x10]
-       mov      eax, dword ptr [rdx+0x08]
+       mov      ecx, dword ptr [rdx+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M517_IG24:
-       cmp      r13d, eax
+       cmp      eax, ecx
        jne      SHORT G_M517_IG25
-       mov      edx, eax
+       mov      edx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M517_IG26
-						;; size=21 bbWeight=0.50 PerfScore 3.38
+						;; size=20 bbWeight=0.50 PerfScore 3.38
 G_M517_IG25:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M517_IG26:
        pop      rbx
-       pop      r13
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=0.50 PerfScore 1.75
+						;; size=5 bbWeight=0.50 PerfScore 1.25
 
-; Total bytes of code 422, prolog size 13, PerfScore 65.56, instruction count 125, allocated bytes for code 422 (MethodHash=7539fdfa) for method System.ApplicationId:Equals(System.Object):ubyte:this (FullOpts)
+; Total bytes of code 407, prolog size 9, PerfScore 62.56, instruction count 119, allocated bytes for code 407 (MethodHash=7539fdfa) for method System.ApplicationId:Equals(System.Object):ubyte:this (FullOpts)
-8 (-4.28 % of base) - System.MemoryExtensions:CopyTo[double](double[],System.Memory`1[double])
 ; Assembly listing for method System.MemoryExtensions:CopyTo[double](double[],System.Memory`1[double]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <double[]>
-;  V01 arg1         [V01,T01] (  5,  4   )  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[double]>
+;  V01 arg1         [V01,T01] (  5,  3.50)  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[double]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[double]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[double]>
-;  V05 tmp3         [V05,T03] (  6,  4   )   byref  ->  rdi         "Inline stloc first use temp"
-;  V06 tmp4         [V06,T04] (  6,  4   )     int  ->  r15         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T02] (  7,  4.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V05 tmp3         [V05,T03] (  6,  3   )   byref  ->  rdi         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T04] (  6,  3   )     int  ->  r15         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T02] (  7,  3.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[double]>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[double]>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[double]>
 ;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[double]>
-;  V12 tmp10        [V12,T08] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
-;  V13 tmp11        [V13,T09] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
+;  V12 tmp10        [V12,T06] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
+;  V13 tmp11        [V13,T07] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <double[]>
 ;* V15 tmp13        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <double[]>
-;  V16 tmp14        [V16,T07] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[double]>
 ;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[double]>
 ;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[double]>
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[double]>
 ;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp22        [V24,T09] (  2,  1   )   byref  ->  rdi         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V25 tmp23        [V25,T13] (  2,  1   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp26        [V28,T10] (  2,  1   )   byref  ->  rdi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp27        [V29,T14] (  2,  1   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-DEP
 ;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-DEP
-;  V32 tmp30        [V32,T10] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T11] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp30        [V32,T11] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp34        [V36,T06] (  3,  2   )   byref  ->  rsi         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V37 tmp35        [V37,T05] (  4,  3   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V36 tmp34        [V36,T12] (  2,  1   )   byref  ->  rsi         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V37 tmp35        [V37,T08] (  3,  1.50)     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M3483_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      gword ptr [rbp-0x20], rsi
        mov      qword ptr [rbp-0x18], rdx
        mov      rbx, rdi
 						;; size=24 bbWeight=1 PerfScore 6.00
 G_M3483_IG02:
+       test     rbx, rbx
+       je       SHORT G_M3483_IG07
+						;; size=5 bbWeight=1 PerfScore 1.25
+G_M3483_IG03:
        xor      rdi, rdi
        xor      r15d, r15d
        mov      rax, gword ptr [rbp-0x20]
        test     rax, rax
        je       SHORT G_M3483_IG06
-						;; size=14 bbWeight=1 PerfScore 2.75
-G_M3483_IG03:
        mov      rdi, qword ptr [rax]
        test     dword ptr [rdi], 0xD1FFAB1E
        je       SHORT G_M3483_IG04
        lea      rdi, bword ptr [rax+0x10]
        mov      r15d, dword ptr [rax+0x08]
        jmp      SHORT G_M3483_IG05
-						;; size=21 bbWeight=0.50 PerfScore 5.25
+						;; size=35 bbWeight=0.50 PerfScore 6.62
 G_M3483_IG04:
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[double]:GetSpan():System.Span`1[double]:this
        mov      rdi, rax
        mov      r15d, edx
 						;; size=19 bbWeight=0.50 PerfScore 3.88
 G_M3483_IG05:
        mov      edx, dword ptr [rbp-0x18]
        and      edx, 0xD1FFAB1E
        mov      esi, dword ptr [rbp-0x14]
        mov      eax, esi
        add      rax, rdx
        mov      ecx, r15d
        cmp      rax, rcx
-       ja       SHORT G_M3483_IG12
+       ja       SHORT G_M3483_IG10
        lea      rdi, bword ptr [rdi+8*rdx]
        mov      r15d, esi
 						;; size=32 bbWeight=0.50 PerfScore 2.50
 G_M3483_IG06:
-       test     rbx, rbx
-       jne      SHORT G_M3483_IG08
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M3483_IG07:
-       xor      rsi, rsi
-       xor      edx, edx
-       jmp      SHORT G_M3483_IG09
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M3483_IG08:
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
-						;; size=7 bbWeight=0.50 PerfScore 1.25
-G_M3483_IG09:
        cmp      edx, r15d
-       ja       SHORT G_M3483_IG11
-       mov      edx, edx
+       ja       SHORT G_M3483_IG09
        shl      rdx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+						;; size=28 bbWeight=0.50 PerfScore 3.75
+G_M3483_IG07:
        nop      
-						;; size=24 bbWeight=1 PerfScore 5.50
-G_M3483_IG10:
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M3483_IG08:
        add      rsp, 16
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
-G_M3483_IG11:
+G_M3483_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M3483_IG12:
+G_M3483_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 187, prolog size 13, PerfScore 32.38, instruction count 60, allocated bytes for code 187 (MethodHash=f03df264) for method System.MemoryExtensions:CopyTo[double](double[],System.Memory`1[double]) (FullOpts)
+; Total bytes of code 179, prolog size 13, PerfScore 27.00, instruction count 56, allocated bytes for code 179 (MethodHash=f03df264) for method System.MemoryExtensions:CopyTo[double](double[],System.Memory`1[double]) (FullOpts)
-8 (-4.28 % of base) - System.MemoryExtensions:CopyTo[int](int[],System.Memory`1[int])
 ; Assembly listing for method System.MemoryExtensions:CopyTo[int](int[],System.Memory`1[int]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <int[]>
-;  V01 arg1         [V01,T01] (  5,  4   )  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[int]>
+;  V01 arg1         [V01,T01] (  5,  3.50)  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[int]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[int]>
-;  V05 tmp3         [V05,T03] (  6,  4   )   byref  ->  rdi         "Inline stloc first use temp"
-;  V06 tmp4         [V06,T04] (  6,  4   )     int  ->  r15         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T02] (  7,  4.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V05 tmp3         [V05,T03] (  6,  3   )   byref  ->  rdi         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T04] (  6,  3   )     int  ->  r15         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T02] (  7,  3.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[int]>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[int]>
 ;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[int]>
-;  V12 tmp10        [V12,T08] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
-;  V13 tmp11        [V13,T09] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
+;  V12 tmp10        [V12,T06] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
+;  V13 tmp11        [V13,T07] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <int[]>
 ;* V15 tmp13        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <int[]>
-;  V16 tmp14        [V16,T07] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[int]>
 ;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[int]>
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp22        [V24,T09] (  2,  1   )   byref  ->  rdi         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V25 tmp23        [V25,T13] (  2,  1   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp26        [V28,T10] (  2,  1   )   byref  ->  rdi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp27        [V29,T14] (  2,  1   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-DEP
 ;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-DEP
-;  V32 tmp30        [V32,T10] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T11] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp30        [V32,T11] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp34        [V36,T06] (  3,  2   )   byref  ->  rsi         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V37 tmp35        [V37,T05] (  4,  3   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V36 tmp34        [V36,T12] (  2,  1   )   byref  ->  rsi         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V37 tmp35        [V37,T08] (  3,  1.50)     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M57661_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      gword ptr [rbp-0x20], rsi
        mov      qword ptr [rbp-0x18], rdx
        mov      rbx, rdi
 						;; size=24 bbWeight=1 PerfScore 6.00
 G_M57661_IG02:
+       test     rbx, rbx
+       je       SHORT G_M57661_IG07
+						;; size=5 bbWeight=1 PerfScore 1.25
+G_M57661_IG03:
        xor      rdi, rdi
        xor      r15d, r15d
        mov      rax, gword ptr [rbp-0x20]
        test     rax, rax
        je       SHORT G_M57661_IG06
-						;; size=14 bbWeight=1 PerfScore 2.75
-G_M57661_IG03:
        mov      rdi, qword ptr [rax]
        test     dword ptr [rdi], 0xD1FFAB1E
        je       SHORT G_M57661_IG04
        lea      rdi, bword ptr [rax+0x10]
        mov      r15d, dword ptr [rax+0x08]
        jmp      SHORT G_M57661_IG05
-						;; size=21 bbWeight=0.50 PerfScore 5.25
+						;; size=35 bbWeight=0.50 PerfScore 6.62
 G_M57661_IG04:
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[int]:GetSpan():System.Span`1[int]:this
        mov      rdi, rax
        mov      r15d, edx
 						;; size=19 bbWeight=0.50 PerfScore 3.88
 G_M57661_IG05:
        mov      edx, dword ptr [rbp-0x18]
        and      edx, 0xD1FFAB1E
        mov      esi, dword ptr [rbp-0x14]
        mov      eax, esi
        add      rax, rdx
        mov      ecx, r15d
        cmp      rax, rcx
-       ja       SHORT G_M57661_IG12
+       ja       SHORT G_M57661_IG10
        lea      rdi, bword ptr [rdi+4*rdx]
        mov      r15d, esi
 						;; size=32 bbWeight=0.50 PerfScore 2.50
 G_M57661_IG06:
-       test     rbx, rbx
-       jne      SHORT G_M57661_IG08
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M57661_IG07:
-       xor      rsi, rsi
-       xor      edx, edx
-       jmp      SHORT G_M57661_IG09
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M57661_IG08:
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
-						;; size=7 bbWeight=0.50 PerfScore 1.25
-G_M57661_IG09:
        cmp      edx, r15d
-       ja       SHORT G_M57661_IG11
-       mov      edx, edx
+       ja       SHORT G_M57661_IG09
        shl      rdx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+						;; size=28 bbWeight=0.50 PerfScore 3.75
+G_M57661_IG07:
        nop      
-						;; size=24 bbWeight=1 PerfScore 5.50
-G_M57661_IG10:
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M57661_IG08:
        add      rsp, 16
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
-G_M57661_IG11:
+G_M57661_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M57661_IG12:
+G_M57661_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 187, prolog size 13, PerfScore 32.38, instruction count 60, allocated bytes for code 187 (MethodHash=2bbd1ec2) for method System.MemoryExtensions:CopyTo[int](int[],System.Memory`1[int]) (FullOpts)
+; Total bytes of code 179, prolog size 13, PerfScore 27.00, instruction count 56, allocated bytes for code 179 (MethodHash=2bbd1ec2) for method System.MemoryExtensions:CopyTo[int](int[],System.Memory`1[int]) (FullOpts)
-8 (-4.28 % of base) - System.MemoryExtensions:CopyTo[long](long[],System.Memory`1[long])
 ; Assembly listing for method System.MemoryExtensions:CopyTo[long](long[],System.Memory`1[long]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <long[]>
-;  V01 arg1         [V01,T01] (  5,  4   )  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[long]>
+;  V01 arg1         [V01,T01] (  5,  3.50)  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[long]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[long]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[long]>
-;  V05 tmp3         [V05,T03] (  6,  4   )   byref  ->  rdi         "Inline stloc first use temp"
-;  V06 tmp4         [V06,T04] (  6,  4   )     int  ->  r15         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T02] (  7,  4.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V05 tmp3         [V05,T03] (  6,  3   )   byref  ->  rdi         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T04] (  6,  3   )     int  ->  r15         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T02] (  7,  3.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[long]>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[long]>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[long]>
 ;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[long]>
-;  V12 tmp10        [V12,T08] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
-;  V13 tmp11        [V13,T09] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
+;  V12 tmp10        [V12,T06] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
+;  V13 tmp11        [V13,T07] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <long[]>
 ;* V15 tmp13        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <long[]>
-;  V16 tmp14        [V16,T07] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[long]>
 ;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[long]>
 ;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[long]>
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[long]>
 ;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp22        [V24,T09] (  2,  1   )   byref  ->  rdi         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V25 tmp23        [V25,T13] (  2,  1   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp26        [V28,T10] (  2,  1   )   byref  ->  rdi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp27        [V29,T14] (  2,  1   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-DEP
 ;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-DEP
-;  V32 tmp30        [V32,T10] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T11] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp30        [V32,T11] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp34        [V36,T06] (  3,  2   )   byref  ->  rsi         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V37 tmp35        [V37,T05] (  4,  3   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V36 tmp34        [V36,T12] (  2,  1   )   byref  ->  rsi         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V37 tmp35        [V37,T08] (  3,  1.50)     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M28132_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      gword ptr [rbp-0x20], rsi
        mov      qword ptr [rbp-0x18], rdx
        mov      rbx, rdi
 						;; size=24 bbWeight=1 PerfScore 6.00
 G_M28132_IG02:
+       test     rbx, rbx
+       je       SHORT G_M28132_IG07
+						;; size=5 bbWeight=1 PerfScore 1.25
+G_M28132_IG03:
        xor      rdi, rdi
        xor      r15d, r15d
        mov      rax, gword ptr [rbp-0x20]
        test     rax, rax
        je       SHORT G_M28132_IG06
-						;; size=14 bbWeight=1 PerfScore 2.75
-G_M28132_IG03:
        mov      rdi, qword ptr [rax]
        test     dword ptr [rdi], 0xD1FFAB1E
        je       SHORT G_M28132_IG04
        lea      rdi, bword ptr [rax+0x10]
        mov      r15d, dword ptr [rax+0x08]
        jmp      SHORT G_M28132_IG05
-						;; size=21 bbWeight=0.50 PerfScore 5.25
+						;; size=35 bbWeight=0.50 PerfScore 6.62
 G_M28132_IG04:
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[long]:GetSpan():System.Span`1[long]:this
        mov      rdi, rax
        mov      r15d, edx
 						;; size=19 bbWeight=0.50 PerfScore 3.88
 G_M28132_IG05:
        mov      edx, dword ptr [rbp-0x18]
        and      edx, 0xD1FFAB1E
        mov      esi, dword ptr [rbp-0x14]
        mov      eax, esi
        add      rax, rdx
        mov      ecx, r15d
        cmp      rax, rcx
-       ja       SHORT G_M28132_IG12
+       ja       SHORT G_M28132_IG10
        lea      rdi, bword ptr [rdi+8*rdx]
        mov      r15d, esi
 						;; size=32 bbWeight=0.50 PerfScore 2.50
 G_M28132_IG06:
-       test     rbx, rbx
-       jne      SHORT G_M28132_IG08
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M28132_IG07:
-       xor      rsi, rsi
-       xor      edx, edx
-       jmp      SHORT G_M28132_IG09
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M28132_IG08:
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
-						;; size=7 bbWeight=0.50 PerfScore 1.25
-G_M28132_IG09:
        cmp      edx, r15d
-       ja       SHORT G_M28132_IG11
-       mov      edx, edx
+       ja       SHORT G_M28132_IG09
        shl      rdx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+						;; size=28 bbWeight=0.50 PerfScore 3.75
+G_M28132_IG07:
        nop      
-						;; size=24 bbWeight=1 PerfScore 5.50
-G_M28132_IG10:
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M28132_IG08:
        add      rsp, 16
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
-G_M28132_IG11:
+G_M28132_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M28132_IG12:
+G_M28132_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 187, prolog size 13, PerfScore 32.38, instruction count 60, allocated bytes for code 187 (MethodHash=604b921b) for method System.MemoryExtensions:CopyTo[long](long[],System.Memory`1[long]) (FullOpts)
+; Total bytes of code 179, prolog size 13, PerfScore 27.00, instruction count 56, allocated bytes for code 179 (MethodHash=604b921b) for method System.MemoryExtensions:CopyTo[long](long[],System.Memory`1[long]) (FullOpts)
-8 (-4.30 % of base) - System.MemoryExtensions:CopyTo[short](short[],System.Memory`1[short])
 ; Assembly listing for method System.MemoryExtensions:CopyTo[short](short[],System.Memory`1[short]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <short[]>
-;  V01 arg1         [V01,T01] (  5,  4   )  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[short]>
+;  V01 arg1         [V01,T01] (  5,  3.50)  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[short]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[short]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[short]>
-;  V05 tmp3         [V05,T03] (  6,  4   )   byref  ->  rdi         "Inline stloc first use temp"
-;  V06 tmp4         [V06,T04] (  6,  4   )     int  ->  r15         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T02] (  7,  4.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V05 tmp3         [V05,T03] (  6,  3   )   byref  ->  rdi         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T04] (  6,  3   )     int  ->  r15         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T02] (  7,  3.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[short]>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[short]>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[short]>
 ;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[short]>
-;  V12 tmp10        [V12,T08] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
-;  V13 tmp11        [V13,T09] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
+;  V12 tmp10        [V12,T06] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
+;  V13 tmp11        [V13,T07] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <short[]>
 ;* V15 tmp13        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <short[]>
-;  V16 tmp14        [V16,T07] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[short]>
 ;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[short]>
 ;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[short]>
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[short]>
 ;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp22        [V24,T09] (  2,  1   )   byref  ->  rdi         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V25 tmp23        [V25,T13] (  2,  1   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp26        [V28,T10] (  2,  1   )   byref  ->  rdi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp27        [V29,T14] (  2,  1   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-DEP
 ;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-DEP
-;  V32 tmp30        [V32,T10] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T11] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp30        [V32,T11] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp34        [V36,T06] (  3,  2   )   byref  ->  rsi         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V37 tmp35        [V37,T05] (  4,  3   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V36 tmp34        [V36,T12] (  2,  1   )   byref  ->  rsi         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V37 tmp35        [V37,T08] (  3,  1.50)     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M25948_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      gword ptr [rbp-0x20], rsi
        mov      qword ptr [rbp-0x18], rdx
        mov      rbx, rdi
 						;; size=24 bbWeight=1 PerfScore 6.00
 G_M25948_IG02:
+       test     rbx, rbx
+       je       SHORT G_M25948_IG07
+						;; size=5 bbWeight=1 PerfScore 1.25
+G_M25948_IG03:
        xor      rdi, rdi
        xor      r15d, r15d
        mov      rax, gword ptr [rbp-0x20]
        test     rax, rax
        je       SHORT G_M25948_IG06
-						;; size=14 bbWeight=1 PerfScore 2.75
-G_M25948_IG03:
        mov      rdi, qword ptr [rax]
        test     dword ptr [rdi], 0xD1FFAB1E
        je       SHORT G_M25948_IG04
        lea      rdi, bword ptr [rax+0x10]
        mov      r15d, dword ptr [rax+0x08]
        jmp      SHORT G_M25948_IG05
-						;; size=21 bbWeight=0.50 PerfScore 5.25
+						;; size=35 bbWeight=0.50 PerfScore 6.62
 G_M25948_IG04:
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[short]:GetSpan():System.Span`1[short]:this
        mov      rdi, rax
        mov      r15d, edx
 						;; size=19 bbWeight=0.50 PerfScore 3.88
 G_M25948_IG05:
        mov      edx, dword ptr [rbp-0x18]
        and      edx, 0xD1FFAB1E
        mov      esi, dword ptr [rbp-0x14]
        mov      eax, esi
        add      rax, rdx
        mov      ecx, r15d
        cmp      rax, rcx
-       ja       SHORT G_M25948_IG12
+       ja       SHORT G_M25948_IG10
        lea      rdi, bword ptr [rdi+2*rdx]
        mov      r15d, esi
 						;; size=32 bbWeight=0.50 PerfScore 2.50
 G_M25948_IG06:
-       test     rbx, rbx
-       jne      SHORT G_M25948_IG08
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M25948_IG07:
-       xor      rsi, rsi
-       xor      edx, edx
-       jmp      SHORT G_M25948_IG09
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M25948_IG08:
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
-						;; size=7 bbWeight=0.50 PerfScore 1.25
-G_M25948_IG09:
        cmp      edx, r15d
-       ja       SHORT G_M25948_IG11
-       mov      edx, edx
+       ja       SHORT G_M25948_IG09
        add      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+						;; size=27 bbWeight=0.50 PerfScore 3.62
+G_M25948_IG07:
        nop      
-						;; size=23 bbWeight=1 PerfScore 5.25
-G_M25948_IG10:
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M25948_IG08:
        add      rsp, 16
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
-G_M25948_IG11:
+G_M25948_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M25948_IG12:
+G_M25948_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 186, prolog size 13, PerfScore 32.12, instruction count 60, allocated bytes for code 186 (MethodHash=49e19aa3) for method System.MemoryExtensions:CopyTo[short](short[],System.Memory`1[short]) (FullOpts)
+; Total bytes of code 178, prolog size 13, PerfScore 26.88, instruction count 56, allocated bytes for code 178 (MethodHash=49e19aa3) for method System.MemoryExtensions:CopyTo[short](short[],System.Memory`1[short]) (FullOpts)
-8 (-4.28 % of base) - System.MemoryExtensions:CopyTo[System.Nullable`1[int]](System.Nullable`1[int][],System.Memory`1[System.Nullable`1[int]])
 ; Assembly listing for method System.MemoryExtensions:CopyTo[System.Nullable`1[int]](System.Nullable`1[int][],System.Memory`1[System.Nullable`1[int]]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <System.Nullable`1[int][]>
-;  V01 arg1         [V01,T01] (  5,  4   )  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[System.Nullable`1[int]]>
+;  V01 arg1         [V01,T01] (  5,  3.50)  struct (16) [rbp-0x20]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.Memory`1[System.Nullable`1[int]]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[System.Nullable`1[int]]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[System.Nullable`1[int]]>
-;  V05 tmp3         [V05,T03] (  6,  4   )   byref  ->  rdi         "Inline stloc first use temp"
-;  V06 tmp4         [V06,T04] (  6,  4   )     int  ->  r15         "Inline stloc first use temp"
-;  V07 tmp5         [V07,T02] (  7,  4.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V05 tmp3         [V05,T03] (  6,  3   )   byref  ->  rdi         "Inline stloc first use temp"
+;  V06 tmp4         [V06,T04] (  6,  3   )     int  ->  r15         "Inline stloc first use temp"
+;  V07 tmp5         [V07,T02] (  7,  3.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Nullable`1[int]]>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[System.Nullable`1[int]]>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[System.Nullable`1[int]]>
 ;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[System.Nullable`1[int]]>
-;  V12 tmp10        [V12,T08] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
-;  V13 tmp11        [V13,T09] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
+;  V12 tmp10        [V12,T06] (  3,  1.50)    long  ->  rdx         "Inline stloc first use temp"
+;  V13 tmp11        [V13,T07] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <System.Nullable`1[int][]>
 ;* V15 tmp13        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Nullable`1[int][]>
-;  V16 tmp14        [V16,T07] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V16 tmp14        [V16,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Nullable`1[int]]>
 ;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Nullable`1[int]]>
 ;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Nullable`1[int]]>
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Nullable`1[int]]>
 ;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp22        [V24,T09] (  2,  1   )   byref  ->  rdi         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V25 tmp23        [V25,T13] (  2,  1   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp26        [V28,T10] (  2,  1   )   byref  ->  rdi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp27        [V29,T14] (  2,  1   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-DEP
 ;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-DEP
-;  V32 tmp30        [V32,T10] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T11] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp30        [V32,T11] (  2,  1   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  r15         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp34        [V36,T06] (  3,  2   )   byref  ->  rsi         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V37 tmp35        [V37,T05] (  4,  3   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V36 tmp34        [V36,T12] (  2,  1   )   byref  ->  rsi         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V37 tmp35        [V37,T08] (  3,  1.50)     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 16
 
 G_M64528_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      gword ptr [rbp-0x20], rsi
        mov      qword ptr [rbp-0x18], rdx
        mov      rbx, rdi
 						;; size=24 bbWeight=1 PerfScore 6.00
 G_M64528_IG02:
+       test     rbx, rbx
+       je       SHORT G_M64528_IG07
+						;; size=5 bbWeight=1 PerfScore 1.25
+G_M64528_IG03:
        xor      rdi, rdi
        xor      r15d, r15d
        mov      rax, gword ptr [rbp-0x20]
        test     rax, rax
        je       SHORT G_M64528_IG06
-						;; size=14 bbWeight=1 PerfScore 2.75
-G_M64528_IG03:
        mov      rdi, qword ptr [rax]
        test     dword ptr [rdi], 0xD1FFAB1E
        je       SHORT G_M64528_IG04
        lea      rdi, bword ptr [rax+0x10]
        mov      r15d, dword ptr [rax+0x08]
        jmp      SHORT G_M64528_IG05
-						;; size=21 bbWeight=0.50 PerfScore 5.25
+						;; size=35 bbWeight=0.50 PerfScore 6.62
 G_M64528_IG04:
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[System.Nullable`1[int]]:GetSpan():System.Span`1[System.Nullable`1[int]]:this
        mov      rdi, rax
        mov      r15d, edx
 						;; size=19 bbWeight=0.50 PerfScore 3.88
 G_M64528_IG05:
        mov      edx, dword ptr [rbp-0x18]
        and      edx, 0xD1FFAB1E
        mov      esi, dword ptr [rbp-0x14]
        mov      eax, esi
        add      rax, rdx
        mov      ecx, r15d
        cmp      rax, rcx
-       ja       SHORT G_M64528_IG12
+       ja       SHORT G_M64528_IG10
        lea      rdi, bword ptr [rdi+8*rdx]
        mov      r15d, esi
 						;; size=32 bbWeight=0.50 PerfScore 2.50
 G_M64528_IG06:
-       test     rbx, rbx
-       jne      SHORT G_M64528_IG08
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M64528_IG07:
-       xor      rsi, rsi
-       xor      edx, edx
-       jmp      SHORT G_M64528_IG09
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M64528_IG08:
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
-						;; size=7 bbWeight=0.50 PerfScore 1.25
-G_M64528_IG09:
        cmp      edx, r15d
-       ja       SHORT G_M64528_IG11
-       mov      edx, edx
+       ja       SHORT G_M64528_IG09
        shl      rdx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+						;; size=28 bbWeight=0.50 PerfScore 3.75
+G_M64528_IG07:
        nop      
-						;; size=24 bbWeight=1 PerfScore 5.50
-G_M64528_IG10:
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M64528_IG08:
        add      rsp, 16
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
-G_M64528_IG11:
+G_M64528_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M64528_IG12:
+G_M64528_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 187, prolog size 13, PerfScore 32.38, instruction count 60, allocated bytes for code 187 (MethodHash=4c1803ef) for method System.MemoryExtensions:CopyTo[System.Nullable`1[int]](System.Nullable`1[int][],System.Memory`1[System.Nullable`1[int]]) (FullOpts)
+; Total bytes of code 179, prolog size 13, PerfScore 27.00, instruction count 56, allocated bytes for code 179 (MethodHash=4c1803ef) for method System.MemoryExtensions:CopyTo[System.Nullable`1[int]](System.Nullable`1[int][],System.Memory`1[System.Nullable`1[int]]) (FullOpts)
-8 (-3.15 % of base) - System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(System.ReadOnlySpan`1[ubyte]):System.Security.Cryptography.Cose.CoseHeaderValue
 ; Assembly listing for method System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(System.ReadOnlySpan`1[ubyte]):System.Security.Cryptography.Cose.CoseHeaderValue (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 9 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T00] (  9, 18   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Cbor.CborWriter>
 ;* V03 tmp2         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;* V04 tmp3         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.Security.Cryptography.Cose.CoseHeaderValue>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V06 tmp5         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[int]>
 ;* V07 tmp6         [V07    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V08 tmp7         [V08    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[int]>
-;  V09 tmp8         [V09,T07] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <ubyte[]>
+;  V09 tmp8         [V09,T05] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <ubyte[]>
 ;* V10 tmp9         [V10    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
 ;  V11 tmp10        [V11,T01] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
 ;* V12 tmp11        [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V13 tmp12        [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[ubyte]>
 ;* V14 tmp13        [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V15 tmp14        [V15    ] (  5, 10   )  struct (16) [rbp-0x28]  do-not-enreg[SBR] multireg-ret must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
-;* V16 tmp15        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
-;* V17 tmp16        [V17    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.Cose.CoseHeaderValue>
-;  V18 tmp17        [V18,T03] (  2,  2   )   byref  ->  rbx         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V19 tmp18        [V19,T04] (  2,  2   )     int  ->  r15         single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;* V20 tmp19        [V20    ] (  0,  0   )     ref  ->  zero-ref    "field V03._object (fldOffset=0x0)" P-INDEP
-;* V21 tmp20        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V03._index (fldOffset=0x8)" P-INDEP
-;* V22 tmp21        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0xc)" P-INDEP
-;* V23 tmp22        [V23,T10] (  0,  0   )   ubyte  ->  zero-ref    "field V06.hasValue (fldOffset=0x0)" P-INDEP
-;* V24 tmp23        [V24,T11] (  0,  0   )     int  ->  zero-ref    "field V06.value (fldOffset=0x4)" P-INDEP
-;* V25 tmp24        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "field V08.hasValue (fldOffset=0x0)" P-INDEP
-;* V26 tmp25        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V08.value (fldOffset=0x4)" P-INDEP
-;* V27 tmp26        [V27    ] (  0,  0   )     ref  ->  zero-ref    "field V10._object (fldOffset=0x0)" P-INDEP
-;* V28 tmp27        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x8)" P-INDEP
-;* V29 tmp28        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0xc)" P-INDEP
-;* V30 tmp29        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V31 tmp30        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V32 tmp31        [V32    ] (  0,  0   )     ref  ->  zero-ref    "field V13._object (fldOffset=0x0)" P-INDEP
-;* V33 tmp32        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x8)" P-INDEP
-;* V34 tmp33        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0xc)" P-INDEP
-;  V35 tmp34        [V35,T08] (  2,  2   )   byref  ->  rsi         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V36 tmp35        [V36,T09] (  2,  2   )     int  ->  rdx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V37 tmp36        [V37,T02] (  3,  4   )     ref  ->  [rbp-0x28]  do-not-enreg[] "field V15._object (fldOffset=0x0)" P-DEP
-;  V38 tmp37        [V38,T05] (  2,  3   )     int  ->  [rbp-0x20]  do-not-enreg[] "field V15._index (fldOffset=0x8)" P-DEP
-;  V39 tmp38        [V39,T06] (  2,  3   )     int  ->  [rbp-0x1C]  do-not-enreg[] "field V15._length (fldOffset=0xc)" P-DEP
-;* V40 tmp39        [V40    ] (  0,  0   )     ref  ->  zero-ref    "field V16._object (fldOffset=0x0)" P-INDEP
-;* V41 tmp40        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V16._index (fldOffset=0x8)" P-INDEP
-;* V42 tmp41        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0xc)" P-INDEP
+;  V15 tmp14        [V15    ] (  4,  4   )  struct (16) [rbp-0x28]  do-not-enreg[SBR] multireg-ret must-init "Inline return value spill temp" <System.Memory`1[ubyte]>
+;* V16 tmp15        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Memory`1[ubyte]>
+;* V17 tmp16        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
+;* V18 tmp17        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
+;* V19 tmp18        [V19    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.Cose.CoseHeaderValue>
+;  V20 tmp19        [V20,T02] (  2,  2   )   byref  ->  rbx         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V21 tmp20        [V21,T03] (  2,  2   )     int  ->  r15         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp21        [V22    ] (  0,  0   )     ref  ->  zero-ref    "field V03._object (fldOffset=0x0)" P-INDEP
+;* V23 tmp22        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V03._index (fldOffset=0x8)" P-INDEP
+;* V24 tmp23        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0xc)" P-INDEP
+;* V25 tmp24        [V25,T12] (  0,  0   )   ubyte  ->  zero-ref    "field V06.hasValue (fldOffset=0x0)" P-INDEP
+;* V26 tmp25        [V26,T13] (  0,  0   )     int  ->  zero-ref    "field V06.value (fldOffset=0x4)" P-INDEP
+;* V27 tmp26        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "field V08.hasValue (fldOffset=0x0)" P-INDEP
+;* V28 tmp27        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V08.value (fldOffset=0x4)" P-INDEP
+;* V29 tmp28        [V29    ] (  0,  0   )     ref  ->  zero-ref    "field V10._object (fldOffset=0x0)" P-INDEP
+;* V30 tmp29        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x8)" P-INDEP
+;* V31 tmp30        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0xc)" P-INDEP
+;* V32 tmp31        [V32    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V33 tmp32        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V34 tmp33        [V34    ] (  0,  0   )     ref  ->  zero-ref    "field V13._object (fldOffset=0x0)" P-INDEP
+;* V35 tmp34        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x8)" P-INDEP
+;* V36 tmp35        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0xc)" P-INDEP
+;  V37 tmp36        [V37,T06] (  2,  2   )   byref  ->  rsi         "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V38 tmp37        [V38,T08] (  2,  2   )     int  ->  rdx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V39 tmp38        [V39,T07] (  2,  2   )     ref  ->  [rbp-0x28]  do-not-enreg[] "field V15._object (fldOffset=0x0)" P-DEP
+;  V40 tmp39        [V40,T09] (  2,  2   )     int  ->  [rbp-0x20]  do-not-enreg[] "field V15._index (fldOffset=0x8)" P-DEP
+;  V41 tmp40        [V41,T10] (  2,  2   )     int  ->  [rbp-0x1C]  do-not-enreg[] "field V15._length (fldOffset=0xc)" P-DEP
+;* V42 tmp41        [V42    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._object (fldOffset=0x0)" P-INDEP
+;* V43 tmp42        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V16._index (fldOffset=0x8)" P-INDEP
+;* V44 tmp43        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0xc)" P-INDEP
+;  V45 tmp44        [V45,T04] (  3,  3   )     ref  ->  rbx         single-def "field V17._object (fldOffset=0x0)" P-INDEP
+;* V46 tmp45        [V46,T14] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x8)" P-INDEP
+;  V47 tmp46        [V47,T11] (  2,  2   )     int  ->  rdi         "field V17._length (fldOffset=0xc)" P-INDEP
+;* V48 tmp47        [V48    ] (  0,  0   )     ref  ->  zero-ref    "field V18._object (fldOffset=0x0)" P-INDEP
+;* V49 tmp48        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V18._index (fldOffset=0x8)" P-INDEP
+;* V50 tmp49        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0xc)" P-INDEP
 ;
 ; Lcl frame size = 24
 
 G_M19549_IG01:
        push     rbp
        push     r15
        push     r14
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x30]
        xor      eax, eax
        mov      qword ptr [rbp-0x28], rax
        mov      rbx, rdi
        mov      r15d, esi
 						;; size=27 bbWeight=1 PerfScore 6.50
 G_M19549_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Cbor.CborWriter
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      edi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Cbor.CborConformanceModeHelpers:Validate(int)
        call     [rax]System.Formats.Cbor.CborConformanceModeHelpers:Validate(int)
        mov      dword ptr [r14+0x54], 1
        mov      word  ptr [r14+0x5A], 0
        mov      byte  ptr [r14+0x60], 1
        mov      dword ptr [r14+0x64], 1
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M19549_IG05
-						;; size=82 bbWeight=1 PerfScore 13.25
+       je       SHORT G_M19549_IG05
+						;; size=78 bbWeight=1 PerfScore 13.25
 G_M19549_IG03:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[ubyte]:Value
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [r14+0x28]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, rbx
        mov      edx, r15d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Cbor.CborWriter:WriteByteString(System.ReadOnlySpan`1[ubyte]):this
        call     [rax]System.Formats.Cbor.CborWriter:WriteByteString(System.ReadOnlySpan`1[ubyte]):this
        movsxd   rsi, dword ptr [r14+0x48]
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        mov      rbx, rax
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Cbor.CborWriter:Encode(System.Span`1[ubyte]):int:this
        call     [rax]System.Formats.Cbor.CborWriter:Encode(System.Span`1[ubyte]):int:this
+       mov      edi, dword ptr [rbx+0x08]
        mov      gword ptr [rbp-0x28], rbx
-       xor      edi, edi
-       mov      dword ptr [rbp-0x20], edi
-       mov      rdi, gword ptr [rbp-0x28]
-       mov      edi, dword ptr [rdi+0x08]
+       xor      eax, eax
+       mov      dword ptr [rbp-0x20], eax
        mov      dword ptr [rbp-0x1C], edi
        mov      rax, gword ptr [rbp-0x28]
        mov      rdx, qword ptr [rbp-0x20]
-						;; size=114 bbWeight=1 PerfScore 27.50
+						;; size=110 bbWeight=1 PerfScore 26.50
 G_M19549_IG04:
        add      rsp, 24
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=11 bbWeight=1 PerfScore 3.25
 G_M19549_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M19549_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 254, prolog size 21, PerfScore 50.50, instruction count 58, allocated bytes for code 254 (MethodHash=ecf3b3a2) for method System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(System.ReadOnlySpan`1[ubyte]):System.Security.Cryptography.Cose.CoseHeaderValue (FullOpts)
+; Total bytes of code 246, prolog size 21, PerfScore 49.50, instruction count 57, allocated bytes for code 246 (MethodHash=ecf3b3a2) for method System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(System.ReadOnlySpan`1[ubyte]):System.Security.Cryptography.Cose.CoseHeaderValue (FullOpts)
-8 (-2.42 % of base) - System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(ubyte[]):System.Security.Cryptography.Cose.CoseHeaderValue
 ; Assembly listing for method System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(ubyte[]):System.Security.Cryptography.Cose.CoseHeaderValue (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 14 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  5,  5   )     ref  ->  rdi         class-hnd single-def <ubyte[]>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V03 tmp2         [V03    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V04 tmp3         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.Security.Cryptography.Cose.CoseHeaderValue>
-;  V05 tmp4         [V05,T15] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-;* V06 tmp5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V07 tmp6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V08 tmp7         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V09 tmp8         [V09    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;* V10 tmp9         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V11 tmp10        [V11,T00] (  9, 18   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Cbor.CborWriter>
-;* V12 tmp11        [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
-;* V13 tmp12        [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V14 tmp13        [V14    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[int]>
-;* V15 tmp14        [V15    ] (  0,  0   )     ref  ->  zero-ref   
-;* V16 tmp15        [V16    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[int]>
-;  V17 tmp16        [V17,T06] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <ubyte[]>
-;* V18 tmp17        [V18    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
-;  V19 tmp18        [V19,T02] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
-;* V20 tmp19        [V20    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
-;* V21 tmp20        [V21    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[ubyte]>
-;* V22 tmp21        [V22    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V23 tmp22        [V23    ] (  5, 10   )  struct (16) [rbp-0x28]  do-not-enreg[SBR] multireg-ret must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
-;* V24 tmp23        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
-;* V25 tmp24        [V25    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.Cose.CoseHeaderValue>
-;* V26 tmp25        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
-;* V27 tmp26        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V02._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp27        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp28        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp29        [V30,T07] (  2,  2   )   byref  ->  rbx         single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp30        [V31,T10] (  2,  2   )     int  ->  r15         "field V06._length (fldOffset=0x8)" P-INDEP
-;* V32 tmp31        [V32    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V33 tmp32        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V34 tmp33        [V34,T08] (  2,  2   )   byref  ->  rbx         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;  V35 tmp34        [V35,T11] (  2,  2   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
-;* V36 tmp35        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V12._object (fldOffset=0x0)" P-INDEP
-;* V37 tmp36        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x8)" P-INDEP
-;* V38 tmp37        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0xc)" P-INDEP
-;* V39 tmp38        [V39,T13] (  0,  0   )   ubyte  ->  zero-ref    "field V14.hasValue (fldOffset=0x0)" P-INDEP
-;* V40 tmp39        [V40,T14] (  0,  0   )     int  ->  zero-ref    "field V14.value (fldOffset=0x4)" P-INDEP
-;* V41 tmp40        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "field V16.hasValue (fldOffset=0x0)" P-INDEP
-;* V42 tmp41        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V16.value (fldOffset=0x4)" P-INDEP
-;* V43 tmp42        [V43    ] (  0,  0   )     ref  ->  zero-ref    "field V18._object (fldOffset=0x0)" P-INDEP
-;* V44 tmp43        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V18._index (fldOffset=0x8)" P-INDEP
-;* V45 tmp44        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0xc)" P-INDEP
-;* V46 tmp45        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp46        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V48 tmp47        [V48    ] (  0,  0   )     ref  ->  zero-ref    "field V21._object (fldOffset=0x0)" P-INDEP
-;* V49 tmp48        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V21._index (fldOffset=0x8)" P-INDEP
-;* V50 tmp49        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0xc)" P-INDEP
-;  V51 tmp50        [V51,T09] (  2,  2   )   byref  ->  rsi         "field V22._reference (fldOffset=0x0)" P-INDEP
-;  V52 tmp51        [V52,T12] (  2,  2   )     int  ->  rdx         "field V22._length (fldOffset=0x8)" P-INDEP
-;  V53 tmp52        [V53,T03] (  3,  4   )     ref  ->  [rbp-0x28]  do-not-enreg[] "field V23._object (fldOffset=0x0)" P-DEP
-;  V54 tmp53        [V54,T04] (  2,  3   )     int  ->  [rbp-0x20]  do-not-enreg[] "field V23._index (fldOffset=0x8)" P-DEP
-;  V55 tmp54        [V55,T05] (  2,  3   )     int  ->  [rbp-0x1C]  do-not-enreg[] "field V23._length (fldOffset=0xc)" P-DEP
-;* V56 tmp55        [V56    ] (  0,  0   )     ref  ->  zero-ref    "field V24._object (fldOffset=0x0)" P-INDEP
-;* V57 tmp56        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V24._index (fldOffset=0x8)" P-INDEP
-;* V58 tmp57        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0xc)" P-INDEP
-;  V59 tmp58        [V59,T16] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V05 tmp4         [V05,T20] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;* V06 tmp5         [V06    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
+;* V07 tmp6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;* V08 tmp7         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V09 tmp8         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V10 tmp9         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V11 tmp10        [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V12 tmp11        [V12    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V13 tmp12        [V13,T00] (  9, 18   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Cbor.CborWriter>
+;* V14 tmp13        [V14    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
+;* V15 tmp14        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V16 tmp15        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[int]>
+;* V17 tmp16        [V17    ] (  0,  0   )     ref  ->  zero-ref   
+;* V18 tmp17        [V18    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[int]>
+;  V19 tmp18        [V19,T04] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <ubyte[]>
+;* V20 tmp19        [V20    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
+;  V21 tmp20        [V21,T02] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
+;* V22 tmp21        [V22    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
+;* V23 tmp22        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[ubyte]>
+;* V24 tmp23        [V24    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;  V25 tmp24        [V25    ] (  4,  4   )  struct (16) [rbp-0x28]  do-not-enreg[SBR] multireg-ret must-init "Inline return value spill temp" <System.Memory`1[ubyte]>
+;* V26 tmp25        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Memory`1[ubyte]>
+;* V27 tmp26        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
+;* V28 tmp27        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
+;* V29 tmp28        [V29    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.Cose.CoseHeaderValue>
+;* V30 tmp29        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V02._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp30        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V02._length (fldOffset=0x8)" P-INDEP
+;* V32 tmp31        [V32    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;* V33 tmp32        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;  V34 tmp33        [V34,T05] (  2,  2   )   byref  ->  rbx         single-def "field V06._reference (fldOffset=0x0)" P-INDEP
+;  V35 tmp34        [V35,T10] (  2,  2   )     int  ->  r15         "field V06._length (fldOffset=0x8)" P-INDEP
+;* V36 tmp35        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V37 tmp36        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;  V38 tmp37        [V38,T06] (  2,  2   )   byref  ->  rbx         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V39 tmp38        [V39,T11] (  2,  2   )     int  ->  r15         "field V08._length (fldOffset=0x8)" P-INDEP
+;* V40 tmp39        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V41 tmp40        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;  V42 tmp41        [V42,T07] (  2,  2   )   byref  ->  rbx         single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp42        [V43,T12] (  2,  2   )     int  ->  r15         "field V10._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp43        [V44    ] (  0,  0   )     ref  ->  zero-ref    "field V14._object (fldOffset=0x0)" P-INDEP
+;* V45 tmp44        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x8)" P-INDEP
+;* V46 tmp45        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0xc)" P-INDEP
+;* V47 tmp46        [V47,T17] (  0,  0   )   ubyte  ->  zero-ref    "field V16.hasValue (fldOffset=0x0)" P-INDEP
+;* V48 tmp47        [V48,T18] (  0,  0   )     int  ->  zero-ref    "field V16.value (fldOffset=0x4)" P-INDEP
+;* V49 tmp48        [V49    ] (  0,  0   )   ubyte  ->  zero-ref    "field V18.hasValue (fldOffset=0x0)" P-INDEP
+;* V50 tmp49        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V18.value (fldOffset=0x4)" P-INDEP
+;* V51 tmp50        [V51    ] (  0,  0   )     ref  ->  zero-ref    "field V20._object (fldOffset=0x0)" P-INDEP
+;* V52 tmp51        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V20._index (fldOffset=0x8)" P-INDEP
+;* V53 tmp52        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0xc)" P-INDEP
+;* V54 tmp53        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V55 tmp54        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;* V56 tmp55        [V56    ] (  0,  0   )     ref  ->  zero-ref    "field V23._object (fldOffset=0x0)" P-INDEP
+;* V57 tmp56        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x8)" P-INDEP
+;* V58 tmp57        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0xc)" P-INDEP
+;  V59 tmp58        [V59,T08] (  2,  2   )   byref  ->  rsi         "field V24._reference (fldOffset=0x0)" P-INDEP
+;  V60 tmp59        [V60,T13] (  2,  2   )     int  ->  rdx         "field V24._length (fldOffset=0x8)" P-INDEP
+;  V61 tmp60        [V61,T09] (  2,  2   )     ref  ->  [rbp-0x28]  do-not-enreg[] "field V25._object (fldOffset=0x0)" P-DEP
+;  V62 tmp61        [V62,T14] (  2,  2   )     int  ->  [rbp-0x20]  do-not-enreg[] "field V25._index (fldOffset=0x8)" P-DEP
+;  V63 tmp62        [V63,T15] (  2,  2   )     int  ->  [rbp-0x1C]  do-not-enreg[] "field V25._length (fldOffset=0xc)" P-DEP
+;* V64 tmp63        [V64    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V26._object (fldOffset=0x0)" P-INDEP
+;* V65 tmp64        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V26._index (fldOffset=0x8)" P-INDEP
+;* V66 tmp65        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0xc)" P-INDEP
+;  V67 tmp66        [V67,T03] (  3,  3   )     ref  ->  rbx         single-def "field V27._object (fldOffset=0x0)" P-INDEP
+;* V68 tmp67        [V68,T19] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x8)" P-INDEP
+;  V69 tmp68        [V69,T16] (  2,  2   )     int  ->  rdi         "field V27._length (fldOffset=0xc)" P-INDEP
+;* V70 tmp69        [V70    ] (  0,  0   )     ref  ->  zero-ref    "field V28._object (fldOffset=0x0)" P-INDEP
+;* V71 tmp70        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V28._index (fldOffset=0x8)" P-INDEP
+;* V72 tmp71        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0xc)" P-INDEP
+;  V73 tmp72        [V73,T21] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 24
 
 G_M40397_IG01:
        push     rbp
        push     r15
        push     r14
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x30]
        xor      eax, eax
        mov      qword ptr [rbp-0x28], rax
 						;; size=21 bbWeight=1 PerfScore 6.00
 G_M40397_IG02:
        test     rdi, rdi
        je       G_M40397_IG06
        lea      rbx, bword ptr [rdi+0x10]
        mov      r15d, dword ptr [rdi+0x08]
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Cbor.CborWriter
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      edi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Cbor.CborConformanceModeHelpers:Validate(int)
        call     [rax]System.Formats.Cbor.CborConformanceModeHelpers:Validate(int)
        mov      dword ptr [r14+0x54], 1
        mov      word  ptr [r14+0x5A], 0
        mov      byte  ptr [r14+0x60], 1
        mov      dword ptr [r14+0x64], 1
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M40397_IG05
-						;; size=99 bbWeight=1 PerfScore 17.00
+       je       SHORT G_M40397_IG05
+						;; size=95 bbWeight=1 PerfScore 17.00
 G_M40397_IG03:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[ubyte]:Value
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [r14+0x28]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, rbx
        mov      edx, r15d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Cbor.CborWriter:WriteByteString(System.ReadOnlySpan`1[ubyte]):this
        call     [rax]System.Formats.Cbor.CborWriter:WriteByteString(System.ReadOnlySpan`1[ubyte]):this
        movsxd   rsi, dword ptr [r14+0x48]
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        mov      rbx, rax
        lea      rsi, bword ptr [rbx+0x10]
        mov      edx, dword ptr [rbx+0x08]
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Cbor.CborWriter:Encode(System.Span`1[ubyte]):int:this
        call     [rax]System.Formats.Cbor.CborWriter:Encode(System.Span`1[ubyte]):int:this
+       mov      edi, dword ptr [rbx+0x08]
        mov      gword ptr [rbp-0x28], rbx
-       xor      edi, edi
-       mov      dword ptr [rbp-0x20], edi
-       mov      rdi, gword ptr [rbp-0x28]
-       mov      edi, dword ptr [rdi+0x08]
+       xor      eax, eax
+       mov      dword ptr [rbp-0x20], eax
        mov      dword ptr [rbp-0x1C], edi
        mov      rax, gword ptr [rbp-0x28]
        mov      rdx, qword ptr [rbp-0x20]
-						;; size=114 bbWeight=1 PerfScore 27.50
+						;; size=110 bbWeight=1 PerfScore 26.50
 G_M40397_IG04:
        add      rsp, 24
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=11 bbWeight=1 PerfScore 3.25
 G_M40397_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M40397_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M40397_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentNullException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      edi, 0xB5A
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:.ctor(System.String):this
        call     [rax]System.ArgumentNullException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=65 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 330, prolog size 21, PerfScore 53.75, instruction count 73, allocated bytes for code 330 (MethodHash=981b6232) for method System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(ubyte[]):System.Security.Cryptography.Cose.CoseHeaderValue (FullOpts)
+; Total bytes of code 322, prolog size 21, PerfScore 52.75, instruction count 72, allocated bytes for code 322 (MethodHash=981b6232) for method System.Security.Cryptography.Cose.CoseHeaderValue:FromBytes(ubyte[]):System.Security.Cryptography.Cose.CoseHeaderValue (FullOpts)
-7 (-2.22 % of base) - System.Data.DataColumn:set_AutoIncrementCurrent(System.Object):this
 ; Assembly listing for method System.Data.DataColumn:set_AutoIncrementCurrent(System.Object):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 9 single block inlinees; 7 inlinees without PGO data
+; 0 inlinees with PGO data; 8 single block inlinees; 8 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  8,  6   )     ref  ->  rbx         this class-hnd single-def <System.Data.DataColumn>
 ;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  r15         class-hnd single-def <System.Object>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Numerics.BigInteger>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Return value temp for multireg return" <System.Numerics.BigInteger>
-;  V05 tmp3         [V05,T02] (  3,  3   )     ref  ->  r12         class-hnd single-def "impAppendStmt" <System.Data.AutoIncrementValue>
+;  V05 tmp3         [V05,T02] (  3,  3   )     ref  ->  r14         class-hnd single-def "impAppendStmt" <System.Data.AutoIncrementValue>
 ;  V06 tmp4         [V06,T08] (  3,  2   )    long  ->  rsi         "Inline return value spill temp"
-;  V07 tmp5         [V07    ] (  4,  8   )  struct (16) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Numerics.BigInteger>
+;  V07 tmp5         [V07    ] (  4,  8   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Numerics.BigInteger>
 ;  V08 tmp6         [V08,T07] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.IFormatProvider>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Globalization.CultureInfo>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Numerics.BigInteger>
 ;  V11 tmp9         [V11,T15] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[uint]>
 ;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[uint]>
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
-;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[uint]>
-;* V16 tmp14        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
-;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
-;* V18 tmp16        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
-;  V19 tmp17        [V19,T16] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
-;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V22 tmp20        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
-;* V26 tmp24        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V27 tmp25        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;* V28 tmp26        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
-;* V29 tmp27        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
-;  V30 tmp28        [V30,T11] (  3,  1.50)     ref  ->  rax         class-hnd "Inline return value spill temp" <System.IFormatProvider>
-;* V31 tmp29        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Globalization.CultureInfo>
-;  V32 tmp30        [V32,T04] (  4,  2.50)     ref  ->  r14         single-def "field V03._bits (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T09] (  2,  2   )     int  ->  r13         "field V03._sign (fldOffset=0x8)" P-INDEP
-;  V34 tmp32        [V34,T05] (  4,  2.50)     ref  ->  rax         "field V04._bits (fldOffset=0x0)" P-INDEP
-;  V35 tmp33        [V35,T10] (  2,  2   )     int  ->  rdx         "field V04._sign (fldOffset=0x8)" P-INDEP
-;  V36 tmp34        [V36    ] (  3,  5   )     ref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V07._bits (fldOffset=0x0)" P-DEP
-;  V37 tmp35        [V37    ] (  3,  5   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V07._sign (fldOffset=0x8)" P-DEP
-;* V38 tmp36        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._bits (fldOffset=0x0)" P-INDEP
-;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V10._sign (fldOffset=0x8)" P-INDEP
-;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V42 tmp40        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp41        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp42        [V44,T12] (  3,  1.50)   byref  ->  rdi         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp43        [V45,T17] (  3,  1.50)     int  ->  r13         "field V15._length (fldOffset=0x8)" P-INDEP
-;  V46 tmp44        [V46,T13] (  3,  1.50)   byref  ->  rsi         "field V17._reference (fldOffset=0x0)" P-INDEP
-;  V47 tmp45        [V47,T06] (  4,  2   )     int  ->  rdx         "field V17._length (fldOffset=0x8)" P-INDEP
-;* V48 tmp46        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V49 tmp47        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V50 tmp48        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V51 tmp49        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
-;* V52 tmp50        [V52    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V53 tmp51        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;* V54 tmp52        [V54    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V55 tmp53        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
-;* V56 tmp54        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
-;* V57 tmp55        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
-;* V58 tmp56        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V59 tmp57        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
-;  V60 tmp58        [V60,T03] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V61 cse0         [V61,T14] (  3,  1.50)     ref  ->  rdi         "CSE #03: moderate"
+;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[uint]>
+;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[uint]>
+;* V17 tmp15        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
+;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+;* V19 tmp17        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <uint[]>
+;  V20 tmp18        [V20,T16] (  3,  1.50)   ubyte  ->  rax         "Inline return value spill temp"
+;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V22 tmp20        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp21        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V24 tmp22        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
+;* V27 tmp25        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V28 tmp26        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V29 tmp27        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
+;* V30 tmp28        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;  V31 tmp29        [V31,T11] (  3,  1.50)     ref  ->  rax         class-hnd "Inline return value spill temp" <System.IFormatProvider>
+;* V32 tmp30        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Globalization.CultureInfo>
+;  V33 tmp31        [V33,T04] (  4,  2.50)     ref  ->  r14         single-def "field V03._bits (fldOffset=0x0)" P-INDEP
+;  V34 tmp32        [V34,T09] (  2,  2   )     int  ->  r13         "field V03._sign (fldOffset=0x8)" P-INDEP
+;  V35 tmp33        [V35,T05] (  4,  2.50)     ref  ->  rax         "field V04._bits (fldOffset=0x0)" P-INDEP
+;  V36 tmp34        [V36,T10] (  2,  2   )     int  ->  rdx         "field V04._sign (fldOffset=0x8)" P-INDEP
+;  V37 tmp35        [V37    ] (  3,  5   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V07._bits (fldOffset=0x0)" P-DEP
+;  V38 tmp36        [V38    ] (  3,  5   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V07._sign (fldOffset=0x8)" P-DEP
+;* V39 tmp37        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._bits (fldOffset=0x0)" P-INDEP
+;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V10._sign (fldOffset=0x8)" P-INDEP
+;  V41 tmp39        [V41,T12] (  3,  1.50)   byref  ->  rdi         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V42 tmp40        [V42,T17] (  3,  1.50)     int  ->  rcx         "field V12._length (fldOffset=0x8)" P-INDEP
+;* V43 tmp41        [V43    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V44 tmp42        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;* V45 tmp43        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V46 tmp44        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;  V47 tmp45        [V47,T18] (  2,  1   )   byref  ->  rdi         "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V48 tmp46        [V48,T19] (  2,  1   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
+;  V49 tmp47        [V49,T13] (  3,  1.50)   byref  ->  rsi         "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V50 tmp48        [V50,T06] (  4,  2   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;* V51 tmp49        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V52 tmp50        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;* V53 tmp51        [V53    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp52        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V55 tmp53        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V56 tmp54        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V57 tmp55        [V57    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp56        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;* V59 tmp57        [V59    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp58        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp59        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp60        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
+;  V63 tmp61        [V63,T03] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V64 cse0         [V64,T14] (  3,  1.50)     ref  ->  rdi         "CSE #03: moderate"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 16
 
 G_M60810_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
+       sub      rsp, 16
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r15, rsi
-						;; size=31 bbWeight=1 PerfScore 8.50
+						;; size=29 bbWeight=1 PerfScore 7.50
 G_M60810_IG02:
        cmp      gword ptr [rbx+0x68], 0
        jne      SHORT G_M60810_IG04
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M60810_IG03:
        xor      esi, esi
        jmp      SHORT G_M60810_IG05
 						;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M60810_IG04:
        mov      rdi, gword ptr [rbx+0x68]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.Data.AutoIncrementValue:get_Seed():long:this
        mov      rsi, rax
 						;; size=17 bbWeight=0.50 PerfScore 4.62
 G_M60810_IG05:
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu  xmmword ptr [rbp-0x38], xmm0
-       lea      rdi, [rbp-0x38]
+       vmovdqu  xmmword ptr [rbp-0x30], xmm0
+       lea      rdi, [rbp-0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.BigInteger:.ctor(long):this
        call     [rax]System.Numerics.BigInteger:.ctor(long):this
-       mov      r14, gword ptr [rbp-0x38]
-       mov      r13d, dword ptr [rbp-0x30]
+       mov      r14, gword ptr [rbp-0x30]
+       mov      r13d, dword ptr [rbp-0x28]
        cmp      gword ptr [rbx+0x48], 0
        jne      SHORT G_M60810_IG07
 						;; size=40 bbWeight=1 PerfScore 11.08
 G_M60810_IG06:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
        call     [rax]System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
        jmp      SHORT G_M60810_IG08
 						;; size=14 bbWeight=0.50 PerfScore 2.62
 G_M60810_IG07:
        mov      rdi, gword ptr [rbx+0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataTable:get_FormatProvider():System.IFormatProvider:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Data.DataTable:get_FormatProvider():System.IFormatProvider:this
 						;; size=18 bbWeight=0.50 PerfScore 4.12
 G_M60810_IG08:
        mov      rdi, r15
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.BigIntegerStorage:ConvertToBigInteger(System.Object,System.IFormatProvider):System.Numerics.BigInteger
        call     [rax]System.Data.Common.BigIntegerStorage:ConvertToBigInteger(System.Object,System.IFormatProvider):System.Numerics.BigInteger
        cmp      r13d, edx
        jne      SHORT G_M60810_IG10
 						;; size=23 bbWeight=1 PerfScore 5.00
 G_M60810_IG09:
        test     r14, r14
-       jne      SHORT G_M60810_IG11
-       xor      rdi, rdi
-       xor      r13d, r13d
+       je       SHORT G_M60810_IG11
+       lea      rdi, bword ptr [r14+0x10]
+       mov      ecx, dword ptr [r14+0x08]
        jmp      SHORT G_M60810_IG12
-						;; size=12 bbWeight=0.50 PerfScore 1.88
+						;; size=15 bbWeight=0.50 PerfScore 2.88
 G_M60810_IG10:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataColumn:get_AutoInc():System.Data.AutoIncrementValue:this
        call     [rax]System.Data.DataColumn:get_AutoInc():System.Data.AutoIncrementValue:this
-       mov      r12, rax
+       mov      r14, rax
        mov      rdi, gword ptr [rbx+0x48]
        test     rdi, rdi
        jne      SHORT G_M60810_IG17
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
        call     [rax]System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
        jmp      SHORT G_M60810_IG18
 						;; size=41 bbWeight=0.50 PerfScore 6.12
 G_M60810_IG11:
-       lea      rdi, bword ptr [r14+0x10]
-       mov      r13d, dword ptr [r14+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.25
+       xor      rdi, rdi
+       xor      ecx, ecx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M60810_IG12:
        test     rax, rax
        jne      SHORT G_M60810_IG13
        xor      rsi, rsi
        xor      edx, edx
        jmp      SHORT G_M60810_IG14
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M60810_IG13:
        lea      rsi, bword ptr [rax+0x10]
        mov      edx, dword ptr [rax+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M60810_IG14:
-       cmp      r13d, edx
+       cmp      ecx, edx
        jne      SHORT G_M60810_IG15
        mov      edx, edx
        shl      rdx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        jmp      SHORT G_M60810_IG16
-						;; size=25 bbWeight=0.50 PerfScore 3.62
+						;; size=24 bbWeight=0.50 PerfScore 3.62
 G_M60810_IG15:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M60810_IG16:
        test     eax, eax
        jne      SHORT G_M60810_IG19
        jmp      SHORT G_M60810_IG10
 						;; size=6 bbWeight=0.50 PerfScore 1.62
 G_M60810_IG17:
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataTable:get_FormatProvider():System.IFormatProvider:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Data.DataTable:get_FormatProvider():System.IFormatProvider:this
 						;; size=14 bbWeight=0.50 PerfScore 3.12
 G_M60810_IG18:
-       mov      rdi, r12
+       mov      rdi, r14
        mov      rsi, r15
        mov      rdx, rax
-       mov      rax, qword ptr [r12]
+       mov      rax, qword ptr [r14]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x18]System.Data.AutoIncrementValue:SetCurrent(System.Object,System.IFormatProvider):this
-						;; size=20 bbWeight=0.50 PerfScore 3.88
+						;; size=19 bbWeight=0.50 PerfScore 3.88
 G_M60810_IG19:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M60810_IG20:
-       add      rsp, 24
+       add      rsp, 16
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
+						;; size=13 bbWeight=1 PerfScore 3.75
 
-; Total bytes of code 316, prolog size 25, PerfScore 70.33, instruction count 96, allocated bytes for code 316 (MethodHash=c44f1275) for method System.Data.DataColumn:set_AutoIncrementCurrent(System.Object):this (FullOpts)
+; Total bytes of code 309, prolog size 23, PerfScore 68.83, instruction count 94, allocated bytes for code 309 (MethodHash=c44f1275) for method System.Data.DataColumn:set_AutoIncrementCurrent(System.Object):this (FullOpts)
-6 (-25.00 % of base) - System.MemoryExtensions:AsSpan[double](double[]):System.Span`1[double]
 ; Assembly listing for method System.MemoryExtensions:AsSpan[double](double[]):System.Span`1[double] (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <double[]>
-;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[double]>
-;  V03 tmp2         [V03,T01] (  3,  2   )   byref  ->  rax         "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V04 tmp3         [V04,T02] (  3,  2   )     int  ->  rdx         "field V02._length (fldOffset=0x8)" P-INDEP
+;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Span`1[double]>
+;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[double]>
+;  V04 tmp2         [V04,T01] (  2,  1   )   byref  ->  rax         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T03] (  2,  1   )     int  ->  rdx         "field V01._length (fldOffset=0x8)" P-INDEP
+;  V06 tmp4         [V06,T02] (  2,  1   )   byref  ->  rax         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp5         [V07,T04] (  2,  1   )     int  ->  rdx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M17472_IG01:
-       push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=0 bbWeight=1 PerfScore 0.00
 G_M17472_IG02:
        test     rdi, rdi
-       jne      SHORT G_M17472_IG04
+       je       SHORT G_M17472_IG05
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M17472_IG03:
-       xor      rax, rax
-       xor      edx, edx
-       jmp      SHORT G_M17472_IG05
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M17472_IG04:
        lea      rax, bword ptr [rdi+0x10]
        mov      edx, dword ptr [rdi+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
+G_M17472_IG04:
+       ret      
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 G_M17472_IG05:
-       pop      rbp
+       xor      rax, rax
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M17472_IG06:
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 24, prolog size 4, PerfScore 6.50, instruction count 11, allocated bytes for code 24 (MethodHash=b1b3bbbf) for method System.MemoryExtensions:AsSpan[double](double[]):System.Span`1[double] (FullOpts)
+; Total bytes of code 18, prolog size 0, PerfScore 3.75, instruction count 8, allocated bytes for code 18 (MethodHash=b1b3bbbf) for method System.MemoryExtensions:AsSpan[double](double[]):System.Span`1[double] (FullOpts)
-6 (-25.00 % of base) - System.MemoryExtensions:AsSpan[int](int[]):System.Span`1[int]
 ; Assembly listing for method System.MemoryExtensions:AsSpan[int](int[]):System.Span`1[int] (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <int[]>
-;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
-;  V03 tmp2         [V03,T01] (  3,  2   )   byref  ->  rax         "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V04 tmp3         [V04,T02] (  3,  2   )     int  ->  rdx         "field V02._length (fldOffset=0x8)" P-INDEP
+;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Span`1[int]>
+;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
+;  V04 tmp2         [V04,T01] (  2,  1   )   byref  ->  rax         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T03] (  2,  1   )     int  ->  rdx         "field V01._length (fldOffset=0x8)" P-INDEP
+;  V06 tmp4         [V06,T02] (  2,  1   )   byref  ->  rax         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp5         [V07,T04] (  2,  1   )     int  ->  rdx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M15270_IG01:
-       push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=0 bbWeight=1 PerfScore 0.00
 G_M15270_IG02:
        test     rdi, rdi
-       jne      SHORT G_M15270_IG04
+       je       SHORT G_M15270_IG05
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M15270_IG03:
-       xor      rax, rax
-       xor      edx, edx
-       jmp      SHORT G_M15270_IG05
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M15270_IG04:
        lea      rax, bword ptr [rdi+0x10]
        mov      edx, dword ptr [rdi+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
+G_M15270_IG04:
+       ret      
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 G_M15270_IG05:
-       pop      rbp
+       xor      rax, rax
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M15270_IG06:
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 24, prolog size 4, PerfScore 6.50, instruction count 11, allocated bytes for code 24 (MethodHash=6175c459) for method System.MemoryExtensions:AsSpan[int](int[]):System.Span`1[int] (FullOpts)
+; Total bytes of code 18, prolog size 0, PerfScore 3.75, instruction count 8, allocated bytes for code 18 (MethodHash=6175c459) for method System.MemoryExtensions:AsSpan[int](int[]):System.Span`1[int] (FullOpts)
-6 (-25.00 % of base) - System.MemoryExtensions:AsSpan[long](long[]):System.Span`1[long]
 ; Assembly listing for method System.MemoryExtensions:AsSpan[long](long[]):System.Span`1[long] (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <long[]>
-;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[long]>
-;  V03 tmp2         [V03,T01] (  3,  2   )   byref  ->  rax         "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V04 tmp3         [V04,T02] (  3,  2   )     int  ->  rdx         "field V02._length (fldOffset=0x8)" P-INDEP
+;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Span`1[long]>
+;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[long]>
+;  V04 tmp2         [V04,T01] (  2,  1   )   byref  ->  rax         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T03] (  2,  1   )     int  ->  rdx         "field V01._length (fldOffset=0x8)" P-INDEP
+;  V06 tmp4         [V06,T02] (  2,  1   )   byref  ->  rax         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp5         [V07,T04] (  2,  1   )     int  ->  rdx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M51231_IG01:
-       push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=0 bbWeight=1 PerfScore 0.00
 G_M51231_IG02:
        test     rdi, rdi
-       jne      SHORT G_M51231_IG04
+       je       SHORT G_M51231_IG05
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M51231_IG03:
-       xor      rax, rax
-       xor      edx, edx
-       jmp      SHORT G_M51231_IG05
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M51231_IG04:
        lea      rax, bword ptr [rdi+0x10]
        mov      edx, dword ptr [rdi+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
+G_M51231_IG04:
+       ret      
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 G_M51231_IG05:
-       pop      rbp
+       xor      rax, rax
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M51231_IG06:
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 24, prolog size 4, PerfScore 6.50, instruction count 11, allocated bytes for code 24 (MethodHash=cc3837e0) for method System.MemoryExtensions:AsSpan[long](long[]):System.Span`1[long] (FullOpts)
+; Total bytes of code 18, prolog size 0, PerfScore 3.75, instruction count 8, allocated bytes for code 18 (MethodHash=cc3837e0) for method System.MemoryExtensions:AsSpan[long](long[]):System.Span`1[long] (FullOpts)
-6 (-25.00 % of base) - System.MemoryExtensions:AsSpan[short](short[]):System.Span`1[short]
 ; Assembly listing for method System.MemoryExtensions:AsSpan[short](short[]):System.Span`1[short] (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <short[]>
-;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[short]>
-;  V03 tmp2         [V03,T01] (  3,  2   )   byref  ->  rax         "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V04 tmp3         [V04,T02] (  3,  2   )     int  ->  rdx         "field V02._length (fldOffset=0x8)" P-INDEP
+;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Span`1[short]>
+;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[short]>
+;  V04 tmp2         [V04,T01] (  2,  1   )   byref  ->  rax         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T03] (  2,  1   )     int  ->  rdx         "field V01._length (fldOffset=0x8)" P-INDEP
+;  V06 tmp4         [V06,T02] (  2,  1   )   byref  ->  rax         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp5         [V07,T04] (  2,  1   )     int  ->  rdx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M55463_IG01:
-       push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=0 bbWeight=1 PerfScore 0.00
 G_M55463_IG02:
        test     rdi, rdi
-       jne      SHORT G_M55463_IG04
+       je       SHORT G_M55463_IG05
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M55463_IG03:
-       xor      rax, rax
-       xor      edx, edx
-       jmp      SHORT G_M55463_IG05
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M55463_IG04:
        lea      rax, bword ptr [rdi+0x10]
        mov      edx, dword ptr [rdi+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
+G_M55463_IG04:
+       ret      
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 G_M55463_IG05:
-       pop      rbp
+       xor      rax, rax
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M55463_IG06:
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 24, prolog size 4, PerfScore 6.50, instruction count 11, allocated bytes for code 24 (MethodHash=56172758) for method System.MemoryExtensions:AsSpan[short](short[]):System.Span`1[short] (FullOpts)
+; Total bytes of code 18, prolog size 0, PerfScore 3.75, instruction count 8, allocated bytes for code 18 (MethodHash=56172758) for method System.MemoryExtensions:AsSpan[short](short[]):System.Span`1[short] (FullOpts)
-6 (-25.00 % of base) - System.MemoryExtensions:AsSpan[System.Nullable`1[int]](System.Nullable`1[int][]):System.Span`1[System.Nullable`1[int]]
 ; Assembly listing for method System.MemoryExtensions:AsSpan[System.Nullable`1[int]](System.Nullable`1[int][]):System.Span`1[System.Nullable`1[int]] (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <System.Nullable`1[int][]>
-;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[System.Nullable`1[int]]>
-;  V03 tmp2         [V03,T01] (  3,  2   )   byref  ->  rax         "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V04 tmp3         [V04,T02] (  3,  2   )     int  ->  rdx         "field V02._length (fldOffset=0x8)" P-INDEP
+;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Span`1[System.Nullable`1[int]]>
+;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Span`1[System.Nullable`1[int]]>
+;  V04 tmp2         [V04,T01] (  2,  1   )   byref  ->  rax         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V05 tmp3         [V05,T03] (  2,  1   )     int  ->  rdx         "field V01._length (fldOffset=0x8)" P-INDEP
+;  V06 tmp4         [V06,T02] (  2,  1   )   byref  ->  rax         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V07 tmp5         [V07,T04] (  2,  1   )     int  ->  rdx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M45675_IG01:
-       push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=0 bbWeight=1 PerfScore 0.00
 G_M45675_IG02:
        test     rdi, rdi
-       jne      SHORT G_M45675_IG04
+       je       SHORT G_M45675_IG05
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M45675_IG03:
-       xor      rax, rax
-       xor      edx, edx
-       jmp      SHORT G_M45675_IG05
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M45675_IG04:
        lea      rax, bword ptr [rdi+0x10]
        mov      edx, dword ptr [rdi+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
+G_M45675_IG04:
+       ret      
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 G_M45675_IG05:
-       pop      rbp
+       xor      rax, rax
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M45675_IG06:
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=1 bbWeight=0.50 PerfScore 0.50
 
-; Total bytes of code 24, prolog size 4, PerfScore 6.50, instruction count 11, allocated bytes for code 24 (MethodHash=a5834d94) for method System.MemoryExtensions:AsSpan[System.Nullable`1[int]](System.Nullable`1[int][]):System.Span`1[System.Nullable`1[int]] (FullOpts)
+; Total bytes of code 18, prolog size 0, PerfScore 3.75, instruction count 8, allocated bytes for code 18 (MethodHash=a5834d94) for method System.MemoryExtensions:AsSpan[System.Nullable`1[int]](System.Nullable`1[int][]):System.Span`1[System.Nullable`1[int]] (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment