Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created July 5, 2024 23:40
Show Gist options
  • Save MihuBot/384164dc4be1258945db3909b703932e to your computer and use it in GitHub Desktop.
Save MihuBot/384164dc4be1258945db3909b703932e to your computer and use it in GitHub Desktop.

Top method improvements

-74 (-9.01 % of base) - System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):ubyte[]:this
 ; Assembly listing for method System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):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; 49 single block inlinees; 8 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.ECDsaX509SignatureGenerator>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Security.Cryptography.HashAlgorithmName>
-;  V02 loc0         [V02,T03] (  9,  6   )     ref  ->  r15         class-hnd <System.String>
+;  V02 loc0         [V02,T03] (  8,  5   )     ref  ->  r15         class-hnd <System.String>
 ;* V03 loc1         [V03,T21] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SA] multireg-arg ld-addr-op <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V08 tmp4         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V09 tmp5         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V10 tmp6         [V10    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V11 tmp7         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V12 tmp8         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V13 tmp9         [V13    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V15 tmp11        [V15    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V16 tmp12        [V16    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;  V17 tmp13        [V17,T30] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "Single-def Box Helper" <System.Security.Cryptography.HashAlgorithmName>
-;  V18 tmp14        [V18,T33] (  2,  0   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V18 tmp14        [V18,T32] (  2,  0   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V19 tmp15        [V19,T31] (  3,  0   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
 ;  V20 tmp16        [V20,T01] (  6, 12   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Asn1.AsnWriter>
 ;  V21 tmp17        [V21,T24] (  1,  2   )  struct (32) [rbp-0x48]  do-not-enreg[HS] must-init hidden-struct-arg "location for address-of(RValue)" <System.Formats.Asn1.AsnWriter+Scope>
 ;* V22 tmp18        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V23 tmp19        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V24 tmp20        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V26 tmp22        [V26,T09] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V28 tmp24        [V28,T14] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V29 tmp25        [V29    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V30 tmp26        [V30    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V31 tmp27        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V32 tmp28        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V33 tmp29        [V33,T10] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V34 tmp30        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V35 tmp31        [V35,T15] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V36 tmp32        [V36    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V37 tmp33        [V37    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V39 tmp35        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V40 tmp36        [V40,T11] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V41 tmp37        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V42 tmp38        [V42,T16] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V43 tmp39        [V43    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V44 tmp40        [V44    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V45 tmp41        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V46 tmp42        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V47 tmp43        [V47,T12] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V48 tmp44        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V49 tmp45        [V49,T17] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V50 tmp46        [V50    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V51 tmp47        [V51    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V52 tmp48        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V53 tmp49        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V54 tmp50        [V54,T13] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V55 tmp51        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V56 tmp52        [V56,T18] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V57 tmp53        [V57    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V58 tmp54        [V58    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V59 tmp55        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V60 tmp56        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V61 tmp57        [V61,T25] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SA] multireg-arg "Inlining Arg" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V62 tmp58        [V62    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V63 tmp59        [V63,T32] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;* V63 tmp59        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
 ;* V64 tmp60        [V64    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V65 tmp61        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp62        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V67 tmp63        [V67,T06] (  2,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V68 tmp64        [V68,T07] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V69 tmp65        [V69,T00] ( 24, 12   )     ref  ->  rbx         single-def "field V01._name (fldOffset=0x0)" P-INDEP
 ;* V70 tmp66        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._name (fldOffset=0x0)" P-INDEP
 ;* V71 tmp67        [V71    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._name (fldOffset=0x0)" P-INDEP
 ;* V72 tmp68        [V72    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._name (fldOffset=0x0)" P-INDEP
 ;* V73 tmp69        [V73    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V08._name (fldOffset=0x0)" P-INDEP
 ;* V74 tmp70        [V74    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._name (fldOffset=0x0)" P-INDEP
 ;* V75 tmp71        [V75    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._name (fldOffset=0x0)" P-INDEP
 ;* V76 tmp72        [V76    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._name (fldOffset=0x0)" P-INDEP
 ;* V77 tmp73        [V77    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._name (fldOffset=0x0)" P-INDEP
 ;* V78 tmp74        [V78    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._name (fldOffset=0x0)" P-INDEP
 ;* V79 tmp75        [V79    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14._name (fldOffset=0x0)" P-INDEP
 ;* V80 tmp76        [V80    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V15._name (fldOffset=0x0)" P-INDEP
 ;* V81 tmp77        [V81    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._name (fldOffset=0x0)" P-INDEP
 ;* V82 tmp78        [V82    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._name (fldOffset=0x0)" P-INDEP
 ;* V83 tmp79        [V83    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V23._name (fldOffset=0x0)" P-INDEP
 ;* V84 tmp80        [V84    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V29._name (fldOffset=0x0)" P-INDEP
 ;* V85 tmp81        [V85    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V30._name (fldOffset=0x0)" P-INDEP
 ;* V86 tmp82        [V86    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V36._name (fldOffset=0x0)" P-INDEP
 ;* V87 tmp83        [V87    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V37._name (fldOffset=0x0)" P-INDEP
 ;* V88 tmp84        [V88    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V43._name (fldOffset=0x0)" P-INDEP
 ;* V89 tmp85        [V89    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V44._name (fldOffset=0x0)" P-INDEP
 ;* V90 tmp86        [V90    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V50._name (fldOffset=0x0)" P-INDEP
 ;* V91 tmp87        [V91    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V51._name (fldOffset=0x0)" P-INDEP
 ;* V92 tmp88        [V92    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V57._name (fldOffset=0x0)" P-INDEP
 ;* V93 tmp89        [V93    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V58._name (fldOffset=0x0)" P-INDEP
 ;* V94 tmp90        [V94    ] (  0,  0   )   byref  ->  zero-ref    "field V62._reference (fldOffset=0x0)" P-INDEP
 ;* V95 tmp91        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V62._length (fldOffset=0x8)" P-INDEP
 ;  V96 tmp92        [V96,T19] (  2,  2   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
 ;  V97 tmp93        [V97,T22] (  2,  2   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
 ;  V98 tmp94        [V98,T20] (  2,  2   )   byref  ->  rsi         single-def "field V65._reference (fldOffset=0x0)" P-INDEP
 ;  V99 tmp95        [V99,T23] (  2,  2   )     int  ->  rdx         "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V100 tmp96       [V100    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V101 tmp97       [V101    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
-;  V102 tmp98       [V102,T34] (  2,  0   )     ref  ->  r12         single-def "argument with side effect"
-;  V103 tmp99       [V103,T35] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V104 tmp100      [V104,T36] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V102 tmp98       [V102,T33] (  2,  0   )     ref  ->  r12         single-def "argument with side effect"
+;  V103 tmp99       [V103,T34] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;* V104 tmp100      [V104    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V105 cse0        [V105,T02] ( 15,  7.50)     int  ->  r14         multi-def "CSE #02: aggressive"
 ;  V106 cse1        [V106,T04] (  4,  4   )    long  ->  rbx         "CSE #10: aggressive"
 ;  V107 cse2        [V107,T05] (  4,  4   )     int  ->  r13         "CSE #11: aggressive"
 ;  V108 cse3        [V108,T26] (  3,  1.50)     ref  ->  rsi         "CSE #03: conservative"
 ;  V109 cse4        [V109,T27] (  3,  1.50)     ref  ->  rsi         "CSE #07: conservative"
 ;  V110 cse5        [V110,T28] (  3,  1.50)     ref  ->  rsi         "CSE #08: conservative"
 ;  V111 cse6        [V111,T29] (  3,  1.50)     ref  ->  rsi         "CSE #09: conservative"
 ;  V112 cse7        [V112,T08] (  3,  2.50)     ref  ->  rsi         "CSE #01: moderate"
 ;
 ; Lcl frame size = 40
 
 G_M12053_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        xor      eax, eax
        mov      qword ptr [rbp-0x48], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        mov      qword ptr [rbp-0x30], rax
        mov      rbx, rsi
 						;; size=42 bbWeight=1 PerfScore 11.58
 G_M12053_IG02:
        mov      rsi, 0xD1FFAB1E      ; 'SHA256'
        cmp      rbx, rsi
        jne      SHORT G_M12053_IG04
 						;; size=15 bbWeight=1 PerfScore 1.50
 G_M12053_IG03:
        mov      r15, 0xD1FFAB1E      ; '1.2.840.10045.4.3.2'
        jmp      G_M12053_IG19
 						;; size=15 bbWeight=0.50 PerfScore 1.12
 G_M12053_IG04:
        test     rbx, rbx
        je       SHORT G_M12053_IG05
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 6
        je       SHORT G_M12053_IG07
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M12053_IG05:
        mov      rsi, 0xD1FFAB1E      ; 'SHA384'
        cmp      rbx, rsi
        jne      SHORT G_M12053_IG08
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M12053_IG06:
        mov      r15, 0xD1FFAB1E      ; '1.2.840.10045.4.3.3'
        jmp      G_M12053_IG19
 						;; size=15 bbWeight=0.50 PerfScore 1.12
 G_M12053_IG07:
        lea      rdi, bword ptr [rbx+0x0C]
        add      r14d, r14d
        mov      edx, r14d
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M12053_IG05
        jmp      SHORT G_M12053_IG03
 						;; size=32 bbWeight=0.50 PerfScore 3.88
 G_M12053_IG08:
        test     rbx, rbx
        je       SHORT G_M12053_IG09
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 6
        je       SHORT G_M12053_IG11
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M12053_IG09:
        mov      rsi, 0xD1FFAB1E      ; 'SHA512'
        cmp      rbx, rsi
        jne      SHORT G_M12053_IG12
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M12053_IG10:
        mov      r15, 0xD1FFAB1E      ; '1.2.840.10045.4.3.4'
        jmp      G_M12053_IG19
 						;; size=15 bbWeight=0.50 PerfScore 1.12
 G_M12053_IG11:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M12053_IG09
        jmp      SHORT G_M12053_IG06
 						;; size=30 bbWeight=0.50 PerfScore 3.88
 G_M12053_IG12:
        test     rbx, rbx
        je       SHORT G_M12053_IG13
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 6
        je       SHORT G_M12053_IG15
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M12053_IG13:
        mov      rsi, 0xD1FFAB1E      ; 'SHA3-256'
        cmp      rbx, rsi
        jne      SHORT G_M12053_IG16
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M12053_IG14:
        mov      r15, 0xD1FFAB1E      ; '2.16.840.1.101.3.4.3.10'
        jmp      SHORT G_M12053_IG19
 						;; size=12 bbWeight=0.50 PerfScore 1.12
 G_M12053_IG15:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M12053_IG13
        jmp      SHORT G_M12053_IG10
 						;; size=30 bbWeight=0.50 PerfScore 3.88
 G_M12053_IG16:
        test     rbx, rbx
        je       SHORT G_M12053_IG17
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 8
        je       G_M12053_IG21
 						;; size=19 bbWeight=0.50 PerfScore 2.25
 G_M12053_IG17:
        mov      rsi, 0xD1FFAB1E      ; 'SHA3-384'
        cmp      rbx, rsi
        jne      G_M12053_IG22
 						;; size=19 bbWeight=0.50 PerfScore 0.75
 G_M12053_IG18:
        mov      r15, 0xD1FFAB1E      ; '2.16.840.1.101.3.4.3.11'
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M12053_IG19:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnWriter
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      dword ptr [r14+0x1C], 2
        xor      ebx, ebx
        mov      rdx, rbx
        xor      r13d, r13d
        mov      ecx, r13d
        lea      rsi, [rbp-0x48]
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:PushSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.Formats.Asn1.AsnWriter+Scope:this
        call     [rax]System.Formats.Asn1.AsnWriter:PushSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.Formats.Asn1.AsnWriter+Scope:this
-       test     r15, r15
-       je       G_M12053_IG26
        lea      rsi, bword ptr [r15+0x0C]
        mov      edx, dword ptr [r15+0x08]
        mov      rcx, rbx
        mov      r8d, r13d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:WriteObjectIdentifier(System.ReadOnlySpan`1[ushort],System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        call     [rax]System.Formats.Asn1.AsnWriter:WriteObjectIdentifier(System.ReadOnlySpan`1[ushort],System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        mov      rsi, rbx
        mov      edx, r13d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:PopSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        call     [rax]System.Formats.Asn1.AsnWriter:PopSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:Encode():ubyte[]:this
        call     [rax]System.Formats.Asn1.AsnWriter:Encode():ubyte[]:this
        nop      
-						;; size=131 bbWeight=1 PerfScore 23.00
+						;; size=122 bbWeight=1 PerfScore 21.75
 G_M12053_IG20:
        add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M12053_IG21:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       G_M12053_IG17
        jmp      G_M12053_IG14
 						;; size=37 bbWeight=0.50 PerfScore 3.88
 G_M12053_IG22:
        test     rbx, rbx
        je       SHORT G_M12053_IG23
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 8
        je       SHORT G_M12053_IG24
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M12053_IG23:
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'SHA3-512'
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String):ubyte
        call     [rax]System.String:Equals(System.String,System.String):ubyte
        test     eax, eax
        je       SHORT G_M12053_IG25
        mov      r15, 0xD1FFAB1E      ; '2.16.840.1.101.3.4.3.12'
        jmp      G_M12053_IG19
 						;; size=44 bbWeight=0.50 PerfScore 3.62
 G_M12053_IG24:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M12053_IG23
        jmp      G_M12053_IG18
 						;; size=33 bbWeight=0.50 PerfScore 3.88
 G_M12053_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.HashAlgorithmName
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        lea      rdi, bword ptr [r15+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Cryptography_UnknownHashAlgorithm():System.String
        call     [rax]System.SR:get_Cryptography_UnknownHashAlgorithm():System.String
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentOutOfRangeException
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      edi, 0x41FB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      r12, rax
        mov      rdi, r14
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        mov      rcx, rax
        mov      rsi, r12
        mov      rdx, r15
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this
        call     [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this
        mov      rdi, r13
        call     CORINFO_HELP_THROW
        int3     
 						;; size=137 bbWeight=0 PerfScore 0.00
-G_M12053_IG26:
-       mov      rdi, 0xD1FFAB1E      ; System.ArgumentNullException
-       call     CORINFO_HELP_NEWSFAST
-       mov      rbx, rax
-       mov      edi, 0xBCA
-       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 821, prolog size 39, PerfScore 82.21, instruction count 192, allocated bytes for code 821 (MethodHash=167cd0ea) for method System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
+; Total bytes of code 747, prolog size 39, PerfScore 80.96, instruction count 177, allocated bytes for code 747 (MethodHash=167cd0ea) for method System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
-74 (-8.79 % of base) - System.Security.Cryptography.X509Certificates.RSAPkcs1X509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):ubyte[]:this
 ; Assembly listing for method System.Security.Cryptography.X509Certificates.RSAPkcs1X509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):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; 49 single block inlinees; 8 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.RSAPkcs1X509SignatureGenerator>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Security.Cryptography.HashAlgorithmName>
-;  V02 loc0         [V02,T03] (  9,  6   )     ref  ->  r15         class-hnd <System.String>
+;  V02 loc0         [V02,T03] (  8,  5   )     ref  ->  r15         class-hnd <System.String>
 ;* V03 loc1         [V03,T21] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SA] multireg-arg ld-addr-op <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V08 tmp4         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V09 tmp5         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V10 tmp6         [V10    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V11 tmp7         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V12 tmp8         [V12    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V13 tmp9         [V13    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;* V15 tmp11        [V15    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Security.Cryptography.HashAlgorithmName>
 ;* V16 tmp12        [V16    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Security.Cryptography.HashAlgorithmName>
 ;  V17 tmp13        [V17,T30] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "Single-def Box Helper" <System.Security.Cryptography.HashAlgorithmName>
-;  V18 tmp14        [V18,T33] (  2,  0   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V18 tmp14        [V18,T32] (  2,  0   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V19 tmp15        [V19,T31] (  3,  0   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
 ;  V20 tmp16        [V20,T01] (  7, 14   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Asn1.AsnWriter>
 ;  V21 tmp17        [V21,T24] (  1,  2   )  struct (32) [rbp-0x48]  do-not-enreg[HS] must-init hidden-struct-arg "location for address-of(RValue)" <System.Formats.Asn1.AsnWriter+Scope>
 ;* V22 tmp18        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V23 tmp19        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V24 tmp20        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V26 tmp22        [V26,T09] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V28 tmp24        [V28,T14] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V29 tmp25        [V29    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V30 tmp26        [V30    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V31 tmp27        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V32 tmp28        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V33 tmp29        [V33,T10] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V34 tmp30        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V35 tmp31        [V35,T15] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V36 tmp32        [V36    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V37 tmp33        [V37    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V39 tmp35        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V40 tmp36        [V40,T11] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V41 tmp37        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V42 tmp38        [V42,T16] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V43 tmp39        [V43    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V44 tmp40        [V44    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V45 tmp41        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V46 tmp42        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V47 tmp43        [V47,T12] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V48 tmp44        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V49 tmp45        [V49,T17] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V50 tmp46        [V50    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V51 tmp47        [V51    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V52 tmp48        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V53 tmp49        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V54 tmp50        [V54,T13] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V55 tmp51        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V56 tmp52        [V56,T18] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
 ;* V57 tmp53        [V57    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V58 tmp54        [V58    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V59 tmp55        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V60 tmp56        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V61 tmp57        [V61,T25] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SA] multireg-arg "Inlining Arg" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V62 tmp58        [V62    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V63 tmp59        [V63,T32] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;* V63 tmp59        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
 ;* V64 tmp60        [V64    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V65 tmp61        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp62        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V67 tmp63        [V67,T06] (  2,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V68 tmp64        [V68,T07] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V69 tmp65        [V69,T00] ( 24, 12   )     ref  ->  rbx         single-def "field V01._name (fldOffset=0x0)" P-INDEP
 ;* V70 tmp66        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._name (fldOffset=0x0)" P-INDEP
 ;* V71 tmp67        [V71    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._name (fldOffset=0x0)" P-INDEP
 ;* V72 tmp68        [V72    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._name (fldOffset=0x0)" P-INDEP
 ;* V73 tmp69        [V73    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V08._name (fldOffset=0x0)" P-INDEP
 ;* V74 tmp70        [V74    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._name (fldOffset=0x0)" P-INDEP
 ;* V75 tmp71        [V75    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._name (fldOffset=0x0)" P-INDEP
 ;* V76 tmp72        [V76    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._name (fldOffset=0x0)" P-INDEP
 ;* V77 tmp73        [V77    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._name (fldOffset=0x0)" P-INDEP
 ;* V78 tmp74        [V78    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._name (fldOffset=0x0)" P-INDEP
 ;* V79 tmp75        [V79    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14._name (fldOffset=0x0)" P-INDEP
 ;* V80 tmp76        [V80    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V15._name (fldOffset=0x0)" P-INDEP
 ;* V81 tmp77        [V81    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._name (fldOffset=0x0)" P-INDEP
 ;* V82 tmp78        [V82    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._name (fldOffset=0x0)" P-INDEP
 ;* V83 tmp79        [V83    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V23._name (fldOffset=0x0)" P-INDEP
 ;* V84 tmp80        [V84    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V29._name (fldOffset=0x0)" P-INDEP
 ;* V85 tmp81        [V85    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V30._name (fldOffset=0x0)" P-INDEP
 ;* V86 tmp82        [V86    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V36._name (fldOffset=0x0)" P-INDEP
 ;* V87 tmp83        [V87    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V37._name (fldOffset=0x0)" P-INDEP
 ;* V88 tmp84        [V88    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V43._name (fldOffset=0x0)" P-INDEP
 ;* V89 tmp85        [V89    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V44._name (fldOffset=0x0)" P-INDEP
 ;* V90 tmp86        [V90    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V50._name (fldOffset=0x0)" P-INDEP
 ;* V91 tmp87        [V91    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V51._name (fldOffset=0x0)" P-INDEP
 ;* V92 tmp88        [V92    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V57._name (fldOffset=0x0)" P-INDEP
 ;* V93 tmp89        [V93    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V58._name (fldOffset=0x0)" P-INDEP
 ;* V94 tmp90        [V94    ] (  0,  0   )   byref  ->  zero-ref    "field V62._reference (fldOffset=0x0)" P-INDEP
 ;* V95 tmp91        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V62._length (fldOffset=0x8)" P-INDEP
 ;  V96 tmp92        [V96,T19] (  2,  2   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
 ;  V97 tmp93        [V97,T22] (  2,  2   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
 ;  V98 tmp94        [V98,T20] (  2,  2   )   byref  ->  rsi         single-def "field V65._reference (fldOffset=0x0)" P-INDEP
 ;  V99 tmp95        [V99,T23] (  2,  2   )     int  ->  rdx         "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V100 tmp96       [V100    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V101 tmp97       [V101    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
-;  V102 tmp98       [V102,T34] (  2,  0   )     ref  ->  r12         single-def "argument with side effect"
-;  V103 tmp99       [V103,T35] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V104 tmp100      [V104,T36] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V102 tmp98       [V102,T33] (  2,  0   )     ref  ->  r12         single-def "argument with side effect"
+;  V103 tmp99       [V103,T34] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;* V104 tmp100      [V104    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V105 cse0        [V105,T04] (  5,  5   )    long  ->  rbx         "CSE #10: aggressive"
 ;  V106 cse1        [V106,T05] (  5,  5   )     int  ->  r13         "CSE #11: aggressive"
 ;  V107 cse2        [V107,T02] ( 15,  7.50)     int  ->  r14         multi-def "CSE #02: aggressive"
 ;  V108 cse3        [V108,T26] (  3,  1.50)     ref  ->  rsi         "CSE #03: conservative"
 ;  V109 cse4        [V109,T27] (  3,  1.50)     ref  ->  rsi         "CSE #07: conservative"
 ;  V110 cse5        [V110,T28] (  3,  1.50)     ref  ->  rsi         "CSE #08: conservative"
 ;  V111 cse6        [V111,T29] (  3,  1.50)     ref  ->  rsi         "CSE #09: conservative"
 ;  V112 cse7        [V112,T08] (  3,  2.50)     ref  ->  rsi         "CSE #01: moderate"
 ;
 ; Lcl frame size = 40
 
 G_M38271_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        xor      eax, eax
        mov      qword ptr [rbp-0x48], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        mov      qword ptr [rbp-0x30], rax
        mov      rbx, rsi
 						;; size=42 bbWeight=1 PerfScore 11.58
 G_M38271_IG02:
        mov      rsi, 0xD1FFAB1E      ; 'SHA256'
        cmp      rbx, rsi
        jne      SHORT G_M38271_IG04
 						;; size=15 bbWeight=1 PerfScore 1.50
 G_M38271_IG03:
        mov      r15, 0xD1FFAB1E      ; '1.2.840.113549.1.1.11'
        jmp      G_M38271_IG19
 						;; size=15 bbWeight=0.50 PerfScore 1.12
 G_M38271_IG04:
        test     rbx, rbx
        je       SHORT G_M38271_IG05
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 6
        je       SHORT G_M38271_IG07
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M38271_IG05:
        mov      rsi, 0xD1FFAB1E      ; 'SHA384'
        cmp      rbx, rsi
        jne      SHORT G_M38271_IG08
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M38271_IG06:
        mov      r15, 0xD1FFAB1E      ; '1.2.840.113549.1.1.12'
        jmp      G_M38271_IG19
 						;; size=15 bbWeight=0.50 PerfScore 1.12
 G_M38271_IG07:
        lea      rdi, bword ptr [rbx+0x0C]
        add      r14d, r14d
        mov      edx, r14d
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M38271_IG05
        jmp      SHORT G_M38271_IG03
 						;; size=32 bbWeight=0.50 PerfScore 3.88
 G_M38271_IG08:
        test     rbx, rbx
        je       SHORT G_M38271_IG09
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 6
        je       SHORT G_M38271_IG11
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M38271_IG09:
        mov      rsi, 0xD1FFAB1E      ; 'SHA512'
        cmp      rbx, rsi
        jne      SHORT G_M38271_IG12
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M38271_IG10:
        mov      r15, 0xD1FFAB1E      ; '1.2.840.113549.1.1.13'
        jmp      G_M38271_IG19
 						;; size=15 bbWeight=0.50 PerfScore 1.12
 G_M38271_IG11:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M38271_IG09
        jmp      SHORT G_M38271_IG06
 						;; size=30 bbWeight=0.50 PerfScore 3.88
 G_M38271_IG12:
        test     rbx, rbx
        je       SHORT G_M38271_IG13
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 6
        je       SHORT G_M38271_IG15
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M38271_IG13:
        mov      rsi, 0xD1FFAB1E      ; 'SHA3-256'
        cmp      rbx, rsi
        jne      SHORT G_M38271_IG16
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M38271_IG14:
        mov      r15, 0xD1FFAB1E      ; '2.16.840.1.101.3.4.3.14'
        jmp      SHORT G_M38271_IG19
 						;; size=12 bbWeight=0.50 PerfScore 1.12
 G_M38271_IG15:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M38271_IG13
        jmp      SHORT G_M38271_IG10
 						;; size=30 bbWeight=0.50 PerfScore 3.88
 G_M38271_IG16:
        test     rbx, rbx
        je       SHORT G_M38271_IG17
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 8
        je       G_M38271_IG21
 						;; size=19 bbWeight=0.50 PerfScore 2.25
 G_M38271_IG17:
        mov      rsi, 0xD1FFAB1E      ; 'SHA3-384'
        cmp      rbx, rsi
        jne      G_M38271_IG22
 						;; size=19 bbWeight=0.50 PerfScore 0.75
 G_M38271_IG18:
        mov      r15, 0xD1FFAB1E      ; '2.16.840.1.101.3.4.3.15'
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M38271_IG19:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnWriter
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      dword ptr [r14+0x1C], 2
        xor      ebx, ebx
        mov      rdx, rbx
        xor      r13d, r13d
        mov      ecx, r13d
        lea      rsi, [rbp-0x48]
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:PushSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.Formats.Asn1.AsnWriter+Scope:this
        call     [rax]System.Formats.Asn1.AsnWriter:PushSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.Formats.Asn1.AsnWriter+Scope:this
-       test     r15, r15
-       je       G_M38271_IG26
        lea      rsi, bword ptr [r15+0x0C]
        mov      edx, dword ptr [r15+0x08]
        mov      rcx, rbx
        mov      r8d, r13d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:WriteObjectIdentifier(System.ReadOnlySpan`1[ushort],System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        call     [rax]System.Formats.Asn1.AsnWriter:WriteObjectIdentifier(System.ReadOnlySpan`1[ushort],System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        mov      rsi, rbx
        mov      edx, r13d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:WriteNull(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        call     [rax]System.Formats.Asn1.AsnWriter:WriteNull(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        mov      rsi, rbx
        mov      edx, r13d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:PopSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        call     [rax]System.Formats.Asn1.AsnWriter:PopSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):this
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnWriter:Encode():ubyte[]:this
        call     [rax]System.Formats.Asn1.AsnWriter:Encode():ubyte[]:this
        nop      
-						;; size=152 bbWeight=1 PerfScore 27.00
+						;; size=143 bbWeight=1 PerfScore 25.75
 G_M38271_IG20:
        add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M38271_IG21:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       G_M38271_IG17
        jmp      G_M38271_IG14
 						;; size=37 bbWeight=0.50 PerfScore 3.88
 G_M38271_IG22:
        test     rbx, rbx
        je       SHORT G_M38271_IG23
        mov      r14d, dword ptr [rbx+0x08]
        cmp      r14d, 8
        je       SHORT G_M38271_IG24
 						;; size=15 bbWeight=0.50 PerfScore 2.25
 G_M38271_IG23:
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'SHA3-512'
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String):ubyte
        call     [rax]System.String:Equals(System.String,System.String):ubyte
        test     eax, eax
        je       SHORT G_M38271_IG25
        mov      r15, 0xD1FFAB1E      ; '2.16.840.1.101.3.4.3.16'
        jmp      G_M38271_IG19
 						;; size=44 bbWeight=0.50 PerfScore 3.62
 G_M38271_IG24:
        lea      rdi, bword ptr [rbx+0x0C]
        lea      edx, [r14+r14]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       SHORT G_M38271_IG23
        jmp      G_M38271_IG18
 						;; size=33 bbWeight=0.50 PerfScore 3.88
 G_M38271_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.HashAlgorithmName
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        lea      rdi, bword ptr [r15+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Cryptography_UnknownHashAlgorithm():System.String
        call     [rax]System.SR:get_Cryptography_UnknownHashAlgorithm():System.String
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentOutOfRangeException
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      edi, 0x41FB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      r12, rax
        mov      rdi, r14
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        mov      rcx, rax
        mov      rsi, r12
        mov      rdx, r15
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this
        call     [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this
        mov      rdi, r13
        call     CORINFO_HELP_THROW
        int3     
 						;; size=137 bbWeight=0 PerfScore 0.00
-G_M38271_IG26:
-       mov      rdi, 0xD1FFAB1E      ; System.ArgumentNullException
-       call     CORINFO_HELP_NEWSFAST
-       mov      rbx, rax
-       mov      edi, 0xBCA
-       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 842, prolog size 39, PerfScore 86.21, instruction count 197, allocated bytes for code 842 (MethodHash=d7dd6a80) for method System.Security.Cryptography.X509Certificates.RSAPkcs1X509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
+; Total bytes of code 768, prolog size 39, PerfScore 84.96, instruction count 182, allocated bytes for code 768 (MethodHash=d7dd6a80) for method System.Security.Cryptography.X509Certificates.RSAPkcs1X509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
-68 (-4.08 % of base) - System.IO.File+d__101:MoveNext():this
 ; Assembly listing for method System.IO.File+<InternalReadAllBytesUnknownLengthAsync>d__101:MoveNext():this (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; 34 single block inlinees; 17 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 36, 77   )   byref  ->  [rbp-0x48]  this EH-live single-def
 ;  V01 loc0         [V01,T33] (  7,  7   )     int  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <ubyte[]>
 ;* V03 loc2         [V03    ] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T12] (  4, 16   )     int  ->  rax        
 ;  V05 loc4         [V05,T18] (  3, 12   )     ref  ->  rbx         class-hnd <ubyte[]>
 ;  V06 loc5         [V06,T29] (  2,  8   )     ref  ->  r15         class-hnd <ubyte[]>
 ;  V07 loc6         [V07    ] ( 12, 43   )  struct (16) [rbp-0x40]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
 ;* V08 loc7         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Threading.Tasks.ValueTask`1[int]>
 ;* V09 loc8         [V09    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
 ;* V10 loc9         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;* V11 loc10        [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Exception>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;  V14 tmp2         [V14,T06] (  3, 24   )     ref  ->  rbx         class-hnd exact "impAppendStmt" <Microsoft.Win32.SafeHandles.SafeFileHandle>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[ubyte]>
 ;  V16 tmp4         [V16,T49] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
 ;  V17 tmp5         [V17,T21] (  3, 12   )     int  ->  rax         "Inline return value spill temp"
 ;  V18 tmp6         [V18,T08] (  3, 24   )     int  ->  rax         "Inlining Arg"
 ;  V19 tmp7         [V19,T02] (  4, 32   )     ref  ->  r15         class-hnd "Inlining Arg" <ubyte[]>
 ;  V20 tmp8         [V20,T03] (  4, 32   )     int  ->  r14         "Inlining Arg"
 ;* V21 tmp9         [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
 ;  V22 tmp10        [V22,T15] (  2, 16   )    long  ->  r12         "Inlining Arg"
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;  V24 tmp12        [V24,T14] (  2, 16   )     ref  ->  rcx         class-hnd "dup spill" <System.__Canon>
 ;  V25 tmp13        [V25,T01] ( 15, 60   )     ref  ->  [rbp-0x50] 
 ;  V26 tmp14        [V26,T07] (  3, 24   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.Win32.SafeHandles.SafeFileHandle+ThreadPoolValueTaskSource>
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
 ;* V29 tmp17        [V29    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V30 tmp18        [V30,T16] (  2, 16   )   short  ->  rsi         "Inlining Arg"
 ;* V31 tmp19        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
 ;* V32 tmp20        [V32    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[int]>
 ;* V33 tmp21        [V33    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
 ;* V34 tmp22        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
 ;* V35 tmp23        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp24        [V36    ] (  0,  0   )   short  ->  zero-ref    "Inlining Arg"
 ;* V37 tmp25        [V37    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
 ;* V38 tmp26        [V38,T40] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V39 tmp27        [V39,T10] (  4, 16   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V40 tmp28        [V40,T19] (  3, 12   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[int]>
 ;* V41 tmp29        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[int]>
 ;* V42 tmp30        [V42    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V43 tmp31        [V43    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V45 tmp33        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
 ;  V46 tmp34        [V46,T04] (  5, 28   )     int  ->  r14         "Inline return value spill temp"
 ;  V47 tmp35        [V47,T05] (  4, 24   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V48 tmp36        [V48,T09] (  5, 20   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[int]>
 ;* V49 tmp37        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[int]>
 ;  V50 tmp38        [V50,T25] (  4,  8   )     ref  ->  rbx         class-hnd "Inlining Arg" <ubyte[]>
 ;  V51 tmp39        [V51,T28] (  4,  8   )     int  ->  r15         "Inlining Arg"
 ;* V52 tmp40        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V53 tmp41        [V53,T36] (  5,  5   )     ref  ->  rbx         class-hnd "Inline return value spill temp" <ubyte[]>
+;  V53 tmp41        [V53,T37] (  4,  4   )     ref  ->  rbx         class-hnd "Inline return value spill temp" <ubyte[]>
 ;  V54 tmp42        [V54,T34] (  3,  6   )     ref  ->  rbx         class-hnd exact "dup spill" <ubyte[]>
 ;* V55 tmp43        [V55    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V56 tmp44        [V56    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp45        [V57    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V58 tmp46        [V58,T26] (  4,  8   )   byref  ->  r15         single-def "Inlining Arg"
-;  V59 tmp47        [V59,T43] (  3,  3   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte[]]>
+;  V59 tmp47        [V59,T46] (  2,  2   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte[]]>
 ;* V60 tmp48        [V60    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd single-def "Inlining Arg" <ubyte[]>
 ;  V61 tmp49        [V61,T27] (  4,  8   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[ubyte[]]>
 ;* V62 tmp50        [V62    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V63 tmp51        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V64 tmp52        [V64    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V65 tmp53        [V65,T35] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
 ;  V66 tmp54        [V66,T17] (  6, 12   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
 ;* V67 tmp55        [V67    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
 ;  V68 tmp56        [V68,T39] (  2,  4   )     int  ->  r13         "Inlining Arg"
 ;* V69 tmp57        [V69,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V70 tmp58        [V70    ] (  0,  0   )     ref  ->  zero-ref    "field V08._obj (fldOffset=0x0)" P-INDEP
 ;* V71 tmp59        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V08._result (fldOffset=0x8)" P-INDEP
 ;* V72 tmp60        [V72    ] (  0,  0   )   short  ->  zero-ref    "field V08._token (fldOffset=0xc)" P-INDEP
 ;* V73 tmp61        [V73    ] (  0,  0   )   ubyte  ->  zero-ref    "field V08._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
 ;* V74 tmp62        [V74    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V75 tmp63        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V76 tmp64        [V76    ] (  0,  0   )     ref  ->  zero-ref    "field V15._object (fldOffset=0x0)" P-INDEP
 ;* V77 tmp65        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V15._index (fldOffset=0x8)" P-INDEP
 ;* V78 tmp66        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0xc)" P-INDEP
 ;  V79 tmp67        [V79,T20] (  3, 12   )     ref  ->  r15         "field V21._object (fldOffset=0x0)" P-INDEP
 ;  V80 tmp68        [V80,T13] (  4, 16   )     int  ->  r14         "field V21._index (fldOffset=0x8)" P-INDEP
 ;  V81 tmp69        [V81,T22] (  3, 12   )     int  ->  r13         "field V21._length (fldOffset=0xc)" P-INDEP
 ;  V82 tmp70        [V82,T30] (  2,  8   )     ref  ->  [rbp-0x60]  spill-single-def "field V23._source (fldOffset=0x0)" P-INDEP
 ;* V83 tmp71        [V83    ] (  0,  0   )     ref  ->  zero-ref    "field V27._obj (fldOffset=0x0)" P-INDEP
 ;* V84 tmp72        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V27._result (fldOffset=0x8)" P-INDEP
 ;* V85 tmp73        [V85    ] (  0,  0   )   short  ->  zero-ref    "field V27._token (fldOffset=0xc)" P-INDEP
 ;* V86 tmp74        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "field V27._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
 ;* V87 tmp75        [V87    ] (  0,  0   )     ref  ->  zero-ref    "field V28._object (fldOffset=0x0)" P-INDEP
 ;* V88 tmp76        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V28._index (fldOffset=0x8)" P-INDEP
 ;* V89 tmp77        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0xc)" P-INDEP
 ;  V90 tmp78        [V90,T31] (  2,  8   )     ref  ->  rbx         "field V31._obj (fldOffset=0x0)" P-INDEP
 ;* V91 tmp79        [V91,T41] (  0,  0   )     int  ->  zero-ref    "field V31._result (fldOffset=0x8)" P-INDEP
 ;  V92 tmp80        [V92,T32] (  2,  8   )   short  ->  rsi         "field V31._token (fldOffset=0xc)" P-INDEP
 ;* V93 tmp81        [V93,T42] (  0,  0   )   ubyte  ->  zero-ref    "field V31._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
-;  V94 tmp82        [V94,T44] (  3,  3   )   byref  ->  r14         "field V52._reference (fldOffset=0x0)" P-INDEP
-;  V95 tmp83        [V95,T37] (  5,  5   )     int  ->  r15         "field V52._length (fldOffset=0x8)" P-INDEP
+;  V94 tmp82        [V94,T43] (  3,  3   )   byref  ->  r14         "field V52._reference (fldOffset=0x0)" P-INDEP
+;  V95 tmp83        [V95,T36] (  5,  5   )     int  ->  r15         "field V52._length (fldOffset=0x8)" P-INDEP
 ;* V96 tmp84        [V96    ] (  0,  0   )     ref  ->  zero-ref    "field V62._source (fldOffset=0x0)" P-INDEP
 ;  V97 tmp85        [V97,T38] (  2,  4   )     ref  ->  rdx         "argument with side effect"
 ;  V98 PSPSym       [V98,T48] (  1,  1   )    long  ->  [rbp-0x68]  do-not-enreg[V] "PSPSym"
-;  V99 cse0         [V99,T45] (  3,  3   )     ref  ->  r14         "CSE #10: conservative"
-;  V100 cse1        [V100,T46] (  3,  3   )     int  ->  rsi         "CSE #11: conservative"
+;  V99 cse0         [V99,T44] (  3,  3   )     ref  ->  r14         "CSE #10: conservative"
+;  V100 cse1        [V100,T45] (  3,  3   )     int  ->  rsi         "CSE #11: conservative"
 ;  V101 cse2        [V101,T11] (  4, 16   )     ref  ->  rsi         "CSE #01: moderate"
 ;  V102 cse3        [V102,T23] (  3, 12   )     int  ->  rdi         "CSE #04: moderate"
 ;  V103 cse4        [V103,T24] (  3, 12   )     int  ->  r13         "CSE #03: moderate"
 ;
 ; Lcl frame size = 72
 
 G_M15884_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0x68], rsp
        mov      bword ptr [rbp-0x48], rdi
        mov      rdx, rdi
 						;; size=36 bbWeight=1 PerfScore 10.25
 G_M15884_IG02:
        mov      edi, dword ptr [rdx+0x10]
        mov      dword ptr [rbp-0x2C], edi
 						;; size=6 bbWeight=1 PerfScore 3.00
 G_M15884_IG03:
        cmp      dword ptr [rbp-0x2C], 0
        je       SHORT G_M15884_IG04
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      esi, 512
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      rdx, bword ptr [rbp-0x48]
        lea      rdi, bword ptr [rdx+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        nop      
 						;; size=53 bbWeight=1 PerfScore 11.75
 G_M15884_IG04:
        cmp      dword ptr [rbp-0x2C], 0
        je       SHORT G_M15884_IG07
        xor      edi, edi
        mov      rdx, bword ptr [rbp-0x48]
        mov      dword ptr [rdx+0x14], edi
        jmp      SHORT G_M15884_IG06
 						;; size=17 bbWeight=1 PerfScore 7.25
 G_M15884_IG05:
        mov      rsi, bword ptr [rbp-0x48]
        add      dword ptr [rsi+0x14], r14d
        mov      rdx, rsi
 						;; size=11 bbWeight=8 PerfScore 34.00
 G_M15884_IG06:
        mov      edi, dword ptr [rdx+0x14]
        mov      rsi, gword ptr [rdx+0x08]
        cmp      edi, dword ptr [rsi+0x08]
        jne      G_M15884_IG11
        mov      edi, dword ptr [rsi+0x08]
        add      edi, edi
        mov      eax, edi
        cmp      eax, 0xD1FFAB1E
        jbe      SHORT G_M15884_IG10
        mov      eax, dword ptr [rsi+0x08]
        inc      eax
        cmp      eax, 0xD1FFAB1E
        jle      SHORT G_M15884_IG09
        jmp      SHORT G_M15884_IG10
 						;; size=44 bbWeight=4 PerfScore 69.00
 G_M15884_IG07:
        mov      rdx, bword ptr [rbp-0x48]
        vmovdqu  xmm0, xmmword ptr [rdx+0x28]
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
 						;; size=14 bbWeight=1 PerfScore 6.00
 G_M15884_IG08:
        xor      eax, eax
        mov      qword ptr [rdx+0x28], rax
        mov      qword ptr [rdx+0x30], rax
        mov      dword ptr [rbp-0x2C], -1
        mov      dword ptr [rdx+0x10], -1
        jmp      G_M15884_IG16
 						;; size=29 bbWeight=1 PerfScore 6.25
 G_M15884_IG09:
        mov      eax, 0xD1FFAB1E
 						;; size=5 bbWeight=4 PerfScore 1.00
 G_M15884_IG10:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      esi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      rbx, rax
        mov      rdx, bword ptr [rbp-0x48]
        mov      rdi, gword ptr [rdx+0x08]
        mov      r8d, dword ptr [rdx+0x14]
        mov      rdx, rbx
        xor      esi, esi
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
        call     [rax]System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
        mov      rdx, bword ptr [rbp-0x48]
        mov      r15, gword ptr [rdx+0x08]
        lea      rdi, bword ptr [rdx+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      rsi, r15
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
        mov      rdx, bword ptr [rbp-0x48]
 						;; size=115 bbWeight=4 PerfScore 107.00
 G_M15884_IG11:
        mov      rbx, gword ptr [rdx]
        mov      r15, gword ptr [rdx+0x08]
        mov      edi, dword ptr [rdx+0x14]
        mov      r14d, edi
        test     r15, r15
        jne      SHORT G_M15884_IG12
        test     r14d, r14d
        je       SHORT G_M15884_IG13
        jmp      G_M15884_IG31
 						;; size=28 bbWeight=4 PerfScore 43.00
 G_M15884_IG12:
        mov      r13d, dword ptr [r15+0x08]
        cmp      r13d, r14d
        jb       G_M15884_IG31
        sub      r13d, r14d
        jmp      SHORT G_M15884_IG14
 						;; size=18 bbWeight=4 PerfScore 22.00
 G_M15884_IG13:
        xor      r15, r15
        xor      r14d, r14d
        xor      r13d, r13d
 						;; size=9 bbWeight=4 PerfScore 3.00
 G_M15884_IG14:
        movsxd   r12, edi
        mov      rax, gword ptr [rdx+0x20]
        mov      gword ptr [rbp-0x60], rax
        lea      rdi, bword ptr [rbx+0x20]
        xor      rcx, rcx
        xchg     gword ptr [rdi], rcx
        test     rcx, rcx
        jne      SHORT G_M15884_IG15
        mov      rdi, 0xD1FFAB1E      ; Microsoft.Win32.SafeHandles.SafeFileHandle+ThreadPoolValueTaskSource
        call     CORINFO_HELP_NEWSFAST
        mov      rcx, rax
        mov      gword ptr [rbp-0x58], rcx
        lea      rdi, bword ptr [rcx+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, gword ptr [rbp-0x58]
        mov      rcx, rbx
 						;; size=66 bbWeight=4 PerfScore 123.00
 G_M15884_IG15:
        mov      byte  ptr [rcx+0x38], 1
        mov      gword ptr [rbp-0x50], rcx
        lea      rdi, bword ptr [rcx+0x78]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, gword ptr [rbp-0x50]
        mov      dword ptr [rbx+0x80], r14d
        mov      dword ptr [rbx+0x84], r13d
        mov      qword ptr [rbx+0x30], r12
        lea      rdi, bword ptr [rbx+0x70]
        mov      rsi, gword ptr [rbp-0x60]
        call     CORINFO_HELP_ASSIGN_REF
        xor      rax, rax
        mov      gword ptr [rbx+0x18], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
        call     [rax]System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      G_M15884_IG30
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      rsi, rbx
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this
        call     [rax]System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this
        movsx    rsi, word  ptr [rbx+0x68]
        mov      gword ptr [rbp-0x40], rbx
        xor      edi, edi
        mov      dword ptr [rbp-0x38], edi
        mov      word  ptr [rbp-0x34], si
        mov      byte  ptr [rbp-0x32], 0
        mov      rbx, gword ptr [rbp-0x40]
        test     rbx, rbx
        jne      SHORT G_M15884_IG18
 						;; size=180 bbWeight=4 PerfScore 152.00
 G_M15884_IG16:
        mov      r15, gword ptr [rbp-0x40]
        test     r15, r15
        jne      G_M15884_IG22
 						;; size=13 bbWeight=8 PerfScore 18.00
 G_M15884_IG17:
        mov      r14d, dword ptr [rbp-0x38]
        jmp      G_M15884_IG25
 						;; size=9 bbWeight=4 PerfScore 12.00
 G_M15884_IG18:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[int]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M15884_IG19
        test     dword ptr [rax+0x34], 0xD1FFAB1E
        jne      SHORT G_M15884_IG16
        jmp      SHORT G_M15884_IG20
 						;; size=41 bbWeight=4 PerfScore 44.00
 G_M15884_IG19:
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x34]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetStatus(short):int:this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetStatus(short):int:this
        test     eax, eax
        jne      SHORT G_M15884_IG16
 						;; size=25 bbWeight=4 PerfScore 31.00
 G_M15884_IG20:
        xor      edi, edi
        mov      dword ptr [rbp-0x2C], edi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M15884_IG21:
        mov      rdx, bword ptr [rbp-0x48]
        mov      dword ptr [rdx+0x10], edi
        lea      rdi, bword ptr [rdx+0x28]
        lea      rsi, bword ptr [rbp-0x40]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
        add      rdx, 24
        mov      rsi, bword ptr [rbp-0x48]
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte[]]:GetStateMachineBox[System.IO.File+<InternalReadAllBytesUnknownLengthAsync>d__101](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:GetStateMachineBox[System.IO.File+<InternalReadAllBytesUnknownLengthAsync>d__101](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:GetStateMachineBox[System.IO.File+<InternalReadAllBytesUnknownLengthAsync>d__101](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rdx, rax
        lea      rsi, [rbp-0x40]
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte[]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        jmp      G_M15884_IG33
 						;; size=86 bbWeight=1 PerfScore 16.00
 G_M15884_IG22:
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[int]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      r14, rax
        test     r14, r14
        je       SHORT G_M15884_IG24
        mov      edi, dword ptr [r14+0x34]
        and      edi, 0xD1FFAB1E
        cmp      edi, 0xD1FFAB1E
        je       SHORT G_M15884_IG23
        mov      rdi, r14
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        call     [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
 						;; size=68 bbWeight=4 PerfScore 50.00
 G_M15884_IG23:
        mov      r14d, dword ptr [r14+0x38]
        jmp      SHORT G_M15884_IG25
 						;; size=6 bbWeight=4 PerfScore 16.00
 G_M15884_IG24:
        mov      rdi, r15
        movsx    rsi, word  ptr [rbp-0x34]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetResult(short):int:this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetResult(short):int:this
        mov      r14d, eax
 						;; size=24 bbWeight=4 PerfScore 27.00
 G_M15884_IG25:
        test     r14d, r14d
        jne      G_M15884_IG05
 						;; size=9 bbWeight=8 PerfScore 10.00
 G_M15884_IG26:
        mov      rsi, bword ptr [rbp-0x48]
        mov      rbx, gword ptr [rsi+0x08]
        mov      r15d, dword ptr [rsi+0x14]
        test     rbx, rbx
        jne      SHORT G_M15884_IG27
        test     r15d, r15d
        jne      SHORT G_M15884_IG31
        xor      r14, r14
        xor      r15d, r15d
        jmp      SHORT G_M15884_IG28
 						;; size=30 bbWeight=1 PerfScore 10.00
 G_M15884_IG27:
        cmp      dword ptr [rbx+0x08], r15d
        jb       SHORT G_M15884_IG31
        lea      r14, bword ptr [rbx+0x10]
 						;; size=10 bbWeight=1 PerfScore 4.50
 G_M15884_IG28:
        test     r15d, r15d
        jne      SHORT G_M15884_IG29
        mov      rbx, 0xD1FFAB1E      ; 'System.Byte[]'
        jmp      SHORT G_M15884_IG32
 						;; size=17 bbWeight=1 PerfScore 3.50
 G_M15884_IG29:
        mov      esi, r15d
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        mov      rbx, rax
        mov      edx, r15d
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        jmp      SHORT G_M15884_IG32
 						;; size=45 bbWeight=1 PerfScore 8.00
 G_M15884_IG30:
        mov      edi, 44
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M15884_IG31:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M15884_IG32:
        cmp      dword ptr [rbp-0x2C], 0
        jge      SHORT G_M15884_IG35
        mov      rsi, bword ptr [rbp-0x48]
        mov      rdi, gword ptr [rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.SafeHandle:Dispose():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Runtime.InteropServices.SafeHandle:Dispose():this
        mov      rsi, bword ptr [rbp-0x48]
        mov      rsi, gword ptr [rsi+0x08]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
        jmp      SHORT G_M15884_IG35
 						;; size=64 bbWeight=1 PerfScore 23.00
 G_M15884_IG33:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M15884_IG34:
-       call     G_M15884_IG45
-       jmp      SHORT G_M15884_IG38
+       call     G_M15884_IG41
+       jmp      SHORT G_M15884_IG36
 						;; size=7 bbWeight=1 PerfScore 3.00
 G_M15884_IG35:
        mov      rsi, bword ptr [rbp-0x48]
        mov      dword ptr [rsi+0x10], -2
        xor      rdi, rdi
        mov      gword ptr [rsi+0x08], rdi
        lea      r15, bword ptr [rsi+0x18]
        cmp      gword ptr [r15], 0
-       jne      SHORT G_M15884_IG40
-       test     rbx, rbx
-       jne      G_M15884_IG42
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
-       je       G_M15884_IG44
-						;; size=55 bbWeight=1 PerfScore 13.25
-G_M15884_IG36:
-       mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.Task`1[ubyte[]]:s_defaultResultTask
-       mov      rsi, gword ptr [rdi]
-						;; size=13 bbWeight=1 PerfScore 2.25
-G_M15884_IG37:
+       jne      SHORT G_M15884_IG38
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[ubyte[]]
+       call     CORINFO_HELP_NEWSFAST
+       mov      r14, rax
+       mov      dword ptr [r14+0x34], 0xD1FFAB1E
+       lea      rdi, bword ptr [r14+0x38]
+       mov      rsi, rbx
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rsi, r14
        mov      rdi, r15
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
-						;; size=8 bbWeight=1 PerfScore 1.25
-G_M15884_IG38:
+						;; size=76 bbWeight=1 PerfScore 13.50
+G_M15884_IG36:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M15884_IG39:
+G_M15884_IG37:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M15884_IG40:
+G_M15884_IG38:
        mov      r15, gword ptr [r15]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r14, gword ptr [rdi]
        cmp      byte  ptr [r14+0x9D], 0
-       je       SHORT G_M15884_IG41
+       je       SHORT G_M15884_IG39
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      r13d, eax
        movzx    rsi, byte  ptr [r14+0x9D]
        test     esi, esi
-       je       SHORT G_M15884_IG41
+       je       SHORT G_M15884_IG39
        xor      ecx, ecx
        mov      dword ptr [rsp], ecx
        mov      rcx, qword ptr [r14+0x80]
        mov      edx, dword ptr [r14+0x98]
        mov      rdi, r14
        mov      r8d, 4
        mov      r9d, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        call     [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        test     eax, eax
-       je       SHORT G_M15884_IG41
+       je       SHORT G_M15884_IG39
        mov      rdi, r14
        mov      edx, r13d
        mov      esi, 15
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
 						;; size=136 bbWeight=1 PerfScore 33.00
-G_M15884_IG41:
+G_M15884_IG39:
        mov      rdi, r15
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task`1[System.__Canon]:TrySetResult(System.__Canon):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.Task`1[System.__Canon]:TrySetResult(System.__Canon):ubyte:this
        test     eax, eax
-       jne      G_M15884_IG38
-       jmp      SHORT G_M15884_IG43
-						;; size=30 bbWeight=1 PerfScore 10.00
-G_M15884_IG42:
-       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[ubyte[]]
-       call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
-       mov      dword ptr [r14+0x34], 0xD1FFAB1E
-       lea      rdi, bword ptr [r14+0x38]
-       mov      rsi, rbx
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      rsi, r14
-       jmp      G_M15884_IG37
-						;; size=46 bbWeight=1 PerfScore 6.50
-G_M15884_IG43:
+       jne      G_M15884_IG36
+						;; size=28 bbWeight=1 PerfScore 8.00
+G_M15884_IG40:
        mov      edi, 24
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
        call     [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
-G_M15884_IG44:
-       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[ubyte[]]
-       call     CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      G_M15884_IG36
-						;; size=20 bbWeight=0 PerfScore 0.00
-G_M15884_IG45:
+G_M15884_IG41:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x70]
 						;; size=27 bbWeight=1 PerfScore 9.75
-G_M15884_IG46:
+G_M15884_IG42:
        cmp      dword ptr [rbp-0x2C], 0
-       jge      SHORT G_M15884_IG47
+       jge      SHORT G_M15884_IG43
        mov      rsi, bword ptr [rbp-0x48]
        mov      rdi, gword ptr [rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.SafeHandle:Dispose():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Runtime.InteropServices.SafeHandle:Dispose():this
        mov      r15, bword ptr [rbp-0x48]
        mov      rsi, gword ptr [r15+0x08]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
 						;; size=62 bbWeight=1 PerfScore 21.00
-G_M15884_IG47:
+G_M15884_IG43:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M15884_IG48:
+G_M15884_IG44:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M15884_IG49:
+G_M15884_IG45:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x70]
 						;; size=27 bbWeight=0 PerfScore 0.00
-G_M15884_IG50:
+G_M15884_IG46:
        mov      rdx, rsi
        mov      r15, bword ptr [rbp-0x48]
        mov      dword ptr [r15+0x10], -2
        xor      rdi, rdi
        mov      gword ptr [r15+0x08], rdi
        lea      rdi, bword ptr [r15+0x18]
        mov      rsi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte[]]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:SetException(System.Exception):this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:SetException(System.Exception):this
-       lea      rax, G_M15884_IG38
+       lea      rax, G_M15884_IG36
 						;; size=54 bbWeight=0 PerfScore 0.00
-G_M15884_IG51:
+G_M15884_IG47:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1667, prolog size 36, PerfScore 982.00, instruction count 415, allocated bytes for code 1667 (MethodHash=007cc1f3) for method System.IO.File+<InternalReadAllBytesUnknownLengthAsync>d__101:MoveNext():this (FullOpts)
+; Total bytes of code 1599, prolog size 36, PerfScore 970.25, instruction count 403, allocated bytes for code 1599 (MethodHash=007cc1f3) for method System.IO.File+<InternalReadAllBytesUnknownLengthAsync>d__101:MoveNext():this (FullOpts)
-50 (-10.66 % of base) - ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition:GetSlotState(ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable,ushort):System.String:this
 ; Assembly listing for method ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition:GetSlotState(ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable,ushort):System.String: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; 8 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  4,  4   )     ref  ->  rbx         this class-hnd single-def <ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition>
 ;  V01 arg1         [V01,T04] (  3,  3   )     ref  ->  rsi         class-hnd single-def <ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable>
 ;  V02 arg2         [V02,T05] (  3,  2.50)  ushort  ->  rdx         single-def
 ;  V03 loc0         [V03,T09] (  4,  3   )     ref  ->  r15         class-hnd single-def <ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable+GcSlot>
 ;  V04 loc1         [V04,T12] (  3,  2   )     ref  ->  rax         class-hnd <System.String>
-;  V05 loc2         [V05,T07] (  4,  4   )     ref  ->  rdx         class-hnd <System.String>
-;  V06 loc3         [V06,T06] (  8,  4   )     ref  ->  r13         class-hnd <System.Type>
+;  V05 loc2         [V05,T06] (  4,  4   )     ref  ->  rdx         class-hnd <System.String>
+;  V06 loc3         [V06,T07] (  7,  3.50)     ref  ->  r13         class-hnd <System.Type>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T02] (  3,  6   )     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable+GcSlot]>
 ;  V09 tmp2         [V09,T10] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;  V10 tmp3         [V10,T11] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;  V11 tmp4         [V11,T14] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.NotImplementedException>
 ;  V12 tmp5         [V12,T00] (  4,  8   )     int  ->  rax         "Inlining Arg"
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Int32>
 ;  V14 tmp7         [V14,T13] (  2,  2   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.GcStackSlot>
 ;  V15 tmp8         [V15,T03] (  3,  6   )     ref  ->  rdi         single-def "arr expr"
 ;  V16 cse0         [V16,T08] (  7,  3.50)     int  ->  r14         "CSE #01: moderate"
 ;
 ; Lcl frame size = 0
 
 G_M8802_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        lea      rbp, [rsp+0x20]
        mov      rbx, rdi
 						;; size=16 bbWeight=1 PerfScore 5.75
 G_M8802_IG02:
        mov      rdi, gword ptr [rsi+0x08]
        mov      eax, dword ptr [rbx+0x0C]
        cmp      eax, dword ptr [rdi+0x10]
-       jae      G_M8802_IG15
+       jae      G_M8802_IG13
        mov      rdi, gword ptr [rdi+0x08]
        cmp      eax, dword ptr [rdi+0x08]
-       jae      G_M8802_IG16
+       jae      G_M8802_IG14
        mov      r15, gword ptr [rdi+8*rax+0x10]
        cmp      gword ptr [r15+0x08], 0
-       jne      SHORT G_M8802_IG05
-						;; size=41 bbWeight=1 PerfScore 20.00
+       jne      G_M8802_IG07
+						;; size=45 bbWeight=1 PerfScore 20.00
 G_M8802_IG03:
        movzx    r14, dx
        cmp      r14d, 0x5064
-       ja       G_M8802_IG06
+       ja       G_M8802_IG08
        cmp      r14d, 452
-       je       G_M8802_IG09
+       je       G_M8802_IG11
        cmp      r14d, 0x5064
-       jne      G_M8802_IG13
+       jne      G_M8802_IG12
        mov      r13, 0xD1FFAB1E      ; 'ILCompiler.Reflection.ReadyToRun.RiscV64.Registers'
 						;; size=53 bbWeight=0.50 PerfScore 2.12
 G_M8802_IG04:
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
-       mov      edi, dword ptr [r15+0x14]
-       mov      dword ptr [rax+0x08], edi
-       test     r13, r13
-       jne      G_M8802_IG10
-       jmp      G_M8802_IG14
-						;; size=36 bbWeight=0.50 PerfScore 3.75
+       mov      esi, dword ptr [r15+0x14]
+       mov      dword ptr [rax+0x08], esi
+       mov      rsi, rax
+       mov      rdi, r13
+       mov      rax, qword ptr [r13]
+       mov      rax, qword ptr [rax+0xA8]
+       call     [rax+0x28]System.Type:GetEnumName(System.Object):System.String:this
+						;; size=42 bbWeight=0.50 PerfScore 5.88
 G_M8802_IG05:
+       mov      rdx, 0xD1FFAB1E      ; 'live'
+       mov      rdi, 0xD1FFAB1E      ; 'dead'
+       cmp      byte  ptr [rbx+0x1C], 0
+       cmove    rdx, rdi
+       mov      rdi, rax
+       mov      rsi, 0xD1FFAB1E      ; ' is '
+       mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.String,System.String,System.String):System.String
+						;; size=51 bbWeight=1 PerfScore 4.50
+G_M8802_IG06:
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       tail.jmp [rax]System.String:Concat(System.String,System.String,System.String):System.String
+						;; size=11 bbWeight=1 PerfScore 4.50
+G_M8802_IG07:
        mov      r14, gword ptr [r15+0x08]
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      esi, dword ptr [r14+0x08]
        mov      dword ptr [rax+0x08], esi
        mov      rsi, rax
        mov      rdi, 0xD1FFAB1E      ; 'sp{0:+#;-#;+0}'
        mov      rax, 0xD1FFAB1E      ; code for System.String:Format(System.String,System.Object):System.String
        call     [rax]System.String:Format(System.String,System.Object):System.String
-       jmp      SHORT G_M8802_IG11
+       jmp      SHORT G_M8802_IG05
 						;; size=53 bbWeight=0.50 PerfScore 6.00
-G_M8802_IG06:
+G_M8802_IG08:
        cmp      r14d, 0x6264
-       je       SHORT G_M8802_IG07
+       je       SHORT G_M8802_IG09
        cmp      r14d, 0x8664
-       je       SHORT G_M8802_IG08
+       je       SHORT G_M8802_IG10
        cmp      r14d, 0xAA64
-       jne      G_M8802_IG13
+       jne      SHORT G_M8802_IG12
        mov      r13, 0xD1FFAB1E      ; 'ILCompiler.Reflection.ReadyToRun.Arm64.Registers'
        jmp      G_M8802_IG04
-						;; size=46 bbWeight=0.50 PerfScore 3.00
-G_M8802_IG07:
+						;; size=42 bbWeight=0.50 PerfScore 3.00
+G_M8802_IG09:
        mov      r13, 0xD1FFAB1E      ; 'ILCompiler.Reflection.ReadyToRun.LoongArch64.Registers'
        jmp      G_M8802_IG04
 						;; size=15 bbWeight=0.50 PerfScore 1.12
-G_M8802_IG08:
+G_M8802_IG10:
        mov      r13, 0xD1FFAB1E      ; 'ILCompiler.Reflection.ReadyToRun.Amd64.Registers'
        jmp      G_M8802_IG04
 						;; size=15 bbWeight=0.50 PerfScore 1.12
-G_M8802_IG09:
+G_M8802_IG11:
        mov      r13, 0xD1FFAB1E      ; 'ILCompiler.Reflection.ReadyToRun.Arm.Registers'
        jmp      G_M8802_IG04
 						;; size=15 bbWeight=0.50 PerfScore 1.12
-G_M8802_IG10:
-       mov      rsi, rax
-       mov      rdi, r13
-       mov      rax, qword ptr [r13]
-       mov      rax, qword ptr [rax+0xA8]
-       call     [rax+0x28]System.Type:GetEnumName(System.Object):System.String:this
-						;; size=20 bbWeight=0.50 PerfScore 3.75
-G_M8802_IG11:
-       mov      rdx, 0xD1FFAB1E      ; 'live'
-       mov      rdi, 0xD1FFAB1E      ; 'dead'
-       cmp      byte  ptr [rbx+0x1C], 0
-       cmove    rdx, rdi
-       mov      rdi, rax
-       mov      rsi, 0xD1FFAB1E      ; ' is '
-       mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.String,System.String,System.String):System.String
-						;; size=51 bbWeight=1 PerfScore 4.50
 G_M8802_IG12:
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       tail.jmp [rax]System.String:Concat(System.String,System.String,System.String):System.String
-						;; size=11 bbWeight=1 PerfScore 4.50
-G_M8802_IG13:
        mov      rdi, 0xD1FFAB1E      ; System.NotImplementedException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.NotImplementedException:.ctor():this
        call     [rax]System.NotImplementedException:.ctor():this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
-G_M8802_IG14:
-       mov      edi, 0x4C5
-       mov      rsi, 0xD1FFAB1E
-       call     CORINFO_HELP_STRCNS
-       mov      rdi, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
-       call     [rax]System.ArgumentNullException:Throw(System.String)
-       int3     
-						;; size=36 bbWeight=0 PerfScore 0.00
-G_M8802_IG15:
+G_M8802_IG13:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M8802_IG16:
+G_M8802_IG14:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 469, prolog size 13, PerfScore 56.75, instruction count 95, allocated bytes for code 469 (MethodHash=34a3dd9d) for method ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition:GetSlotState(ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable,ushort):System.String:this (FullOpts)
+; Total bytes of code 419, prolog size 13, PerfScore 55.12, instruction count 85, allocated bytes for code 419 (MethodHash=34a3dd9d) for method ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition:GetSlotState(ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable,ushort):System.String:this (FullOpts)
-47 (-13.35 % of base) - System.Security.Cryptography.LiteHashProvider:CreateKmac(System.String,System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],ubyte):System.Security.Cryptography.LiteKmac
 ; Assembly listing for method System.Security.Cryptography.LiteHashProvider:CreateKmac(System.String,System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],ubyte):System.Security.Cryptography.LiteKmac (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; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  9,  4   )     ref  ->  rdi         class-hnd single-def <System.String>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
 ;  V03 arg3         [V03,T01] (  3,  3   )   ubyte  ->  rbx         single-def
-;  V04 loc0         [V04,T06] (  4,  3   )     ref  ->  rdi         class-hnd <Microsoft.Win32.SafeHandles.SafeEvpMacHandle>
+;  V04 loc0         [V04,T07] (  3,  2.50)     ref  ->  rdi         class-hnd <Microsoft.Win32.SafeHandles.SafeEvpMacHandle>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.LiteKmac>
-;  V08 tmp3         [V08,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.UnreachableException>
-;  V09 tmp4         [V09,T10] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.UnreachableException>
+;  V09 tmp4         [V09,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V11 tmp6         [V11,T08] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V12 tmp7         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V13 tmp8         [V13,T11] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V13 tmp8         [V13,T10] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <Microsoft.Win32.SafeHandles.SafeEvpMacCtxHandle>
 ;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp11        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V17 tmp12        [V17,T04] (  2,  2   )   byref  ->  r13         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
 ;  V18 tmp13        [V18,T02] (  3,  3   )     int  ->  r15         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V19 tmp14        [V19,T05] (  2,  2   )   byref  ->  r12         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V20 tmp15        [V20,T03] (  3,  3   )     int  ->  r14         single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;  V21 tmp16        [V21,T07] (  3,  3   )     ref  ->  [rbp-0x30]  spill-single-def "field V07._ctx (fldOffset=0x0)" P-INDEP
+;  V21 tmp16        [V21,T06] (  3,  3   )     ref  ->  [rbp-0x30]  spill-single-def "field V07._ctx (fldOffset=0x0)" P-INDEP
 ;* V22 tmp17        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp18        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V24 tmp19        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp20        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 24
 
 G_M55457_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        mov      r13, rsi
        mov      r15d, edx
        mov      r12, rcx
        mov      r14d, r8d
        mov      ebx, r9d
 						;; size=34 bbWeight=1 PerfScore 8.00
 G_M55457_IG02:
        test     rdi, rdi
-       je       G_M55457_IG13
+       je       G_M55457_IG12
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M55457_IG03:
        cmp      dword ptr [rdi+0x08], 7
        jne      SHORT G_M55457_IG05
 						;; size=6 bbWeight=0.25 PerfScore 1.00
 G_M55457_IG04:
        mov      rax, 0xD1FFAB1E
        xor      rax, qword ptr [rdi+0x0C]
        mov      rcx, 0xD1FFAB1E
        xor      rcx, qword ptr [rdi+0x12]
        or       rax, rcx
        je       SHORT G_M55457_IG07
 						;; size=33 bbWeight=0.12 PerfScore 0.97
 G_M55457_IG05:
        cmp      dword ptr [rdi+0x08], 7
-       jne      G_M55457_IG13
+       jne      G_M55457_IG12
 						;; size=10 bbWeight=0.25 PerfScore 1.00
 G_M55457_IG06:
        mov      rax, 0xD1FFAB1E
        xor      rax, qword ptr [rdi+0x0C]
        mov      rcx, 0xD1FFAB1E
        xor      rcx, qword ptr [rdi+0x12]
        or       rax, rcx
        je       SHORT G_M55457_IG08
-       jmp      G_M55457_IG13
+       jmp      G_M55457_IG12
 						;; size=38 bbWeight=0.12 PerfScore 1.22
 G_M55457_IG07:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        jmp      SHORT G_M55457_IG09
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M55457_IG08:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
-						;; size=13 bbWeight=0.50 PerfScore 1.12
+						;; size=13 bbWeight=1 PerfScore 2.25
 G_M55457_IG09:
-       test     rdi, rdi
-       je       SHORT G_M55457_IG12
        mov      rax, 0xD1FFAB1E      ; code for Interop+Crypto:EvpMacCtxNew(Microsoft.Win32.SafeHandles.SafeEvpMacHandle):Microsoft.Win32.SafeHandles.SafeEvpMacCtxHandle
        call     [rax]Interop+Crypto:EvpMacCtxNew(Microsoft.Win32.SafeHandles.SafeEvpMacHandle):Microsoft.Win32.SafeHandles.SafeEvpMacCtxHandle
        mov      gword ptr [rbp-0x30], rax
        mov      dword ptr [rsp], r14d
        movzx    r8, bl
        mov      dword ptr [rsp+0x08], r8d
        mov      r8, r12
        mov      r9d, r14d
        mov      rsi, r13
        mov      edx, r15d
        mov      rdi, rax
        mov      ecx, r15d
        mov      r10, 0xD1FFAB1E      ; code for Interop+Crypto:CryptoNative_EvpMacInit(Microsoft.Win32.SafeHandles.SafeEvpMacCtxHandle,System.ReadOnlySpan`1[ubyte],int,System.ReadOnlySpan`1[ubyte],int,ubyte):int
        call     [r10]Interop+Crypto:CryptoNative_EvpMacInit(Microsoft.Win32.SafeHandles.SafeEvpMacCtxHandle,System.ReadOnlySpan`1[ubyte],int,System.ReadOnlySpan`1[ubyte],int,ubyte):int
        cmp      eax, 1
        jne      SHORT G_M55457_IG11
        mov      rax, gword ptr [rbp-0x30]
-						;; size=74 bbWeight=1 PerfScore 14.75
+						;; size=69 bbWeight=1 PerfScore 13.50
 G_M55457_IG10:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M55457_IG11:
        mov      rax, 0xD1FFAB1E      ; code for Interop+Crypto:CreateOpenSslCryptographicException():System.Exception
        call     [rax]Interop+Crypto:CreateOpenSslCryptographicException():System.Exception
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=21 bbWeight=0 PerfScore 0.00
 G_M55457_IG12:
-       mov      rdi, 0xD1FFAB1E      ; System.Diagnostics.UnreachableException
-       call     CORINFO_HELP_NEWSFAST
-       mov      rbx, rax
-       mov      rdi, rbx
-       mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.UnreachableException:.ctor():this
-       call     [rax]System.Diagnostics.UnreachableException:.ctor():this
-       mov      rdi, rbx
-       call     CORINFO_HELP_THROW
-       int3     
-						;; size=42 bbWeight=0 PerfScore 0.00
-G_M55457_IG13:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.CryptographicException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptographicException:.ctor():this
        call     [rax]System.Security.Cryptography.CryptographicException:.ctor():this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 352, prolog size 19, PerfScore 35.69, instruction count 87, allocated bytes for code 352 (MethodHash=f366275e) for method System.Security.Cryptography.LiteHashProvider:CreateKmac(System.String,System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],ubyte):System.Security.Cryptography.LiteKmac (FullOpts)
+; Total bytes of code 305, prolog size 19, PerfScore 35.56, instruction count 76, allocated bytes for code 305 (MethodHash=f366275e) for method System.Security.Cryptography.LiteHashProvider:CreateKmac(System.String,System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],ubyte):System.Security.Cryptography.LiteKmac (FullOpts)
-40 (-8.62 % of base) - System.Net.NetworkInformation.UnixCommandLinePing:GetPingUtilityPath(ubyte):System.String
 ; Assembly listing for method System.Net.NetworkInformation.UnixCommandLinePing:GetPingUtilityPath(ubyte):System.String (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; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T14] (  3,  3   )   ubyte  ->  rdi         single-def
-;  V01 loc0         [V01,T05] (  3,  9   )     ref  ->  rbx         class-hnd single-def <System.String>
-;  V02 loc1         [V02,T10] (  3,  6   )     ref  ->  r15         class-hnd exact single-def <System.String[]>
+;  V00 arg0         [V00,T13] (  3,  3   )   ubyte  ->  rdi         single-def
+;  V01 loc0         [V01,T14] (  2,  5   )     ref  ->  rbx         class-hnd single-def <System.String>
+;  V02 loc1         [V02,T09] (  3,  6   )     ref  ->  r15         class-hnd exact single-def <System.String[]>
 ;* V03 loc2         [V03,T24] (  0,  0   )     int  ->  zero-ref   
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V05 loc4         [V05,T06] (  3,  8.50)     ref  ->  r12         class-hnd exact <System.String>
+;  V05 loc4         [V05,T05] (  3,  8.50)     ref  ->  r12         class-hnd exact <System.String>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T19] (  2,  2   )     ref  ->  rbx        
 ;  V08 tmp2         [V08,T00] (  6, 40   )     ref  ->  r12         class-hnd exact "dup spill" <System.String>
 ;  V09 tmp3         [V09,T02] (  4, 14.50)     ref  ->  [rbp-0x30]  class-hnd "Inline return value spill temp" <System.String>
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V13 tmp7         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp8         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp10        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp11        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp12        [V18,T21] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp13        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
 ;* V21 tmp15        [V21    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V22 tmp16        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp17        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V24 tmp18        [V24,T08] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V25 tmp19        [V25,T09] (  2,  8   )     int  ->  rsi         "Inlining Arg"
+;  V24 tmp18        [V24,T07] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
+;  V25 tmp19        [V25,T08] (  2,  8   )     int  ->  rsi         "Inlining Arg"
 ;* V26 tmp20        [V26    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V27 tmp21        [V27    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp22        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V29 tmp23        [V29,T11] (  3,  6   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String>
+;  V29 tmp23        [V29,T10] (  3,  6   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String>
 ;* V30 tmp24        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V31 tmp25        [V31,T03] (  3, 12   )     int  ->  rdx         "Span.get_Item index"
 ;* V32 tmp26        [V32,T17] (  0,  0   )     int  ->  zero-ref   
 ;* V33 tmp27        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V34 tmp28        [V34    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V35 tmp29        [V35    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V36 tmp30        [V36    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V37 tmp31        [V37    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V38 tmp32        [V38    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V39 tmp33        [V39    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V40 tmp34        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V41 tmp35        [V41    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V42 tmp36        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V43 tmp37        [V43,T07] (  4,  8   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp37        [V43,T06] (  4,  8   )   byref  ->  rdi         "field V11._reference (fldOffset=0x0)" P-INDEP
 ;  V44 tmp38        [V44,T04] (  5, 10   )     int  ->  rsi         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V45 tmp39        [V45    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V46 tmp40        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V47 tmp41        [V47    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V48 tmp42        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V49 tmp43        [V49,T20] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V50 tmp44        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V51 tmp45        [V51    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V52 tmp46        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;  V53 tmp47        [V53,T15] (  2,  4   )   byref  ->  rdi         "field V22._reference (fldOffset=0x0)" P-INDEP
 ;  V54 tmp48        [V54,T18] (  2,  4   )     int  ->  rsi         "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V55 tmp49        [V55    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V56 tmp50        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V57 tmp51        [V57    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V58 tmp52        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
-;  V59 tmp53        [V59,T12] (  3,  6   )   byref  ->   r8         "field V27._reference (fldOffset=0x0)" P-INDEP
+;  V59 tmp53        [V59,T11] (  3,  6   )   byref  ->   r8         "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V60 tmp54        [V60,T22] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V61 tmp55        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp56        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;* V63 tmp57        [V63    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp58        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;* V65 tmp59        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V66 tmp60        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp61        [V67    ] (  0,  0   )   byref  ->  zero-ref    "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp62        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;* V69 tmp63        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V70 tmp64        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
 ;  V71 tmp65        [V71,T16] (  2,  4   )   byref  ->  rdx         "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V72 tmp66        [V72,T23] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
-;  V73 cse0         [V73,T13] (  3,  6   )     int  ->  r13         "CSE #04: moderate"
+;  V73 cse0         [V73,T12] (  3,  6   )     int  ->  r13         "CSE #04: moderate"
 ;  V74 rat0         [V74,T01] (  5, 17   )    long  ->  r14         "Widened IV V03"
 ;
 ; Lcl frame size = 8
 
 G_M14532_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
 						;; size=16 bbWeight=1 PerfScore 7.50
 G_M14532_IG02:
        mov      rbx, 0xD1FFAB1E      ; 'ping4'
        mov      rsi, 0xD1FFAB1E      ; 'ping6'
        test     dil, dil
        cmove    rbx, rsi
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M14532_IG19
+       je       G_M14532_IG18
 						;; size=46 bbWeight=1 PerfScore 5.25
 G_M14532_IG03:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.NetworkInformation.UnixCommandLinePing:s_binFolders
        mov      r15, gword ptr [rdi]
        xor      r14d, r14d
        mov      r13d, dword ptr [r15+0x08]
        test     r13d, r13d
-       jle      G_M14532_IG17
+       jle      G_M14532_IG16
 						;; size=29 bbWeight=1 PerfScore 5.75
 G_M14532_IG04:
        mov      r12, gword ptr [r15+8*r14+0x10]
        test     r12, r12
-       je       G_M14532_IG21
+       je       G_M14532_IG19
        cmp      dword ptr [r12+0x08], 0
-       jne      SHORT G_M14532_IG07
+       jne      SHORT G_M14532_IG09
 						;; size=22 bbWeight=4 PerfScore 29.00
 G_M14532_IG05:
        mov      rax, 0xD1FFAB1E      ; 'ping'
-						;; size=10 bbWeight=8 PerfScore 2.00
+       mov      gword ptr [rbp-0x30], rax
+						;; size=14 bbWeight=8 PerfScore 10.00
 G_M14532_IG06:
-       test     rbx, rbx
-       jne      SHORT G_M14532_IG10
-       jmp      G_M14532_IG20
-						;; size=10 bbWeight=4 PerfScore 13.00
+       mov      rdi, r12
+       mov      rsi, rbx
+       mov      rcx, 0xD1FFAB1E      ; code for System.IO.Path:CombineInternal(System.String,System.String):System.String
+       call     [rcx]System.IO.Path:CombineInternal(System.String,System.String):System.String
+       mov      r12, rax
+       mov      rdi, r12
+       mov      rax, 0xD1FFAB1E      ; code for System.IO.File:Exists(System.String):ubyte
+       call     [rax]System.IO.File:Exists(System.String):ubyte
+       test     eax, eax
+       je       SHORT G_M14532_IG12
+						;; size=40 bbWeight=4 PerfScore 35.00
 G_M14532_IG07:
+       mov      rax, r12
+						;; size=3 bbWeight=0.50 PerfScore 0.12
+G_M14532_IG08:
+       add      rsp, 8
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M14532_IG09:
        lea      rdi, bword ptr [r12+0x0C]
        mov      esi, dword ptr [r12+0x08]
        mov      r8, 0xD1FFAB1E
        lea      edx, [rsi-0x01]
        cmp      edx, esi
-       jae      G_M14532_IG22
+       jae      G_M14532_IG20
        cmp      word  ptr [rdi+2*rdx], 47
-       je       SHORT G_M14532_IG08
+       je       SHORT G_M14532_IG10
        mov      rdx, 0xD1FFAB1E
        mov      ecx, 1
        mov      r9d, 4
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
-       jmp      SHORT G_M14532_IG09
+       jmp      SHORT G_M14532_IG11
 						;; size=73 bbWeight=2 PerfScore 29.00
-G_M14532_IG08:
+G_M14532_IG10:
        mov      rdx, r8
        mov      ecx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
 						;; size=20 bbWeight=2 PerfScore 7.50
-G_M14532_IG09:
+G_M14532_IG11:
        mov      gword ptr [rbp-0x30], rax
+       jmp      G_M14532_IG06
+						;; size=9 bbWeight=2 PerfScore 6.00
+G_M14532_IG12:
        mov      rax, gword ptr [rbp-0x30]
-       jmp      SHORT G_M14532_IG06
-						;; size=10 bbWeight=2 PerfScore 8.00
-G_M14532_IG10:
        mov      gword ptr [rbp-0x30], rax
-       mov      rdi, r12
-       mov      rsi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.IO.Path:CombineInternal(System.String,System.String):System.String
-       call     [rcx]System.IO.Path:CombineInternal(System.String,System.String):System.String
-       mov      r12, rax
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.IO.File:Exists(System.String):ubyte
-       call     [rax]System.IO.File:Exists(System.String):ubyte
+       mov      rdi, rax
+       mov      rcx, 0xD1FFAB1E      ; code for System.IO.File:Exists(System.String):ubyte
+       call     [rcx]System.IO.File:Exists(System.String):ubyte
        test     eax, eax
-       je       SHORT G_M14532_IG13
-						;; size=44 bbWeight=4 PerfScore 39.00
-G_M14532_IG11:
-       mov      rax, r12
-						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M14532_IG12:
-       add      rsp, 8
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0.50 PerfScore 2.12
+       je       SHORT G_M14532_IG15
+						;; size=27 bbWeight=4 PerfScore 27.00
 G_M14532_IG13:
-       mov      rdi, gword ptr [rbp-0x30]
-       mov      rax, 0xD1FFAB1E      ; code for System.IO.File:Exists(System.String):ubyte
-       call     [rax]System.IO.File:Exists(System.String):ubyte
-       test     eax, eax
-       je       SHORT G_M14532_IG16
-						;; size=20 bbWeight=4 PerfScore 22.00
-G_M14532_IG14:
        mov      rax, gword ptr [rbp-0x30]
 						;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M14532_IG15:
+G_M14532_IG14:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M14532_IG16:
+G_M14532_IG15:
        inc      r14d
        cmp      r13d, r14d
        jg       G_M14532_IG04
 						;; size=12 bbWeight=4 PerfScore 6.00
-G_M14532_IG17:
+G_M14532_IG16:
        xor      rax, rax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M14532_IG18:
+G_M14532_IG17:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M14532_IG19:
+G_M14532_IG18:
        mov      rdi, 0xD1FFAB1E      ; System.Net.NetworkInformation.UnixCommandLinePing
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M14532_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M14532_IG20:
-       mov      edi, 0x1AEB8
-       mov      rsi, 0xD1FFAB1E
-       call     CORINFO_HELP_STRCNS
-       mov      rdi, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
-       call     [rax]System.ArgumentNullException:Throw(System.String)
-       int3     
-						;; size=36 bbWeight=0 PerfScore 0.00
-G_M14532_IG21:
+G_M14532_IG19:
        mov      edi, 0x1AEAC
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
-G_M14532_IG22:
+G_M14532_IG20:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 464, prolog size 16, PerfScore 181.12, instruction count 116, allocated bytes for code 464 (MethodHash=0ddec73b) for method System.Net.NetworkInformation.UnixCommandLinePing:GetPingUtilityPath(ubyte):System.String (FullOpts)
+; Total bytes of code 424, prolog size 16, PerfScore 175.12, instruction count 107, allocated bytes for code 424 (MethodHash=0ddec73b) for method System.Net.NetworkInformation.UnixCommandLinePing:GetPingUtilityPath(ubyte):System.String (FullOpts)
-40 (-1.84 % of base) - System.Security.Cryptography.X509Certificates.X509AuthorityKeyIdentifierExtension:Decode(System.ReadOnlySpan`1[ubyte]):this
 ; Assembly listing for method System.Security.Cryptography.X509Certificates.X509AuthorityKeyIdentifierExtension:Decode(System.ReadOnlySpan`1[ubyte]):this (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; 68 single block inlinees; 27 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] ( 12, 12.50)     ref  ->  rbx         this class-hnd single-def <System.Security.Cryptography.X509Certificates.X509AuthorityKeyIdentifierExtension>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
 ;  V02 loc0         [V02,T37] (  4,  4   )  struct (24) [rbp-0x40]  do-not-enreg[SF] must-init ld-addr-op <System.Formats.Asn1.AsnValueReader>
 ;  V03 loc1         [V03    ] ( 35, 20   )  struct (24) [rbp-0x58]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Formats.Asn1.AsnValueReader>
 ;* V04 loc2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Formats.Asn1.Asn1Tag>
 ;  V05 loc3         [V05,T54] (  2,  2   )  struct (16) [rbp-0x68]  do-not-enreg[S] ld-addr-op <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
-;  V06 loc4         [V06,T10] (  7, 10   )     ref  ->  r12         class-hnd single-def <ubyte[]>
+;  V06 loc4         [V06,T10] (  5,  9.50)     ref  ->  r12         class-hnd single-def <ubyte[]>
 ;  V07 loc5         [V07    ] (  4,  9   )  struct (24) [rbp-0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Formats.Asn1.AsnValueReader>
 ;  V08 loc6         [V08,T36] (  3,  4.50)   ubyte  ->  r13        
 ;* V09 loc7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;  V10 loc8         [V10    ] (  5, 14   )  struct (264) [rbp-0x188]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Security.Cryptography.Asn1.GeneralNameAsn>
 ;* V11 loc9         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlyMemory`1[ubyte]>
 ;* V12 loc10        [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Formats.Asn1.AsnContentException>
 ;  V13 OutArgs      [V13    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V14 tmp1         [V14    ] (  0,  0   )  struct ( 8) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Formats.Asn1.Asn1Tag>
 ;* V15 tmp2         [V15    ] (  0,  0   )  struct ( 8) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Formats.Asn1.Asn1Tag>
 ;* V16 tmp3         [V16    ] (  0,  0   )  struct ( 8) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Formats.Asn1.Asn1Tag>
 ;  V17 tmp4         [V17,T14] (  6,  6   )  struct (16) [rbp-0x198]  do-not-enreg[SFA] multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V18 tmp5         [V18    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Nullable`1[System.ReadOnlyMemory`1[ubyte]]>
 ;* V19 tmp6         [V19    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;* V20 tmp7         [V20    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Nullable`1[System.ReadOnlyMemory`1[ubyte]]>
 ;* V21 tmp8         [V21    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;  V22 tmp9         [V22,T15] (  6,  6   )  struct (16) [rbp-0x1A8]  do-not-enreg[SFA] multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V23 tmp10        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;  V24 tmp11        [V24,T05] (  4, 16   )     ref  ->  [rbp-0x250]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X500DistinguishedName>
 ;* V25 tmp12        [V25    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;  V26 tmp13        [V26,T33] (  5,  5   )  struct (16) [rbp-0x1B8]  do-not-enreg[SFA] multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V27 tmp14        [V27    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Nullable`1[System.ReadOnlyMemory`1[ubyte]]>
 ;* V28 tmp15        [V28    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;  V29 tmp16        [V29,T80] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.Formats.Asn1.AsnContentException>
 ;  V30 tmp17        [V30,T76] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
 ;  V31 tmp18        [V31    ] (  2,  2   )     int  ->  [rbp-0x1C0]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V32 tmp19        [V32    ] (  2,  2   )     int  ->  [rbp-0x1C8]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V33 tmp20        [V33    ] (  2,  2   )     int  ->  [rbp-0x1D0]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V34 tmp21        [V34    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] "Inlining Arg" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V35 tmp22        [V35    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ubyte]>
 ;* V36 tmp23        [V36    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Formats.Asn1.AsnValueReader>
 ;  V37 tmp24        [V37,T17] (  3,  6   )     int  ->  rdi         "Inlining Arg"
 ;  V38 tmp25        [V38,T18] (  3,  6   )     int  ->  rax         "Inlining Arg"
 ;* V39 tmp26        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V40 tmp27        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V41 tmp28        [V41,T19] (  3,  6   )     int  ->  rcx         "Inlining Arg"
 ;* V42 tmp29        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V43 tmp30        [V43    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;  V44 tmp31        [V44,T41] (  2,  4   )     int  ->  r15         "Inlining Arg"
 ;* V45 tmp32        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp33        [V46    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Asn1.AsnReaderOptions>
 ;* V47 tmp34        [V47    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlyMemory`1[ubyte]>
 ;* V48 tmp35        [V48    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;  V49 tmp36        [V49,T12] (  7,  7   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Asn1.AsnReader>
 ;  V50 tmp37        [V50,T44] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V51 tmp38        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V52 tmp39        [V52    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Formats.Asn1.AsnReaderOptions>
 ;  V53 tmp40        [V53    ] (  1,  0.50)     int  ->  [rbp-0x1D8]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V54 tmp41        [V54    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V55 tmp42        [V55    ] (  3,  1.50)  struct ( 8) [rbp-0x1E0]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Asn1.Asn1Tag>
 ;  V56 tmp43        [V56,T77] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Asn1.AsnContentException>
 ;* V57 tmp44        [V57    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V58 tmp45        [V58    ] (  0,  0   )     int  ->  zero-ref   
 ;* V59 tmp46        [V59    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V60 tmp47        [V60    ] (  0,  0   )     int  ->  zero-ref   
 ;* V61 tmp48        [V61    ] (  0,  0   )     int  ->  zero-ref   
 ;* V62 tmp49        [V62    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V63 tmp50        [V63,T73] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V64 tmp51        [V64    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Formats.Asn1.Asn1Tag>
 ;* V65 tmp52        [V65    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V66 tmp53        [V66    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V67 tmp54        [V67    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Formats.Asn1.Asn1Tag>
 ;  V68 tmp55        [V68    ] (  2,  1   )     int  ->  [rbp-0x1E8]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V69 tmp56        [V69    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] "Inlining Arg" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;  V70 tmp57        [V70,T45] (  3,  3   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <ubyte[]>
 ;  V71 tmp58        [V71,T38] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V72 tmp59        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V73 tmp60        [V73,T51] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
 ;  V74 tmp61        [V74,T55] (  2,  2   )     int  ->  rcx         "Inlining Arg"
 ;* V75 tmp62        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;  V76 tmp63        [V76    ] (  1,  0.50)     int  ->  [rbp-0x1F0]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V77 tmp64        [V77    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V78 tmp65        [V78    ] (  3,  1.50)  struct ( 8) [rbp-0x1F8]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Asn1.Asn1Tag>
 ;  V79 tmp66        [V79,T78] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Asn1.AsnContentException>
 ;* V80 tmp67        [V80    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V81 tmp68        [V81    ] (  0,  0   )     int  ->  zero-ref   
 ;* V82 tmp69        [V82    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V83 tmp70        [V83    ] (  0,  0   )     int  ->  zero-ref   
 ;* V84 tmp71        [V84    ] (  0,  0   )     int  ->  zero-ref   
 ;* V85 tmp72        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp73        [V86,T74] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V87 tmp74        [V87    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Formats.Asn1.Asn1Tag>
 ;* V88 tmp75        [V88    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V89 tmp76        [V89    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;  V90 tmp77        [V90    ] (  1,  0.50)     int  ->  [rbp-0x200]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V91 tmp78        [V91    ] (  1,  0.50)     int  ->  [rbp-0x208]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V92 tmp79        [V92    ] (  2,  1   )     int  ->  [rbp-0x210]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V93 tmp80        [V93    ] (  0,  0   )  struct ( 8) zero-ref    "location for address-of(RValue)" <System.Formats.Asn1.Asn1Tag>
 ;  V94 tmp81        [V94,T34] (  5,  5   )     int  ->  r13         "Inlining Arg"
 ;* V95 tmp82        [V95    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V96 tmp83        [V96    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V97 tmp84        [V97,T57] (  3,  1.50)     ref  ->  r12         class-hnd "Inline return value spill temp" <ubyte[]>
 ;  V98 tmp85        [V98,T46] (  3,  3   )     ref  ->  [rbp-0x258]  class-hnd exact spill-single-def "dup spill" <ubyte[]>
 ;* V99 tmp86        [V99    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp87       [V100    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V101 tmp88       [V101    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V102 tmp89       [V102    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V103 tmp90       [V103    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Formats.Asn1.Asn1Tag>
-;  V104 tmp91       [V104    ] (  8, 40   )  struct (16) [rbp-0x220]  do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
+;  V104 tmp91       [V104    ] (  5, 40   )  struct (16) [rbp-0x220]  do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V105 tmp92       [V105    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V106 tmp93       [V106,T08] (  6, 12   )   byref  ->  [rbp-0x260]  "Inline stloc first use temp"
 ;  V107 tmp94       [V107,T04] (  8, 16   )     int  ->  [rbp-0x224]  "Inline stloc first use temp"
 ;* V108 tmp95       [V108    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Object>
 ;* V109 tmp96       [V109    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V110 tmp97       [V110    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
 ;* V111 tmp98       [V111    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
 ;* V112 tmp99       [V112    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
 ;  V113 tmp100      [V113,T20] (  3,  6   )    long  ->  rdi         "Inline stloc first use temp"
 ;* V114 tmp101      [V114    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V115 tmp102      [V115    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;* V116 tmp103      [V116    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V117 tmp104      [V117,T11] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
 ;* V118 tmp105      [V118    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V119 tmp106      [V119,T00] (  5, 20   )     ref  ->  rax         class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Oid>
 ;* V120 tmp107      [V120    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V121 tmp108      [V121,T16] (  3,  6   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <ubyte[]>
 ;  V122 tmp109      [V122,T09] (  3, 12   )     ref  ->  [rbp-0x268]  class-hnd exact spill-single-def "dup spill" <ubyte[]>
 ;* V123 tmp110      [V123    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V124 tmp111      [V124    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V125 tmp112      [V125    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V126 tmp113      [V126    ] (  1,  0.50)     int  ->  [rbp-0x230]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V127 tmp114      [V127    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V128 tmp115      [V128    ] (  3,  1.50)  struct ( 8) [rbp-0x238]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Asn1.Asn1Tag>
 ;  V129 tmp116      [V129,T79] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Formats.Asn1.AsnContentException>
 ;* V130 tmp117      [V130    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V131 tmp118      [V131    ] (  0,  0   )     int  ->  zero-ref   
 ;* V132 tmp119      [V132    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V133 tmp120      [V133    ] (  0,  0   )     int  ->  zero-ref   
 ;* V134 tmp121      [V134    ] (  0,  0   )     int  ->  zero-ref   
 ;* V135 tmp122      [V135    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V136 tmp123      [V136,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V137 tmp124      [V137    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Formats.Asn1.Asn1Tag>
 ;* V138 tmp125      [V138    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V139 tmp126      [V139    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V140 tmp127      [V140    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Formats.Asn1.Asn1Tag>
 ;  V141 tmp128      [V141    ] (  2,  1   )     int  ->  [rbp-0x240]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V142 tmp129      [V142    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] "Inlining Arg" <System.Nullable`1[System.Formats.Asn1.Asn1Tag]>
 ;* V143 tmp130      [V143    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
 ;  V144 tmp131      [V144,T39] (  4,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V145 tmp132      [V145    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V146 tmp133      [V146,T52] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;  V147 tmp134      [V147,T56] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;  V148 tmp135      [V148,T58] (  3,  1.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <ubyte[]>
 ;  V149 tmp136      [V149,T47] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "dup spill" <ubyte[]>
 ;* V150 tmp137      [V150    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V151 tmp138      [V151    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp139      [V152    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp140      [V153    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;  V154 tmp141      [V154,T35] (  3,  3   )   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
 ;  V155 tmp142      [V155,T13] (  5,  5   )     int  ->  r15         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V156 tmp143      [V156,T28] ( 10,  5.50)   ubyte  ->  r15         "field V04._controlFlags (fldOffset=0x0)" P-INDEP
 ;  V157 tmp144      [V157,T29] (  7,  5.50)     int  ->  r14         "field V04.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
 ;* V158 tmp145      [V158    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V159 tmp146      [V159    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
 ;  V160 tmp147      [V160,T07] (  7, 14   )     ref  ->  rdi         "field V11._object (fldOffset=0x0)" P-INDEP
 ;  V161 tmp148      [V161,T42] (  2,  4   )     int  ->  [rbp-0x244]  spill-single-def "field V11._index (fldOffset=0x8)" P-INDEP
 ;  V162 tmp149      [V162,T21] (  3,  6   )     int  ->  [rbp-0x248]  spill-single-def "field V11._length (fldOffset=0xc)" P-INDEP
 ;* V163 tmp150      [V163,T22] (  0,  0   )   ubyte  ->  zero-ref    do-not-enreg[] "field V14._controlFlags (fldOffset=0x0)" P-DEP
 ;* V164 tmp151      [V164,T23] (  0,  0   )     int  ->  zero-ref    do-not-enreg[] "field V14.<TagValue>k__BackingField (fldOffset=0x4)" P-DEP
 ;* V165 tmp152      [V165,T24] (  0,  0   )   ubyte  ->  zero-ref    do-not-enreg[] "field V15._controlFlags (fldOffset=0x0)" P-DEP
 ;* V166 tmp153      [V166,T25] (  0,  0   )     int  ->  zero-ref    do-not-enreg[] "field V15.<TagValue>k__BackingField (fldOffset=0x4)" P-DEP
 ;* V167 tmp154      [V167,T26] (  0,  0   )   ubyte  ->  zero-ref    do-not-enreg[] "field V16._controlFlags (fldOffset=0x0)" P-DEP
 ;* V168 tmp155      [V168,T27] (  0,  0   )     int  ->  zero-ref    do-not-enreg[] "field V16.<TagValue>k__BackingField (fldOffset=0x4)" P-DEP
 ;* V169 tmp156      [V169    ] (  0,  0   )     ref  ->  zero-ref    "field V19._object (fldOffset=0x0)" P-INDEP
 ;* V170 tmp157      [V170    ] (  0,  0   )     int  ->  zero-ref    "field V19._index (fldOffset=0x8)" P-INDEP
 ;* V171 tmp158      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0xc)" P-INDEP
 ;* V172 tmp159      [V172    ] (  0,  0   )     ref  ->  zero-ref    "field V21._object (fldOffset=0x0)" P-INDEP
 ;* V173 tmp160      [V173    ] (  0,  0   )     int  ->  zero-ref    "field V21._index (fldOffset=0x8)" P-INDEP
 ;* V174 tmp161      [V174    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0xc)" P-INDEP
 ;* V175 tmp162      [V175    ] (  0,  0   )     ref  ->  zero-ref    "field V23._object (fldOffset=0x0)" P-INDEP
 ;* V176 tmp163      [V176    ] (  0,  0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x8)" P-INDEP
 ;* V177 tmp164      [V177    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0xc)" P-INDEP
 ;* V178 tmp165      [V178    ] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
 ;* V179 tmp166      [V179    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
 ;* V180 tmp167      [V180    ] (  0,  0   )     ref  ->  zero-ref    "field V28._object (fldOffset=0x0)" P-INDEP
 ;* V181 tmp168      [V181    ] (  0,  0   )     int  ->  zero-ref    "field V28._index (fldOffset=0x8)" P-INDEP
 ;* V182 tmp169      [V182    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0xc)" P-INDEP
 ;* V183 tmp170      [V183    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V184 tmp171      [V184    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;  V185 tmp172      [V185,T53] (  2,  2   )   byref  ->  rdi         single-def "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp173      [V186    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;* V187 tmp174      [V187    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V188 tmp175      [V188    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V189 tmp176      [V189    ] (  0,  0   )  ushort  ->  zero-ref    "field V46._twoDigitYearMax (fldOffset=0x0)" P-INDEP
 ;* V190 tmp177      [V190    ] (  0,  0   )   ubyte  ->  zero-ref    "field V46.<SkipSetSortOrderVerification>k__BackingField (fldOffset=0x2)" P-INDEP
 ;* V191 tmp178      [V191    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V47._object (fldOffset=0x0)" P-INDEP
 ;* V192 tmp179      [V192    ] (  0,  0   )     int  ->  zero-ref    "field V47._index (fldOffset=0x8)" P-INDEP
 ;* V193 tmp180      [V193    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0xc)" P-INDEP
 ;  V194 tmp181      [V194,T48] (  4,  2   )     ref  ->  r14         "field V51._object (fldOffset=0x0)" P-INDEP
-;* V195 tmp182      [V195,T68] (  0,  0   )     int  ->  zero-ref    "field V51._index (fldOffset=0x8)" P-INDEP
-;  V196 tmp183      [V196,T61] (  3,  1.50)     int  ->  r13         "field V51._length (fldOffset=0xc)" P-INDEP
+;* V195 tmp182      [V195,T67] (  0,  0   )     int  ->  zero-ref    "field V51._index (fldOffset=0x8)" P-INDEP
+;  V196 tmp183      [V196,T60] (  3,  1.50)     int  ->  r13         "field V51._length (fldOffset=0xc)" P-INDEP
 ;* V197 tmp184      [V197    ] (  0,  0   )  ushort  ->  zero-ref    "field V52._twoDigitYearMax (fldOffset=0x0)" P-INDEP
 ;* V198 tmp185      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "field V52.<SkipSetSortOrderVerification>k__BackingField (fldOffset=0x2)" P-INDEP
 ;* V199 tmp186      [V199    ] (  0,  0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp187      [V200    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;  V201 tmp188      [V201    ] (  2,  1   )   ubyte  ->  [rbp-0x1E0]  do-not-enreg[X] addr-exposed "field V55._controlFlags (fldOffset=0x0)" P-DEP
 ;  V202 tmp189      [V202    ] (  2,  1   )     int  ->  [rbp-0x1DC]  do-not-enreg[X] addr-exposed "field V55.<TagValue>k__BackingField (fldOffset=0x4)" P-DEP
 ;* V203 tmp190      [V203    ] (  0,  0   )   ubyte  ->  zero-ref    "field V64._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V204 tmp191      [V204    ] (  0,  0   )     int  ->  zero-ref    "field V64.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
 ;* V205 tmp192      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "field V67._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V206 tmp193      [V206    ] (  0,  0   )     int  ->  zero-ref    "field V67.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
-;  V207 tmp194      [V207,T64] (  2,  1   )   byref  ->  rax         single-def "field V72._reference (fldOffset=0x0)" P-INDEP
-;  V208 tmp195      [V208,T69] (  2,  1   )     int  ->  rcx         "field V72._length (fldOffset=0x8)" P-INDEP
+;  V207 tmp194      [V207,T62] (  2,  1   )   byref  ->  rax         single-def "field V72._reference (fldOffset=0x0)" P-INDEP
+;  V208 tmp195      [V208,T68] (  2,  1   )     int  ->  rcx         "field V72._length (fldOffset=0x8)" P-INDEP
 ;  V209 tmp196      [V209,T49] (  4,  2   )     ref  ->  rsi         "field V75._object (fldOffset=0x0)" P-INDEP
 ;* V210 tmp197      [V210    ] (  0,  0   )     int  ->  zero-ref    "field V75._index (fldOffset=0x8)" P-INDEP
-;  V211 tmp198      [V211,T62] (  3,  1.50)     int  ->  r13         "field V75._length (fldOffset=0xc)" P-INDEP
+;  V211 tmp198      [V211,T61] (  3,  1.50)     int  ->  r13         "field V75._length (fldOffset=0xc)" P-INDEP
 ;* V212 tmp199      [V212    ] (  0,  0   )   byref  ->  zero-ref    "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V213 tmp200      [V213    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
 ;  V214 tmp201      [V214    ] (  2,  1   )   ubyte  ->  [rbp-0x1F8]  do-not-enreg[X] addr-exposed "field V78._controlFlags (fldOffset=0x0)" P-DEP
 ;  V215 tmp202      [V215    ] (  2,  1   )     int  ->  [rbp-0x1F4]  do-not-enreg[X] addr-exposed "field V78.<TagValue>k__BackingField (fldOffset=0x4)" P-DEP
 ;* V216 tmp203      [V216    ] (  0,  0   )   ubyte  ->  zero-ref    "field V87._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V217 tmp204      [V217    ] (  0,  0   )     int  ->  zero-ref    "field V87.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
 ;* V218 tmp205      [V218    ] (  0,  0   )   ubyte  ->  zero-ref    "field V93._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V219 tmp206      [V219    ] (  0,  0   )     int  ->  zero-ref    "field V93.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
-;  V220 tmp207      [V220,T65] (  2,  1   )   byref  ->  r12         single-def "field V95._reference (fldOffset=0x0)" P-INDEP
+;  V220 tmp207      [V220,T63] (  2,  1   )   byref  ->  r12         single-def "field V95._reference (fldOffset=0x0)" P-INDEP
 ;* V221 tmp208      [V221    ] (  0,  0   )     int  ->  zero-ref    "field V95._length (fldOffset=0x8)" P-INDEP
-;  V222 tmp209      [V222,T59] (  3,  1.50)     ref  ->  rsi         "field V102._object (fldOffset=0x0)" P-INDEP
+;  V222 tmp209      [V222,T64] (  2,  1   )     ref  ->  rsi         "field V102._object (fldOffset=0x0)" P-INDEP
 ;* V223 tmp210      [V223    ] (  0,  0   )     int  ->  zero-ref    "field V102._index (fldOffset=0x8)" P-INDEP
-;  V224 tmp211      [V224,T63] (  3,  1.50)     int  ->  r13         "field V102._length (fldOffset=0xc)" P-INDEP
+;  V224 tmp211      [V224,T69] (  2,  1   )     int  ->  r13         "field V102._length (fldOffset=0xc)" P-INDEP
 ;* V225 tmp212      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "field V103._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V226 tmp213      [V226    ] (  0,  0   )     int  ->  zero-ref    "field V103.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
-;  V227 tmp214      [V227,T01] (  4, 20   )     ref  ->  [rbp-0x220]  do-not-enreg[] "field V104._object (fldOffset=0x0)" P-DEP
-;  V228 tmp215      [V228,T02] (  4, 20   )     int  ->  [rbp-0x218]  do-not-enreg[] "field V104._index (fldOffset=0x8)" P-DEP
-;  V229 tmp216      [V229,T03] (  4, 20   )     int  ->  [rbp-0x214]  do-not-enreg[] "field V104._length (fldOffset=0xc)" P-DEP
+;  V227 tmp214      [V227,T01] (  3, 20   )     ref  ->  [rbp-0x220]  do-not-enreg[] "field V104._object (fldOffset=0x0)" P-DEP
+;  V228 tmp215      [V228,T02] (  3, 20   )     int  ->  [rbp-0x218]  do-not-enreg[] "field V104._index (fldOffset=0x8)" P-DEP
+;  V229 tmp216      [V229,T03] (  3, 20   )     int  ->  [rbp-0x214]  do-not-enreg[] "field V104._length (fldOffset=0xc)" P-DEP
 ;* V230 tmp217      [V230    ] (  0,  0   )   byref  ->  zero-ref    "field V105._reference (fldOffset=0x0)" P-INDEP
 ;* V231 tmp218      [V231    ] (  0,  0   )     int  ->  zero-ref    "field V105._length (fldOffset=0x8)" P-INDEP
 ;* V232 tmp219      [V232    ] (  0,  0   )   byref  ->  zero-ref    "field V109._reference (fldOffset=0x0)" P-INDEP
 ;* V233 tmp220      [V233    ] (  0,  0   )     int  ->  zero-ref    "field V109._length (fldOffset=0x8)" P-INDEP
 ;* V234 tmp221      [V234    ] (  0,  0   )   byref  ->  zero-ref    "field V111._reference (fldOffset=0x0)" P-DEP
 ;* V235 tmp222      [V235    ] (  0,  0   )     int  ->  zero-ref    "field V111._length (fldOffset=0x8)" P-DEP
 ;  V236 tmp223      [V236,T40] (  2,  4   )   byref  ->  rax         "field V112._reference (fldOffset=0x0)" P-INDEP
 ;  V237 tmp224      [V237,T43] (  2,  4   )     int  ->  rsi         "field V112._length (fldOffset=0x8)" P-INDEP
 ;* V238 tmp225      [V238    ] (  0,  0   )   byref  ->  zero-ref    "field V118._reference (fldOffset=0x0)" P-INDEP
 ;* V239 tmp226      [V239    ] (  0,  0   )     int  ->  zero-ref    "field V118._length (fldOffset=0x8)" P-INDEP
 ;* V240 tmp227      [V240    ] (  0,  0   )   byref  ->  zero-ref    "field V120._reference (fldOffset=0x0)" P-INDEP
 ;* V241 tmp228      [V241    ] (  0,  0   )     int  ->  zero-ref    "field V120._length (fldOffset=0x8)" P-INDEP
 ;* V242 tmp229      [V242    ] (  0,  0   )   byref  ->  zero-ref    "field V127._reference (fldOffset=0x0)" P-INDEP
 ;* V243 tmp230      [V243    ] (  0,  0   )     int  ->  zero-ref    "field V127._length (fldOffset=0x8)" P-INDEP
 ;  V244 tmp231      [V244    ] (  2,  1   )   ubyte  ->  [rbp-0x238]  do-not-enreg[X] addr-exposed "field V128._controlFlags (fldOffset=0x0)" P-DEP
 ;  V245 tmp232      [V245    ] (  2,  1   )     int  ->  [rbp-0x234]  do-not-enreg[X] addr-exposed "field V128.<TagValue>k__BackingField (fldOffset=0x4)" P-DEP
 ;* V246 tmp233      [V246    ] (  0,  0   )   ubyte  ->  zero-ref    "field V137._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V247 tmp234      [V247    ] (  0,  0   )     int  ->  zero-ref    "field V137.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
 ;* V248 tmp235      [V248    ] (  0,  0   )   ubyte  ->  zero-ref    "field V140._controlFlags (fldOffset=0x0)" P-INDEP
 ;* V249 tmp236      [V249    ] (  0,  0   )     int  ->  zero-ref    "field V140.<TagValue>k__BackingField (fldOffset=0x4)" P-INDEP
-;  V250 tmp237      [V250,T66] (  2,  1   )   byref  ->  r15         "field V143._reference (fldOffset=0x0)" P-INDEP
+;  V250 tmp237      [V250,T65] (  2,  1   )   byref  ->  r15         "field V143._reference (fldOffset=0x0)" P-INDEP
 ;  V251 tmp238      [V251,T50] (  4,  2   )     int  ->  r14         "field V143._length (fldOffset=0x8)" P-INDEP
-;  V252 tmp239      [V252,T67] (  2,  1   )   byref  ->  rdi         single-def "field V145._reference (fldOffset=0x0)" P-INDEP
+;  V252 tmp239      [V252,T66] (  2,  1   )   byref  ->  rdi         single-def "field V145._reference (fldOffset=0x0)" P-INDEP
 ;  V253 tmp240      [V253,T70] (  2,  1   )     int  ->  rax         "field V145._length (fldOffset=0x8)" P-INDEP
-;  V254 tmp241      [V254,T60] (  3,  1.50)     ref  ->  rsi         "field V153._object (fldOffset=0x0)" P-INDEP
+;  V254 tmp241      [V254,T59] (  3,  1.50)     ref  ->  rsi         "field V153._object (fldOffset=0x0)" P-INDEP
 ;* V255 tmp242      [V255    ] (  0,  0   )     int  ->  zero-ref    "field V153._index (fldOffset=0x8)" P-INDEP
 ;  V256 tmp243      [V256,T71] (  2,  1   )     int  ->  r15         "field V153._length (fldOffset=0xc)" P-INDEP
 ;* V257 tmp244      [V257    ] (  0,  0   )   byref  ->  zero-ref    single-def "V02.[000..008)"
 ;* V258 tmp245      [V258    ] (  0,  0   )     int  ->  zero-ref    "V02.[008..012)"
 ;* V259 tmp246      [V259    ] (  0,  0   )     int  ->  zero-ref    "V02.[016..020)"
 ;* V260 tmp247      [V260    ] (  0,  0   )   ubyte  ->  zero-ref    "V18.[000..001)"
 ;* V261 tmp248      [V261    ] (  0,  0   )     ref  ->  zero-ref    single-def "V18.[008..016)"
 ;* V262 tmp249      [V262    ] (  0,  0   )     int  ->  zero-ref    "V18.[016..020)"
 ;* V263 tmp250      [V263    ] (  0,  0   )     int  ->  zero-ref    "V18.[020..024)"
 ;* V264 tmp251      [V264    ] (  0,  0   )   ubyte  ->  zero-ref    "V20.[000..001)"
 ;* V265 tmp252      [V265    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[008..016)"
 ;* V266 tmp253      [V266    ] (  0,  0   )     int  ->  zero-ref    "V20.[016..020)"
 ;* V267 tmp254      [V267    ] (  0,  0   )     int  ->  zero-ref    "V20.[020..024)"
 ;* V268 tmp255      [V268    ] (  0,  0   )   ubyte  ->  zero-ref    "V27.[000..001)"
 ;* V269 tmp256      [V269    ] (  0,  0   )     ref  ->  zero-ref    single-def "V27.[008..016)"
 ;* V270 tmp257      [V270    ] (  0,  0   )     int  ->  zero-ref    "V27.[016..020)"
 ;* V271 tmp258      [V271    ] (  0,  0   )     int  ->  zero-ref    "V27.[020..024)"
 ;* V272 tmp259      [V272    ] (  0,  0   )   byref  ->  zero-ref    single-def "V36.[000..008)"
 ;* V273 tmp260      [V273    ] (  0,  0   )     int  ->  zero-ref    "V36.[008..012)"
 ;* V274 tmp261      [V274    ] (  0,  0   )     int  ->  zero-ref    "V36.[016..020)"
 ;  V275 tmp262      [V275,T30] (  5,  5   )   byref  ->  r12         single-def "Spilling address for field-by-field copy"
 ;  V276 tmp263      [V276,T31] (  5,  5   )   byref  ->  [rbp-0x270]  spill-single-def "Spilling address for field-by-field copy"
 ;  V277 tmp264      [V277,T32] (  5,  5   )   byref  ->  r14         single-def "Spilling address for field-by-field copy"
 ;  V278 tmp265      [V278,T81] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V279 tmp266      [V279,T82] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V280 tmp267      [V280,T83] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V281 tmp268      [V281,T84] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V282 PSPSym      [V282,T72] (  1,  1   )    long  ->  [rbp-0x280]  do-not-enreg[V] "PSPSym"
 ;
 ; Lcl frame size = 616
 
 G_M54503_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 616
        lea      rbp, [rsp+0x290]
        vxorps   xmm8, xmm8, xmm8
        vmovdqa  xmmword ptr [rbp-0x220], xmm8
        mov      rax, -480
        vmovdqa  xmmword ptr [rbp+rax-0x30], xmm8
        vmovdqa  xmmword ptr [rbp+rax-0x20], xmm8
        vmovdqa  xmmword ptr [rbp+rax-0x10], xmm8
        add      rax, 48
        jne      SHORT  -5 instr
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x280], rsp
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
 						;; size=92 bbWeight=1 PerfScore 19.33
 G_M54503_IG02:
        xor      edi, edi
        mov      qword ptr [rbx+0x28], rdi
        mov      qword ptr [rbx+0x30], rdi
        mov      qword ptr [rbx+0x38], rdi
 						;; size=14 bbWeight=1 PerfScore 3.25
 G_M54503_IG03:
        mov      gword ptr [rbx+0x20], rdi
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M54503_IG04:
        mov      qword ptr [rbx+0x40], rdi
        mov      qword ptr [rbx+0x48], rdi
        mov      qword ptr [rbx+0x50], rdi
 						;; size=12 bbWeight=1 PerfScore 3.00
 G_M54503_IG05:
        mov      qword ptr [rbx+0x58], rdi
        mov      qword ptr [rbx+0x60], rdi
        mov      qword ptr [rbx+0x68], rdi
 						;; size=12 bbWeight=1 PerfScore 3.00
 G_M54503_IG06:
        xor      edi, edi
        mov      qword ptr [rbp-0x68], rdi
        mov      dword ptr [rbp-0x60], edi
        mov      bword ptr [rbp-0x40], r14
        mov      dword ptr [rbp-0x38], r15d
        vmovdqu  xmm0, xmmword ptr [rbp-0x68]
        vmovdqu  xmmword ptr [rsp], xmm0
        mov      rdi, bword ptr [rbp-0x40]
        mov      rsi, qword ptr [rbp-0x38]
        lea      rcx, [rbp-0x1C0]
        lea      r8, [rbp-0x1C8]
        lea      r9, [rbp-0x1D0]
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnDecoder:ReadSequence(System.ReadOnlySpan`1[ubyte],int,byref,byref,byref,System.Nullable`1[System.Formats.Asn1.Asn1Tag])
        call     [rax]System.Formats.Asn1.AsnDecoder:ReadSequence(System.ReadOnlySpan`1[ubyte],int,byref,byref,byref,System.Nullable`1[System.Formats.Asn1.Asn1Tag])
        mov      edi, dword ptr [rbp-0x1C0]
        mov      eax, dword ptr [rbp-0x1C8]
        mov      ecx, edi
        mov      edx, eax
        add      rcx, rdx
        mov      edx, r15d
        cmp      rcx, rdx
-       ja       G_M54503_IG50
+       ja       G_M54503_IG43
        add      rdi, r14
        mov      ecx, dword ptr [rbp-0x1D0]
        cmp      ecx, r15d
-       ja       G_M54503_IG50
+       ja       G_M54503_IG43
        sub      r15d, ecx
        mov      bword ptr [rbp-0x58], rdi
        mov      dword ptr [rbp-0x50], eax
        mov      dword ptr [rbp-0x48], 2
        test     r15d, r15d
        je       G_M54503_IG12
 						;; size=148 bbWeight=1 PerfScore 26.50
 G_M54503_IG07:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M54503_IG46
+       je       G_M54503_IG39
 						;; size=19 bbWeight=0.50 PerfScore 2.12
 G_M54503_IG08:
        mov      rdi, 0xD1FFAB1E      ; data for System.Formats.Asn1.AsnValueReader:s_singleByte
        mov      r15, gword ptr [rdi]
        test     r15, r15
        jne      SHORT G_M54503_IG09
        xor      r14, r14
        xor      r13d, r13d
        jmp      SHORT G_M54503_IG10
 						;; size=26 bbWeight=0.50 PerfScore 3.00
 G_M54503_IG09:
        mov      r14, r15
        mov      r13d, dword ptr [r14+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M54503_IG10:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnReader
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      edi, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnDecoder:CheckEncodingRules(int)
        call     [rax]System.Formats.Asn1.AsnDecoder:CheckEncodingRules(int)
        lea      rdi, bword ptr [r15+0x10]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
        mov      dword ptr [r15+0x18], edi
        mov      dword ptr [r15+0x1C], r13d
        mov      dword ptr [r15+0x08], 2
 						;; size=65 bbWeight=0.50 PerfScore 5.00
 G_M54503_IG11:
        mov      dword ptr [r15+0x20], edi
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnReader:ThrowIfNotEmpty():this
        call     [rax]System.Formats.Asn1.AsnReader:ThrowIfNotEmpty():this
 						;; size=19 bbWeight=0.50 PerfScore 2.25
 G_M54503_IG12:
        xor      r15d, r15d
        xor      r14d, r14d
        cmp      dword ptr [rbp-0x50], 0
        je       SHORT G_M54503_IG14
 						;; size=12 bbWeight=1 PerfScore 3.50
 G_M54503_IG13:
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, qword ptr [rbp-0x50]
        lea      rdx, [rbp-0x1E0]
        lea      rcx, [rbp-0x1D8]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.Asn1Tag:TryDecode(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
        call     [rax]System.Formats.Asn1.Asn1Tag:TryDecode(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
        test     eax, eax
-       je       G_M54503_IG49
+       je       G_M54503_IG42
        movzx    r15, byte  ptr [rbp-0x1E0]
        mov      r14d, dword ptr [rbp-0x1DC]
 						;; size=57 bbWeight=0.50 PerfScore 4.75
 G_M54503_IG14:
        test     r14d, r14d
        jne      G_M54503_IG18
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M54503_IG15:
        movzx    rdi, r15b
        and      edi, 192
        cmp      edi, 128
        jne      G_M54503_IG18
        xor      edi, edi
        mov      qword ptr [rbp-0x1B8], rdi
        mov      dword ptr [rbp-0x1B0], edi
        mov      byte  ptr [rbp-0x1B4], r15b
        mov      byte  ptr [rbp-0x1B8], 1
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, qword ptr [rbp-0x50]
        mov      r8, qword ptr [rbp-0x1B8]
        mov      r9d, dword ptr [rbp-0x1B0]
        lea      rcx, [rbp-0x1E8]
        mov      edx, dword ptr [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnDecoder:ReadOctetString(System.ReadOnlySpan`1[ubyte],int,byref,System.Nullable`1[System.Formats.Asn1.Asn1Tag]):ubyte[]
        call     [rax]System.Formats.Asn1.AsnDecoder:ReadOctetString(System.ReadOnlySpan`1[ubyte],int,byref,System.Nullable`1[System.Formats.Asn1.Asn1Tag]):ubyte[]
        mov      rsi, rax
        mov      edi, dword ptr [rbp-0x1E8]
        cmp      edi, dword ptr [rbp-0x50]
-       ja       G_M54503_IG50
+       ja       G_M54503_IG43
        mov      eax, edi
        add      rax, bword ptr [rbp-0x58]
        mov      ecx, dword ptr [rbp-0x50]
        sub      ecx, edi
        mov      bword ptr [rbp-0x58], rax
        mov      dword ptr [rbp-0x50], ecx
        test     rsi, rsi
        jne      SHORT G_M54503_IG16
        xor      rsi, rsi
        xor      r13d, r13d
        jmp      SHORT G_M54503_IG17
 						;; size=143 bbWeight=0.50 PerfScore 14.12
 G_M54503_IG16:
        mov      r13d, dword ptr [rsi+0x08]
 						;; size=4 bbWeight=0.50 PerfScore 1.00
 G_M54503_IG17:
        lea      r12, bword ptr [rbx+0x28]
        mov      byte  ptr [r12], 1
        lea      rdi, bword ptr [r12+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
        mov      dword ptr [r12+0x10], edi
        mov      dword ptr [r12+0x14], r13d
        cmp      dword ptr [rbp-0x50], 0
        je       SHORT G_M54503_IG18
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, qword ptr [rbp-0x50]
        lea      rdx, [rbp-0x1F8]
        lea      rcx, [rbp-0x1F0]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.Asn1Tag:TryDecode(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
        call     [rax]System.Formats.Asn1.Asn1Tag:TryDecode(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
        test     eax, eax
-       je       G_M54503_IG48
+       je       G_M54503_IG41
        movzx    r15, byte  ptr [rbp-0x1F8]
        mov      r14d, dword ptr [rbp-0x1F4]
 						;; size=94 bbWeight=0.50 PerfScore 8.88
 G_M54503_IG18:
        cmp      r14d, 1
-       jne      G_M54503_IG41
+       jne      G_M54503_IG34
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M54503_IG19:
        movzx    rdi, r15b
        and      edi, 192
        cmp      edi, 128
-       jne      G_M54503_IG41
+       jne      G_M54503_IG34
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, qword ptr [rbp-0x50]
        lea      r9, [rbp-0x210]
        lea      rcx, [rbp-0x200]
        lea      r8, [rbp-0x208]
        mov      edx, dword ptr [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnDecoder:ReadEncodedValue(System.ReadOnlySpan`1[ubyte],int,byref,byref,byref):System.Formats.Asn1.Asn1Tag
        call     [rax]System.Formats.Asn1.AsnDecoder:ReadEncodedValue(System.ReadOnlySpan`1[ubyte],int,byref,byref,byref):System.Formats.Asn1.Asn1Tag
        mov      r13d, dword ptr [rbp-0x210]
        cmp      r13d, dword ptr [rbp-0x50]
-       ja       G_M54503_IG50
+       ja       G_M54503_IG43
        mov      r12, bword ptr [rbp-0x58]
        test     r13d, r13d
        jne      SHORT G_M54503_IG20
        mov      r12, 0xD1FFAB1E      ; 'System.Byte[]'
        jmp      SHORT G_M54503_IG21
 						;; size=104 bbWeight=0.50 PerfScore 9.00
 G_M54503_IG20:
        movsxd   rsi, r13d
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        mov      gword ptr [rbp-0x258], rax
        mov      edx, r13d
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      r12, gword ptr [rbp-0x258]
 						;; size=54 bbWeight=0.50 PerfScore 3.88
 G_M54503_IG21:
-       test     r12, r12
-       jne      SHORT G_M54503_IG22
-       xor      rsi, rsi
-       xor      r13d, r13d
-       jmp      SHORT G_M54503_IG23
-						;; size=12 bbWeight=0.50 PerfScore 1.88
-G_M54503_IG22:
        mov      rsi, r12
        mov      r13d, dword ptr [r12+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M54503_IG23:
        lea      rax, bword ptr [rbx+0x40]
        mov      bword ptr [rbp-0x270], rax
        mov      byte  ptr [rax], 1
        lea      rdi, bword ptr [rax+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        xor      edx, edx
        mov      rcx, bword ptr [rbp-0x270]
        mov      dword ptr [rcx+0x10], edx
        mov      dword ptr [rcx+0x14], r13d
-						;; size=39 bbWeight=0.50 PerfScore 3.62
-G_M54503_IG24:
+						;; size=47 bbWeight=0.50 PerfScore 4.75
+G_M54503_IG22:
        mov      qword ptr [rbp-0x1A8], rdx
        mov      dword ptr [rbp-0x1A0], edx
        mov      byte  ptr [rbp-0x1A4], r15b
        mov      dword ptr [rbp-0x1A0], 1
        mov      byte  ptr [rbp-0x1A8], 1
        mov      rdx, qword ptr [rbp-0x1A8]
        mov      ecx, dword ptr [rbp-0x1A0]
        lea      rsi, [rbp-0x80]
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnValueReader:ReadSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.Formats.Asn1.AsnValueReader:this
        call     [rax]System.Formats.Asn1.AsnValueReader:ReadSequence(System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.Formats.Asn1.AsnValueReader:this
        xor      r13d, r13d
        cmp      dword ptr [rbp-0x78], 0
-       je       G_M54503_IG40
+       je       G_M54503_IG33
 						;; size=83 bbWeight=0.50 PerfScore 7.25
-G_M54503_IG25:
-       test     r12, r12
-       jne      SHORT G_M54503_IG29
-						;; size=5 bbWeight=4 PerfScore 5.00
-G_M54503_IG26:
-       xor      rsi, rsi
-       mov      gword ptr [rbp-0x220], rsi
-						;; size=9 bbWeight=2 PerfScore 2.50
-G_M54503_IG27:
-       mov      dword ptr [rbp-0x218], esi
-						;; size=6 bbWeight=2 PerfScore 2.00
-G_M54503_IG28:
-       mov      dword ptr [rbp-0x214], esi
-       jmp      SHORT G_M54503_IG30
-						;; size=8 bbWeight=2 PerfScore 6.00
-G_M54503_IG29:
+G_M54503_IG23:
        mov      gword ptr [rbp-0x220], r12
        xor      esi, esi
        mov      dword ptr [rbp-0x218], esi
        mov      esi, dword ptr [r12+0x08]
        mov      dword ptr [rbp-0x214], esi
-						;; size=26 bbWeight=2 PerfScore 10.50
-G_M54503_IG30:
        mov      rsi, gword ptr [rbp-0x220]
        mov      rdx, qword ptr [rbp-0x218]
        lea      rdi, [rbp-0x80]
        lea      rcx, [rbp-0x188]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.Asn1.GeneralNameAsn:Decode(byref,System.ReadOnlyMemory`1[ubyte],byref)
        call     [rax]System.Security.Cryptography.Asn1.GeneralNameAsn:Decode(byref,System.ReadOnlyMemory`1[ubyte],byref)
        cmp      byte  ptr [rbp-0x130], 0
-       je       G_M54503_IG39
-						;; size=50 bbWeight=4 PerfScore 37.00
-G_M54503_IG31:
+       je       G_M54503_IG32
+						;; size=76 bbWeight=4 PerfScore 58.00
+G_M54503_IG24:
        test     r13d, r13d
-       jne      SHORT G_M54503_IG32
+       jne      SHORT G_M54503_IG25
        mov      r13d, 1
        mov      rdi, gword ptr [rbp-0x128]
        mov      eax, dword ptr [rbp-0x120]
        mov      dword ptr [rbp-0x244], eax
        mov      ecx, dword ptr [rbp-0x11C]
        mov      dword ptr [rbp-0x248], ecx
        xor      rdx, rdx
        xor      esi, esi
        test     rdi, rdi
        mov      dword ptr [rbp-0x224], esi
        mov      bword ptr [rbp-0x260], rdx
-       je       SHORT G_M54503_IG35
+       je       SHORT G_M54503_IG28
        mov      rdx, qword ptr [rdi]
        test     dword ptr [rdx], 0xD1FFAB1E
-       je       SHORT G_M54503_IG33
+       je       SHORT G_M54503_IG26
        lea      rdx, bword ptr [rdi+0x10]
        mov      esi, dword ptr [rdi+0x08]
-       jmp      SHORT G_M54503_IG34
+       jmp      SHORT G_M54503_IG27
 						;; size=84 bbWeight=2 PerfScore 41.50
-G_M54503_IG32:
+G_M54503_IG25:
        xor      rdi, rdi
        mov      gword ptr [rbx+0x20], rdi
-       jmp      G_M54503_IG39
+       jmp      G_M54503_IG32
 						;; size=11 bbWeight=2 PerfScore 6.50
-G_M54503_IG33:
+G_M54503_IG26:
        mov      rdx, qword ptr [rdi]
        mov      rdx, qword ptr [rdx+0x40]
        call     [rdx+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
        mov      esi, edx
        mov      rdi, rax
        mov      eax, esi
        mov      rdx, rdi
        mov      esi, eax
 						;; size=22 bbWeight=2 PerfScore 16.50
-G_M54503_IG34:
+G_M54503_IG27:
        mov      eax, dword ptr [rbp-0x244]
        and      eax, 0xD1FFAB1E
        mov      edi, eax
        mov      ecx, dword ptr [rbp-0x248]
        mov      eax, ecx
        add      rax, rdi
        mov      esi, esi
        cmp      rax, rsi
-       ja       G_M54503_IG50
+       ja       G_M54503_IG43
        add      rdx, rdi
        mov      bword ptr [rbp-0x260], rdx
        mov      dword ptr [rbp-0x224], ecx
 						;; size=51 bbWeight=2 PerfScore 13.50
-G_M54503_IG35:
+G_M54503_IG28:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.X509Certificates.X500DistinguishedName
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x250], rax
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.Oid
        call     CORINFO_HELP_NEWSFAST
        xor      rdi, rdi
        mov      gword ptr [rax+0x08], rdi
 						;; size=43 bbWeight=2 PerfScore 9.50
-G_M54503_IG36:
+G_M54503_IG29:
        mov      gword ptr [rax+0x10], rdi
        mov      byte  ptr [rax+0x1C], 0
        mov      rcx, gword ptr [rbp-0x250]
        lea      rdi, bword ptr [rcx+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      eax, dword ptr [rbp-0x224]
        test     eax, eax
-       jne      SHORT G_M54503_IG37
+       jne      SHORT G_M54503_IG30
        mov      rsi, 0xD1FFAB1E      ; 'System.Byte[]'
-       jmp      SHORT G_M54503_IG38
+       jmp      SHORT G_M54503_IG31
 						;; size=49 bbWeight=2 PerfScore 18.50
-G_M54503_IG37:
+G_M54503_IG30:
        mov      dword ptr [rbp-0x224], eax
        movsxd   rsi, eax
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        mov      rsi, rax
        mov      gword ptr [rbp-0x268], rsi
        mov      edx, dword ptr [rbp-0x224]
        lea      rdi, bword ptr [rsi+0x10]
        mov      rsi, bword ptr [rbp-0x260]
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      rsi, gword ptr [rbp-0x268]
 						;; size=70 bbWeight=2 PerfScore 21.00
-G_M54503_IG38:
+G_M54503_IG31:
        mov      rax, gword ptr [rbp-0x250]
        lea      rdi, bword ptr [rax+0x10]
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [rbx+0x20]
        mov      rsi, gword ptr [rbp-0x250]
        call     CORINFO_HELP_ASSIGN_REF
 						;; size=32 bbWeight=2 PerfScore 10.00
-G_M54503_IG39:
+G_M54503_IG32:
        cmp      dword ptr [rbp-0x78], 0
-       jne      G_M54503_IG25
+       jne      G_M54503_IG23
 						;; size=10 bbWeight=4 PerfScore 12.00
-G_M54503_IG40:
+G_M54503_IG33:
        cmp      dword ptr [rbp-0x50], 0
-       je       SHORT G_M54503_IG41
+       je       SHORT G_M54503_IG34
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, qword ptr [rbp-0x50]
        lea      rdx, [rbp-0x238]
        lea      rcx, [rbp-0x230]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.Asn1Tag:TryDecode(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
        call     [rax]System.Formats.Asn1.Asn1Tag:TryDecode(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
        test     eax, eax
-       je       G_M54503_IG47
+       je       G_M54503_IG40
        movzx    r15, byte  ptr [rbp-0x238]
        mov      r14d, dword ptr [rbp-0x234]
 						;; size=63 bbWeight=0.50 PerfScore 6.25
-G_M54503_IG41:
+G_M54503_IG34:
        cmp      r14d, 2
-       jne      G_M54503_IG45
+       jne      G_M54503_IG38
 						;; size=10 bbWeight=1 PerfScore 1.25
-G_M54503_IG42:
+G_M54503_IG35:
        movzx    rdi, r15b
        and      edi, 192
        cmp      edi, 128
-       jne      G_M54503_IG45
+       jne      G_M54503_IG38
        xor      edi, edi
        mov      qword ptr [rbp-0x198], rdi
        mov      dword ptr [rbp-0x190], edi
        mov      byte  ptr [rbp-0x194], r15b
        mov      dword ptr [rbp-0x190], 2
        mov      byte  ptr [rbp-0x198], 1
        mov      rdi, bword ptr [rbp-0x58]
        mov      rsi, qword ptr [rbp-0x50]
        mov      r8, qword ptr [rbp-0x198]
        mov      r9d, dword ptr [rbp-0x190]
        lea      rcx, [rbp-0x240]
        mov      edx, dword ptr [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnDecoder:ReadIntegerBytes(System.ReadOnlySpan`1[ubyte],int,byref,System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.ReadOnlySpan`1[ubyte]
        call     [rax]System.Formats.Asn1.AsnDecoder:ReadIntegerBytes(System.ReadOnlySpan`1[ubyte],int,byref,System.Nullable`1[System.Formats.Asn1.Asn1Tag]):System.ReadOnlySpan`1[ubyte]
        mov      r15, rax
        mov      r14d, edx
        mov      esi, dword ptr [rbp-0x240]
        cmp      esi, dword ptr [rbp-0x50]
-       ja       G_M54503_IG50
+       ja       G_M54503_IG43
        mov      edi, esi
        add      rdi, bword ptr [rbp-0x58]
        mov      eax, dword ptr [rbp-0x50]
        sub      eax, esi
        mov      bword ptr [rbp-0x58], rdi
        mov      dword ptr [rbp-0x50], eax
        test     r14d, r14d
-       jne      SHORT G_M54503_IG43
+       jne      SHORT G_M54503_IG36
        mov      rsi, 0xD1FFAB1E      ; 'System.Byte[]'
-       jmp      SHORT G_M54503_IG44
+       jmp      SHORT G_M54503_IG37
 						;; size=161 bbWeight=0.50 PerfScore 14.62
-G_M54503_IG43:
+G_M54503_IG36:
        mov      esi, r14d
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        mov      r13, rax
        mov      edx, r14d
        lea      rdi, bword ptr [r13+0x10]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      rsi, r13
 						;; size=46 bbWeight=0.50 PerfScore 3.12
-G_M54503_IG44:
+G_M54503_IG37:
        mov      r15d, dword ptr [rsi+0x08]
        lea      r14, bword ptr [rbx+0x58]
        mov      byte  ptr [r14], 1
        lea      rdi, bword ptr [r14+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
        mov      dword ptr [r14+0x10], edi
        mov      dword ptr [r14+0x14], r15d
 						;; size=31 bbWeight=0.50 PerfScore 3.62
-G_M54503_IG45:
+G_M54503_IG38:
        lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnValueReader:ThrowIfNotEmpty():this
        call     [rax]System.Formats.Asn1.AsnValueReader:ThrowIfNotEmpty():this
-       jmp      G_M54503_IG51
+       jmp      G_M54503_IG44
 						;; size=21 bbWeight=1 PerfScore 5.75
-G_M54503_IG46:
+G_M54503_IG39:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnValueReader
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M54503_IG08
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M54503_IG47:
+G_M54503_IG40:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnContentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ContentException_InvalidTag():System.String
        call     [rax]System.SR:get_ContentException_InvalidTag():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnContentException:.ctor(System.String):this
        call     [rax]System.Formats.Asn1.AsnContentException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
-G_M54503_IG48:
+G_M54503_IG41:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnContentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ContentException_InvalidTag():System.String
        call     [rax]System.SR:get_ContentException_InvalidTag():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnContentException:.ctor(System.String):this
        call     [rax]System.Formats.Asn1.AsnContentException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
-G_M54503_IG49:
+G_M54503_IG42:
        mov      rdi, 0xD1FFAB1E      ; System.Formats.Asn1.AsnContentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ContentException_InvalidTag():System.String
        call     [rax]System.SR:get_ContentException_InvalidTag():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Formats.Asn1.AsnContentException:.ctor(System.String):this
        call     [rax]System.Formats.Asn1.AsnContentException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
-G_M54503_IG50:
+G_M54503_IG43:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M54503_IG51:
+G_M54503_IG44:
        mov      byte  ptr [rbx+0x19], 1
 						;; size=4 bbWeight=1 PerfScore 1.00
-G_M54503_IG52:
+G_M54503_IG45:
        add      rsp, 616
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
-G_M54503_IG53:
+G_M54503_IG46:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
        lea      rbp, [rbp+0x290]
 						;; size=30 bbWeight=0 PerfScore 0.00
-G_M54503_IG54:
+G_M54503_IG47:
        mov      rbx, rsi
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.CryptographicException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Cryptography_Der_Invalid_Encoding():System.String
        call     [rax]System.SR:get_Cryptography_Der_Invalid_Encoding():System.String
        mov      rsi, rax
        mov      rdi, r15
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.Exception):this
        call     [rax]System.Security.Cryptography.CryptographicException:.ctor(System.String,System.Exception):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=63 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2174, prolog size 92, PerfScore 382.96, instruction count 469, allocated bytes for code 2174 (MethodHash=f4f52b18) for method System.Security.Cryptography.X509Certificates.X509AuthorityKeyIdentifierExtension:Decode(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
+; Total bytes of code 2134, prolog size 92, PerfScore 376.08, instruction count 457, allocated bytes for code 2134 (MethodHash=f4f52b18) for method System.Security.Cryptography.X509Certificates.X509AuthorityKeyIdentifierExtension:Decode(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
-39 (-7.65 % of base) - System.Globalization.GlobalizationMode:LoadAppLocalIcuCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])
 ; Assembly listing for method System.Globalization.GlobalizationMode:LoadAppLocalIcuCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) (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; 16 single block inlinees; 12 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[ushort]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
-;  V02 loc0         [V02,T01] ( 10,  7   )     ref  ->  r12         class-hnd single-def <System.String>
+;  V02 loc0         [V02,T01] (  7,  7   )     ref  ->  r12         class-hnd single-def <System.String>
 ;* V03 loc1         [V03,T44] (  0,  0   )   ubyte  ->  zero-ref   
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V05 loc3         [V05,T31] (  2,  2   )    long  ->  r12        
+;  V05 loc3         [V05,T34] (  2,  2   )    long  ->  r12        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T19] (  2,  2   )     ref  ->  r12        
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V09 tmp3         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V13 tmp7         [V13,T09] (  2,  4   )    long  ->  [rbp-0x30]  spill-single-def "impAppendStmt"
+;  V13 tmp7         [V13,T12] (  2,  4   )    long  ->  [rbp-0x30]  spill-single-def "impAppendStmt"
 ;* V14 tmp8         [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp10        [V16    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp11        [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp12        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp13        [V19    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V20 tmp14        [V20,T03] (  4,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V21 tmp15        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V22 tmp16        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V23 tmp17        [V23,T20] (  2,  2   )   byref  ->  r10         single-def "Inlining Arg"
-;  V24 tmp18        [V24,T32] (  2,  2   )     int  ->  r11         "Inlining Arg"
+;  V24 tmp18        [V24,T35] (  2,  2   )     int  ->  r11         "Inlining Arg"
 ;* V25 tmp19        [V25    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V26 tmp20        [V26    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp21        [V27    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp22        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V29 tmp23        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V30 tmp24        [V30,T21] (  2,  2   )   byref  ->   r8         single-def "Inlining Arg"
-;  V31 tmp25        [V31,T33] (  2,  2   )     int  ->   r9         "Inlining Arg"
-;  V32 tmp26        [V32,T22] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inline return value spill temp" <System.String>
+;  V30 tmp24        [V30,T08] (  2,  4   )   byref  ->   r8         single-def "Inlining Arg"
+;  V31 tmp25        [V31,T13] (  2,  4   )     int  ->   r9         "Inlining Arg"
+;  V32 tmp26        [V32,T21] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inline return value spill temp" <System.String>
 ;* V33 tmp27        [V33    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V34 tmp28        [V34    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V35 tmp29        [V35    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp30        [V36    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V37 tmp31        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V38 tmp32        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V39 tmp33        [V39,T23] (  2,  2   )   byref  ->   r8         single-def "Inlining Arg"
-;  V40 tmp34        [V40,T34] (  2,  2   )     int  ->   r9         "Inlining Arg"
-;  V41 tmp35        [V41,T24] (  2,  2   )     ref  ->  rdi         class-hnd "Inline return value spill temp" <System.String>
+;  V39 tmp33        [V39,T09] (  2,  4   )   byref  ->   r8         single-def "Inlining Arg"
+;  V40 tmp34        [V40,T14] (  2,  4   )     int  ->   r9         "Inlining Arg"
+;  V41 tmp35        [V41,T22] (  2,  2   )     ref  ->  rdi         class-hnd "Inline return value spill temp" <System.String>
 ;* V42 tmp36        [V42    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp37        [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp38        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V45 tmp39        [V45    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V46 tmp40        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V47 tmp41        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V48 tmp42        [V48,T25] (  2,  2   )   byref  ->   r8         single-def "Inlining Arg"
-;  V49 tmp43        [V49,T35] (  2,  2   )     int  ->   r9         "Inlining Arg"
-;  V50 tmp44        [V50,T26] (  2,  2   )     ref  ->  rdi         class-hnd "Inline return value spill temp" <System.String>
+;  V48 tmp42        [V48,T10] (  2,  4   )   byref  ->   r8         single-def "Inlining Arg"
+;  V49 tmp43        [V49,T15] (  2,  4   )     int  ->   r9         "Inlining Arg"
+;  V50 tmp44        [V50,T23] (  2,  2   )     ref  ->  rdi         class-hnd "Inline return value spill temp" <System.String>
 ;* V51 tmp45        [V51    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V52 tmp46        [V52    ] (  3,  6   )  struct (16) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V53 tmp47        [V53    ] (  4,  7   )  struct (16) [rbp-0x50]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V54 tmp48        [V54,T08] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V54 tmp48        [V54,T11] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V55 tmp49        [V55    ] (  0,  0   )    long  ->  zero-ref   
 ;* V56 tmp50        [V56    ] (  0,  0   )    long  ->  zero-ref   
 ;* V57 tmp51        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V58 tmp52        [V58    ] (  0,  0   )    long  ->  zero-ref   
 ;* V59 tmp53        [V59    ] (  0,  0   )    long  ->  zero-ref   
 ;* V60 tmp54        [V60    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V61 tmp55        [V61,T10] (  3,  2   )     ref  ->  rcx        
+;  V61 tmp55        [V61,T16] (  3,  2   )     ref  ->  rcx        
 ;  V62 tmp56        [V62,T02] (  5,  5   )   byref  ->  r15         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V63 tmp57        [V63,T00] (  6,  6   )     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V64 tmp58        [V64,T04] (  3,  3   )   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
 ;  V65 tmp59        [V65,T05] (  3,  3   )     int  ->  r13         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V66 tmp60        [V66,T06] (  4,  4   )   byref  ->  [rbp-0x60]  spill-single-def "field V04._reference (fldOffset=0x0)" P-INDEP
 ;  V67 tmp61        [V67,T07] (  4,  4   )     int  ->  [rbp-0x54]  spill-single-def "field V04._length (fldOffset=0x8)" P-INDEP
 ;* V68 tmp62        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp63        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V70 tmp64        [V70    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V71 tmp65        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V72 tmp66        [V72    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V73 tmp67        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V74 tmp68        [V74    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V75 tmp69        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V76 tmp70        [V76    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V77 tmp71        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V78 tmp72        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V79 tmp73        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V80 tmp74        [V80    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V81 tmp75        [V81    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V82 tmp76        [V82    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V83 tmp77        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V84 tmp78        [V84,T27] (  2,  2   )   byref  ->  rdx         single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;  V84 tmp78        [V84,T24] (  2,  2   )   byref  ->  rdx         single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V85 tmp79        [V85,T45] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V86 tmp80        [V86,T11] (  3,  2   )   byref  ->  registers   "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V87 tmp81        [V87,T15] (  3,  2   )     int  ->  registers   "field V19._length (fldOffset=0x8)" P-INDEP
-;  V88 tmp82        [V88,T36] (  2,  1   )   byref  ->  r10         single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;  V89 tmp83        [V89,T40] (  2,  1   )     int  ->  r11         "field V21._length (fldOffset=0x8)" P-INDEP
+;  V86 tmp80        [V86,T17] (  3,  2   )   byref  ->  registers   "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V87 tmp81        [V87,T18] (  3,  2   )     int  ->  registers   "field V19._length (fldOffset=0x8)" P-INDEP
+;  V88 tmp82        [V88,T42] (  2,  1   )   byref  ->  r10         single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;  V89 tmp83        [V89,T43] (  2,  1   )     int  ->  r11         "field V21._length (fldOffset=0x8)" P-INDEP
 ;* V90 tmp84        [V90    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V91 tmp85        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
-;  V92 tmp86        [V92,T28] (  2,  2   )   byref  ->  rdi         single-def "field V25._reference (fldOffset=0x0)" P-INDEP
+;  V92 tmp86        [V92,T25] (  2,  2   )   byref  ->  rdi         single-def "field V25._reference (fldOffset=0x0)" P-INDEP
 ;* V93 tmp87        [V93,T46] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;  V94 tmp88        [V94,T12] (  3,  2   )   byref  ->   r8         "field V27._reference (fldOffset=0x0)" P-INDEP
-;  V95 tmp89        [V95,T16] (  3,  2   )     int  ->   r9         "field V27._length (fldOffset=0x8)" P-INDEP
-;  V96 tmp90        [V96,T37] (  2,  1   )   byref  ->   r8         single-def "field V28._reference (fldOffset=0x0)" P-INDEP
-;  V97 tmp91        [V97,T41] (  2,  1   )     int  ->   r9         "field V28._length (fldOffset=0x8)" P-INDEP
+;  V94 tmp88        [V94,T26] (  2,  2   )   byref  ->   r8         "field V27._reference (fldOffset=0x0)" P-INDEP
+;  V95 tmp89        [V95,T36] (  2,  2   )     int  ->   r9         "field V27._length (fldOffset=0x8)" P-INDEP
+;  V96 tmp90        [V96,T27] (  2,  2   )   byref  ->   r8         single-def "field V28._reference (fldOffset=0x0)" P-INDEP
+;  V97 tmp91        [V97,T37] (  2,  2   )     int  ->   r9         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V98 tmp92        [V98    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V99 tmp93        [V99    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V100 tmp94       [V100    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V101 tmp95       [V101    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;  V102 tmp96       [V102,T29] (  2,  2   )   byref  ->  rdi         single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;  V102 tmp96       [V102,T28] (  2,  2   )   byref  ->  rdi         single-def "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V103 tmp97       [V103,T47] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
-;  V104 tmp98       [V104,T13] (  3,  2   )   byref  ->   r8         "field V36._reference (fldOffset=0x0)" P-INDEP
-;  V105 tmp99       [V105,T17] (  3,  2   )     int  ->   r9         "field V36._length (fldOffset=0x8)" P-INDEP
-;  V106 tmp100      [V106,T38] (  2,  1   )   byref  ->   r8         single-def "field V37._reference (fldOffset=0x0)" P-INDEP
-;  V107 tmp101      [V107,T42] (  2,  1   )     int  ->   r9         "field V37._length (fldOffset=0x8)" P-INDEP
+;  V104 tmp98       [V104,T29] (  2,  2   )   byref  ->   r8         "field V36._reference (fldOffset=0x0)" P-INDEP
+;  V105 tmp99       [V105,T38] (  2,  2   )     int  ->   r9         "field V36._length (fldOffset=0x8)" P-INDEP
+;  V106 tmp100      [V106,T30] (  2,  2   )   byref  ->   r8         single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;  V107 tmp101      [V107,T39] (  2,  2   )     int  ->   r9         "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V108 tmp102      [V108    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V109 tmp103      [V109    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
 ;* V110 tmp104      [V110    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V111 tmp105      [V111    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
-;  V112 tmp106      [V112,T30] (  2,  2   )   byref  ->  rdi         single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;  V112 tmp106      [V112,T31] (  2,  2   )   byref  ->  rdi         single-def "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V113 tmp107      [V113,T48] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
-;  V114 tmp108      [V114,T14] (  3,  2   )   byref  ->   r8         "field V45._reference (fldOffset=0x0)" P-INDEP
-;  V115 tmp109      [V115,T18] (  3,  2   )     int  ->   r9         "field V45._length (fldOffset=0x8)" P-INDEP
-;  V116 tmp110      [V116,T39] (  2,  1   )   byref  ->   r8         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V117 tmp111      [V117,T43] (  2,  1   )     int  ->   r9         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V114 tmp108      [V114,T32] (  2,  2   )   byref  ->   r8         "field V45._reference (fldOffset=0x0)" P-INDEP
+;  V115 tmp109      [V115,T40] (  2,  2   )     int  ->   r9         "field V45._length (fldOffset=0x8)" P-INDEP
+;  V116 tmp110      [V116,T33] (  2,  2   )   byref  ->   r8         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V117 tmp111      [V117,T41] (  2,  2   )     int  ->   r9         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V118 tmp112      [V118    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V119 tmp113      [V119    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V120 tmp114      [V120    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V51._reference (fldOffset=0x0)" P-INDEP
 ;* V121 tmp115      [V121    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
 ;  V122 tmp116      [V122    ] (  2,  3   )   byref  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V52._reference (fldOffset=0x0)" P-DEP
 ;  V123 tmp117      [V123    ] (  2,  3   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V52._length (fldOffset=0x8)" P-DEP
 ;  V124 tmp118      [V124    ] (  2,  2   )   byref  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V53._reference (fldOffset=0x0)" P-DEP
 ;  V125 tmp119      [V125    ] (  3,  3   )     int  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V53._length (fldOffset=0x8)" P-DEP
 ;
 ; Lcl frame size = 72
 
 G_M13061_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x50], ymm8
        mov      r15, rdi
        mov      ebx, esi
        mov      r14, rdx
        mov      r13d, ecx
 						;; size=40 bbWeight=1 PerfScore 10.08
 G_M13061_IG02:
        mov      r12, 0xD1FFAB1E      ; 'so.'
        mov      rdi, 0xD1FFAB1E      ; 'so'
        test     ebx, ebx
        cmovle   r12, rdi
        mov      rdx, 0xD1FFAB1E
        mov      rdi, r14
        mov      esi, r13d
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        test     rax, rax
        jne      SHORT G_M13061_IG04
 						;; size=64 bbWeight=1 PerfScore 6.50
 G_M13061_IG03:
        xor      r10, r10
        xor      r11d, r11d
        jmp      SHORT G_M13061_IG05
 						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M13061_IG04:
        lea      r10, bword ptr [rax+0x0C]
        mov      r11d, dword ptr [rax+0x08]
        mov      rax, r10
        mov      r10d, r11d
        mov      r11d, r10d
        mov      r10, rax
 						;; size=20 bbWeight=0.50 PerfScore 1.75
 G_M13061_IG05:
        mov      rax, r10
        mov      bword ptr [rbp-0x60], rax
        mov      r10d, r11d
        mov      dword ptr [rbp-0x54], r10d
        mov      rdi, 0xD1FFAB1E
-       test     r12, r12
-       jne      SHORT G_M13061_IG07
-						;; size=29 bbWeight=1 PerfScore 4.00
-G_M13061_IG06:
-       xor      r8, r8
-       xor      r9d, r9d
-       jmp      SHORT G_M13061_IG08
-						;; size=8 bbWeight=0.50 PerfScore 1.25
-G_M13061_IG07:
        lea      r8, bword ptr [r12+0x0C]
        mov      r9d, dword ptr [r12+0x08]
-						;; size=10 bbWeight=0.50 PerfScore 1.25
-G_M13061_IG08:
        mov      bword ptr [rsp], r15
        mov      dword ptr [rsp+0x08], ebx
        mov      esi, 10
        mov      rdx, rax
        mov      ecx, r10d
        mov      r11, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [r11]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        mov      rdi, rax
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.GlobalizationMode:LoadLibrary(System.String,ubyte):long
        call     [rax]System.Globalization.GlobalizationMode:LoadLibrary(System.String,ubyte):long
        mov      rdi, 0xD1FFAB1E
-       test     r12, r12
-       jne      SHORT G_M13061_IG10
-						;; size=67 bbWeight=1 PerfScore 11.25
-G_M13061_IG09:
-       xor      r8, r8
-       xor      r9d, r9d
-       jmp      SHORT G_M13061_IG11
-						;; size=8 bbWeight=0.50 PerfScore 1.25
-G_M13061_IG10:
        lea      r8, bword ptr [r12+0x0C]
        mov      r9d, dword ptr [r12+0x08]
-						;; size=10 bbWeight=0.50 PerfScore 1.25
-G_M13061_IG11:
        mov      bword ptr [rsp], r15
        mov      dword ptr [rsp+0x08], ebx
        mov      esi, 8
        mov      rdx, bword ptr [rbp-0x60]
        mov      ecx, dword ptr [rbp-0x54]
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        mov      rdi, rax
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.GlobalizationMode:LoadLibrary(System.String,ubyte):long
        call     [rax]System.Globalization.GlobalizationMode:LoadLibrary(System.String,ubyte):long
        mov      qword ptr [rbp-0x30], rax
        mov      rdi, 0xD1FFAB1E
-       test     r12, r12
-       jne      SHORT G_M13061_IG13
-						;; size=71 bbWeight=1 PerfScore 13.75
-G_M13061_IG12:
-       xor      r8, r8
-       xor      r9d, r9d
-       jmp      SHORT G_M13061_IG14
-						;; size=8 bbWeight=0.50 PerfScore 1.25
-G_M13061_IG13:
        lea      r8, bword ptr [r12+0x0C]
        mov      r9d, dword ptr [r12+0x08]
-						;; size=10 bbWeight=0.50 PerfScore 1.25
-G_M13061_IG14:
        mov      bword ptr [rsp], r15
        mov      dword ptr [rsp+0x08], ebx
        mov      esi, 10
        mov      rdx, bword ptr [rbp-0x60]
        mov      ecx, dword ptr [rbp-0x54]
        mov      r10, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [r10]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        mov      rdi, rax
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.GlobalizationMode:LoadLibrary(System.String,ubyte):long
        call     [rax]System.Globalization.GlobalizationMode:LoadLibrary(System.String,ubyte):long
        mov      r12, rax
        mov      bword ptr [rbp-0x40], r15
        mov      dword ptr [rbp-0x38], ebx
+						;; size=245 bbWeight=1 PerfScore 46.25
+G_M13061_IG06:
        mov      bword ptr [rbp-0x50], r14
        mov      dword ptr [rbp-0x48], r13d
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        call     [rax]System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        mov      rbx, rax
        cmp      dword ptr [rbp-0x48], 0
-       jg       SHORT G_M13061_IG16
-						;; size=96 bbWeight=1 PerfScore 22.50
-G_M13061_IG15:
+       jg       SHORT G_M13061_IG08
+						;; size=33 bbWeight=1 PerfScore 9.00
+G_M13061_IG07:
        xor      rcx, rcx
-       jmp      SHORT G_M13061_IG17
+       jmp      SHORT G_M13061_IG09
 						;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M13061_IG16:
+G_M13061_IG08:
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        call     [rax]System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        mov      rcx, rax
 						;; size=19 bbWeight=0.50 PerfScore 2.00
-G_M13061_IG17:
+G_M13061_IG09:
        mov      rdi, qword ptr [rbp-0x30]
        mov      rsi, r12
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for Interop+Globalization:InitICUFunctions(long,long,System.String,System.String)
        call     [rax]Interop+Globalization:InitICUFunctions(long,long,System.String,System.String)
        nop      
 						;; size=23 bbWeight=1 PerfScore 5.00
-G_M13061_IG18:
+G_M13061_IG10:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 510, prolog size 29, PerfScore 90.96, instruction count 128, allocated bytes for code 510 (MethodHash=7ececcfa) for method System.Globalization.GlobalizationMode:LoadAppLocalIcuCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) (FullOpts)
+; Total bytes of code 471, prolog size 29, PerfScore 87.21, instruction count 113, allocated bytes for code 471 (MethodHash=7ececcfa) for method System.Globalization.GlobalizationMode:LoadAppLocalIcuCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) (FullOpts)
-27 (-1.88 % of base) - System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this
 ; Assembly listing for method System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):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; 41 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T28] (  4,  3   )     ref  ->  [rbp-0x78]  this class-hnd single-def <System.Net.Http.Http2Connection>
 ;  V01 arg1         [V01,T15] (  9,  9   )     ref  ->  r13         class-hnd single-def <System.String>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[System.String]>
 ;  V03 arg3         [V03,T16] (  3,  6   )     ref  ->  r12         class-hnd single-def <System.Text.Encoding>
 ;  V04 arg4         [V04,T04] (  9, 26   )   byref  ->  rbx         single-def
 ;  V05 loc0         [V05,T37] (  2,  2   )     int  ->  rdi         ld-addr-op
 ;  V06 loc1         [V06    ] ( 60, 30   )  struct (40) [rbp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[System.String]>
 ;  V09 tmp2         [V09,T05] (  2, 24   )     ref  ->  [rbp-0x80]  class-hnd spill-single-def "impAppendStmt" <ubyte[]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
 ;  V13 tmp6         [V13,T27] (  5,  5   )     ref  ->  rax         class-hnd single-def "dup spill" <ushort[]>
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <ushort[]>
 ;* V15 tmp8         [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V17 tmp10        [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V18 tmp11        [V18,T29] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V20 tmp13        [V20,T45] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V21 tmp14        [V21,T53] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;* V22 tmp15        [V22,T69] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V24 tmp17        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp18        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V27 tmp20        [V27,T30] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V29 tmp22        [V29,T46] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V30 tmp23        [V30,T54] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;* V31 tmp24        [V31,T70] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V33 tmp26        [V33    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp27        [V34    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp28        [V35    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V36 tmp29        [V36,T31] (  4,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V37 tmp30        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V38 tmp31        [V38,T47] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;  V39 tmp32        [V39,T55] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V40 tmp33        [V40,T71] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V42 tmp35        [V42    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V43 tmp36        [V43    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V44 tmp37        [V44    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V45 tmp38        [V45    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V46 tmp39        [V46,T32] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V47 tmp40        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V48 tmp41        [V48,T48] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V49 tmp42        [V49,T56] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;* V50 tmp43        [V50,T72] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V52 tmp45        [V52    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V53 tmp46        [V53    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V54 tmp47        [V54    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V55 tmp48        [V55,T33] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V56 tmp49        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V57 tmp50        [V57,T49] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V58 tmp51        [V58,T57] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;* V59 tmp52        [V59,T73] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V60 tmp53        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V61 tmp54        [V61    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V62 tmp55        [V62    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V63 tmp56        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V64 tmp57        [V64,T34] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V65 tmp58        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V66 tmp59        [V66,T50] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V67 tmp60        [V67,T58] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;* V68 tmp61        [V68,T74] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V69 tmp62        [V69    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V70 tmp63        [V70    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V71 tmp64        [V71    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V72 tmp65        [V72,T44] (  5,  2.50)     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String[]>
+;  V72 tmp65        [V72,T44] (  4,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String[]>
 ;  V73 tmp66        [V73,T40] (  3,  3   )     ref  ->  [rbp-0x88]  class-hnd exact spill-single-def "dup spill" <System.String[]>
 ;  V74 tmp67        [V74,T41] (  3,  3   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V75 tmp68        [V75    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V76 tmp69        [V76    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V77 tmp70        [V77,T35] (  4,  4   )    long  ->  rdx         "Inlining Arg"
 ;* V78 tmp71        [V78    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.String]>
 ;* V79 tmp72        [V79    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V80 tmp73        [V80    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V81 tmp74        [V81    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V82 tmp75        [V82,T25] (  7,  7   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;* V83 tmp76        [V83    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V84 tmp77        [V84,T36] (  4,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V85 tmp78        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V86 tmp79        [V86,T51] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;  V87 tmp80        [V87,T59] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V88 tmp81        [V88,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V89 tmp82        [V89    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V90 tmp83        [V90    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp84        [V91    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V92 tmp85        [V92    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V93 tmp86        [V93,T52] (  2,  2   )     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;  V94 tmp87        [V94,T42] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnectionPool>
 ;  V95 tmp88        [V95,T65] (  2,  1   )     ref  ->  [rbp-0xA0]  spill-single-def
 ;* V96 tmp89        [V96    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V97 tmp90        [V97    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V98 tmp91        [V98,T62] (  3,  1.50)     int  ->  [rbp-0x54] 
 ;  V99 tmp92        [V99,T60] (  2,  2   )     int  ->  rcx         "Inlining Arg"
 ;* V100 tmp93       [V100    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V101 tmp94       [V101,T00] (  4, 40   )     ref  ->  rsi         class-hnd "Inlining Arg" <ubyte[]>
 ;  V102 tmp95       [V102,T02] (  5, 32   )     int  ->  rdi         "Inlining Arg"
 ;* V103 tmp96       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V104 tmp97       [V104    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V105 tmp98       [V105,T17] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
 ;  V106 tmp99       [V106,T20] (  2,  8   )     int  ->  rcx         "Inlining Arg"
 ;* V107 tmp100      [V107,T43] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V108 tmp101      [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V109 tmp102      [V109    ] (  3,  9   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V110 tmp103      [V110    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;  V111 tmp104      [V111    ] (  2,  5   )     int  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V112 tmp105      [V112    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V113 tmp106      [V113    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V114 tmp107      [V114,T09] (  2, 16   )   byref  ->  rsi         "Inlining Arg"
 ;  V115 tmp108      [V115,T11] (  2, 16   )     int  ->  rdx         "Inlining Arg"
 ;  V116 tmp109      [V116,T03] (  4, 32   )     int  ->  rdi         "Inlining Arg"
 ;* V117 tmp110      [V117    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V118 tmp111      [V118,T10] (  2, 16   )   byref  ->   r8         "Inlining Arg"
 ;  V119 tmp112      [V119,T12] (  2, 16   )     int  ->   r9         "Inlining Arg"
 ;* V120 tmp113      [V120    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V121 tmp114      [V121,T08] (  4,  6   )   byref  ->  r14         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V122 tmp115      [V122,T07] (  5,  6.50)     int  ->  r15         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp116      [V123,T23] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp117      [V124,T24] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V125 tmp118      [V125    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V126 tmp119      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;  V127 tmp120      [V127,T61] (  3,  1.50)   byref  ->  rdi         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;  V128 tmp121      [V128,T63] (  3,  1.50)     int  ->  rsi         "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V129 tmp122      [V129    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp123      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp124      [V131    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp125      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V133 tmp126      [V133    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V134 tmp127      [V134    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V135 tmp128      [V135    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V136 tmp129      [V136    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V137 tmp130      [V137    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V138 tmp131      [V138    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V139 tmp132      [V139    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V140 tmp133      [V140    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V141 tmp134      [V141    ] (  0,  0   )   byref  ->  zero-ref    "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V142 tmp135      [V142    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;* V143 tmp136      [V143    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V144 tmp137      [V144    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V145 tmp138      [V145    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
 ;* V146 tmp139      [V146    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V147 tmp140      [V147    ] (  0,  0   )   byref  ->  zero-ref    "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V148 tmp141      [V148    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V149 tmp142      [V149    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V150 tmp143      [V150    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V151 tmp144      [V151    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V51._reference (fldOffset=0x0)" P-INDEP
 ;* V152 tmp145      [V152    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V153 tmp146      [V153    ] (  0,  0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V154 tmp147      [V154    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V155 tmp148      [V155    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V156 tmp149      [V156    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;* V157 tmp150      [V157    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V60._reference (fldOffset=0x0)" P-INDEP
 ;* V158 tmp151      [V158    ] (  0,  0   )     int  ->  zero-ref    "field V60._length (fldOffset=0x8)" P-INDEP
 ;* V159 tmp152      [V159    ] (  0,  0   )   byref  ->  zero-ref    "field V63._reference (fldOffset=0x0)" P-INDEP
 ;* V160 tmp153      [V160    ] (  0,  0   )     int  ->  zero-ref    "field V63._length (fldOffset=0x8)" P-INDEP
 ;* V161 tmp154      [V161    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V162 tmp155      [V162    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V163 tmp156      [V163    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V164 tmp157      [V164    ] (  0,  0   )     int  ->  zero-ref    "field V69._length (fldOffset=0x8)" P-INDEP
 ;  V165 tmp158      [V165,T66] (  2,  1   )   byref  ->  rdx         single-def "field V78._reference (fldOffset=0x0)" P-INDEP
 ;  V166 tmp159      [V166,T76] (  2,  1   )     int  ->  rcx         "field V78._length (fldOffset=0x8)" P-INDEP
 ;  V167 tmp160      [V167,T67] (  2,  1   )   byref  ->  rdi         single-def "field V79._reference (fldOffset=0x0)" P-INDEP
 ;* V168 tmp161      [V168,T77] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
 ;  V169 tmp162      [V169,T68] (  2,  1   )   byref  ->  rdi         single-def "field V80._reference (fldOffset=0x0)" P-INDEP
 ;* V170 tmp163      [V170,T78] (  0,  0   )     int  ->  zero-ref    "field V80._length (fldOffset=0x8)" P-INDEP
 ;* V171 tmp164      [V171    ] (  0,  0   )   byref  ->  zero-ref    "field V83._reference (fldOffset=0x0)" P-INDEP
 ;* V172 tmp165      [V172    ] (  0,  0   )     int  ->  zero-ref    "field V83._length (fldOffset=0x8)" P-INDEP
 ;* V173 tmp166      [V173    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V85._reference (fldOffset=0x0)" P-INDEP
 ;* V174 tmp167      [V174    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
 ;* V175 tmp168      [V175    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V89._reference (fldOffset=0x0)" P-INDEP
 ;* V176 tmp169      [V176    ] (  0,  0   )     int  ->  zero-ref    "field V89._length (fldOffset=0x8)" P-INDEP
 ;  V177 tmp170      [V177,T13] (  3, 12   )   byref  ->  rdx         "field V100._reference (fldOffset=0x0)" P-INDEP
 ;  V178 tmp171      [V178,T14] (  3, 12   )     int  ->  rcx         "field V100._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp172      [V179,T38] (  2,  4   )   byref  ->  rdx         "field V103._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp173      [V180,T39] (  2,  4   )     int  ->  rcx         "field V103._length (fldOffset=0x8)" P-INDEP
 ;* V181 tmp174      [V181    ] (  0,  0   )   byref  ->  zero-ref    "field V104._reference (fldOffset=0x0)" P-INDEP
 ;* V182 tmp175      [V182    ] (  0,  0   )     int  ->  zero-ref    "field V104._length (fldOffset=0x8)" P-INDEP
 ;  V183 tmp176      [V183,T06] (  4, 20   )   byref  ->  [rbp-0xA8]  spill-single-def "field V108._reference (fldOffset=0x0)" P-INDEP
 ;  V184 tmp177      [V184,T01] (  6, 32   )     int  ->  [rbp-0x6C]  spill-single-def "field V108._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp178      [V185    ] (  0,  0   )   byref  ->  zero-ref    "field V110._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp179      [V186    ] (  0,  0   )     int  ->  zero-ref    "field V110._length (fldOffset=0x8)" P-INDEP
 ;* V187 tmp180      [V187    ] (  0,  0   )   byref  ->  zero-ref    "field V112._reference (fldOffset=0x0)" P-INDEP
 ;* V188 tmp181      [V188    ] (  0,  0   )     int  ->  zero-ref    "field V112._length (fldOffset=0x8)" P-INDEP
 ;  V189 tmp182      [V189,T18] (  2,  8   )   byref  ->  rsi         "field V113._reference (fldOffset=0x0)" P-INDEP
 ;  V190 tmp183      [V190,T21] (  2,  8   )     int  ->  rdx         "field V113._length (fldOffset=0x8)" P-INDEP
 ;  V191 tmp184      [V191,T19] (  2,  8   )   byref  ->   r8         "field V117._reference (fldOffset=0x0)" P-INDEP
 ;  V192 tmp185      [V192,T22] (  2,  8   )     int  ->   r9         "field V117._length (fldOffset=0x8)" P-INDEP
 ;* V193 cse0        [V193,T64] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #18: moderate"
 ;  V194 cse1        [V194,T26] (  3,  6   )     int  ->  rcx         "CSE #19: moderate"
 ;
 ; Lcl frame size = 136
 
 G_M15535_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 136
        lea      rbp, [rsp+0xB0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x50], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      gword ptr [rbp-0x78], rdi
        mov      r13, rsi
        mov      r14, rdx
        mov      r15d, ecx
        mov      r12, r8
        mov      rbx, r9
 						;; size=60 bbWeight=1 PerfScore 12.58
 G_M15535_IG02:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       G_M15535_IG26
 						;; size=26 bbWeight=1 PerfScore 6.25
 G_M15535_IG03:
        xor      rdi, rdi
        mov      gword ptr [rbp-0x50], rdi
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      esi, 256
        mov      rcx, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
        call     [rcx]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
        mov      gword ptr [rbp-0x48], rax
        test     rax, rax
        jne      SHORT G_M15535_IG04
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M15535_IG05
 						;; size=51 bbWeight=0.50 PerfScore 5.88
 G_M15535_IG04:
        lea      rdi, bword ptr [rax+0x10]
        mov      esi, dword ptr [rax+0x08]
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M15535_IG05:
        mov      bword ptr [rbp-0x38], rdi
        mov      dword ptr [rbp-0x30], esi
        xor      edi, edi
        mov      dword ptr [rbp-0x40], edi
        mov      byte  ptr [rbp-0x3C], 0
        cmp      byte  ptr [rbp-0x3C], 0
        jne      SHORT G_M15535_IG06
        mov      edi, dword ptr [rbp-0x40]
        cmp      edi, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rsi, bword ptr [rbp-0x38]
        mov      eax, edi
        lea      rsi, bword ptr [rsi+2*rax]
        mov      eax, dword ptr [rbp-0x30]
        sub      eax, edi
        cmp      eax, 4
        jb       SHORT G_M15535_IG06
        mov      rdi, 0xD1FFAB1E
        mov      rax, qword ptr [rdi]
        mov      qword ptr [rsi], rax
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 4
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG07
 						;; size=81 bbWeight=0.50 PerfScore 11.50
 G_M15535_IG06:
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'name'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
 						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG07:
        mov      edi, dword ptr [rbp-0x40]
        cmp      edi, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rsi, bword ptr [rbp-0x38]
        mov      eax, edi
        lea      rsi, bword ptr [rsi+2*rax]
        mov      eax, dword ptr [rbp-0x30]
        sub      eax, edi
        je       SHORT G_M15535_IG08
        mov      rdi, 0xD1FFAB1E
        movzx    rax, word  ptr [rdi]
        mov      word  ptr [rsi], ax
        mov      edi, dword ptr [rbp-0x40]
        inc      edi
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG09
 						;; size=55 bbWeight=0.50 PerfScore 7.75
 G_M15535_IG08:
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; '='
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
 						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG09:
        cmp      byte  ptr [rbp-0x3C], 0
        jne      SHORT G_M15535_IG10
        test     r13, r13
        je       SHORT G_M15535_IG10
        mov      esi, dword ptr [rbp-0x40]
        cmp      esi, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rdx, bword ptr [rbp-0x38]
        mov      edi, esi
        lea      rdi, bword ptr [rdx+2*rdi]
        mov      edx, dword ptr [rbp-0x30]
        sub      edx, esi
        cmp      dword ptr [r13+0x08], edx
        ja       SHORT G_M15535_IG10
        lea      rsi, bword ptr [r13+0x0C]
        mov      edx, dword ptr [r13+0x08]
        add      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      edi, dword ptr [rbp-0x40]
        add      edi, dword ptr [r13+0x08]
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG11
 						;; size=79 bbWeight=0.50 PerfScore 14.12
 G_M15535_IG10:
        lea      rdi, [rbp-0x50]
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
 						;; size=19 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG11:
        mov      edi, dword ptr [rbp-0x40]
        cmp      edi, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rsi, bword ptr [rbp-0x38]
        mov      eax, edi
        lea      rsi, bword ptr [rsi+2*rax]
        mov      eax, dword ptr [rbp-0x30]
        sub      eax, edi
        cmp      eax, 2
        jb       SHORT G_M15535_IG12
        mov      rdi, 0xD1FFAB1E
        mov      eax, dword ptr [rdi]
        mov      dword ptr [rsi], eax
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 2
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG13
 						;; size=57 bbWeight=0.50 PerfScore 7.88
 G_M15535_IG12:
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; ', '
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
 						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG13:
        cmp      byte  ptr [rbp-0x3C], 0
        jne      SHORT G_M15535_IG14
        mov      edi, dword ptr [rbp-0x40]
        cmp      edi, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rsi, bword ptr [rbp-0x38]
        mov      eax, edi
        lea      rsi, bword ptr [rsi+2*rax]
        mov      eax, dword ptr [rbp-0x30]
        sub      eax, edi
        cmp      eax, 6
        jb       SHORT G_M15535_IG14
        mov      rdi, 0xD1FFAB1E
        mov      rax, qword ptr [rdi]
        mov      rcx, qword ptr [rdi+0x04]
        mov      qword ptr [rsi], rax
        mov      qword ptr [rsi+0x04], rcx
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 6
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG15
 						;; size=73 bbWeight=0.50 PerfScore 10.88
 G_M15535_IG14:
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'values'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
 						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG15:
        mov      edi, dword ptr [rbp-0x40]
        cmp      edi, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rsi, bword ptr [rbp-0x38]
        mov      eax, edi
        lea      rsi, bword ptr [rsi+2*rax]
        mov      eax, dword ptr [rbp-0x30]
        sub      eax, edi
        je       SHORT G_M15535_IG16
        mov      rdi, 0xD1FFAB1E
        movzx    rax, word  ptr [rdi]
        mov      word  ptr [rsi], ax
        mov      edi, dword ptr [rbp-0x40]
        inc      edi
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG17
 						;; size=55 bbWeight=0.50 PerfScore 7.75
 G_M15535_IG16:
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; '='
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
 						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG17:
        test     r15d, r15d
        jne      SHORT G_M15535_IG18
        mov      rsi, 0xD1FFAB1E      ; const ptr
        mov      rax, gword ptr [rsi]
        jmp      SHORT G_M15535_IG21
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M15535_IG18:
        mov      esi, r15d
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      gword ptr [rbp-0x88], rax
        lea      rdi, bword ptr [rax+0x10]
        mov      edx, r15d
        shl      rdx, 3
        cmp      rdx, 0x4000
        ja       SHORT G_M15535_IG19
        mov      rsi, r14
        call     System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,ulong)
        jmp      SHORT G_M15535_IG20
 						;; size=55 bbWeight=0.50 PerfScore 4.12
 G_M15535_IG19:
        mov      rsi, r14
        mov      rcx, 0xD1FFAB1E      ; code for System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)
        call     [rcx]System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M15535_IG20:
        mov      rax, gword ptr [rbp-0x88]
 						;; size=7 bbWeight=0.50 PerfScore 0.50
 G_M15535_IG21:
-       test     rax, rax
-       je       G_M15535_IG37
        mov      rdi, 0xD1FFAB1E
        lea      rdx, bword ptr [rax+0x10]
        mov      ecx, dword ptr [rax+0x08]
        mov      esi, 2
        mov      rax, 0xD1FFAB1E      ; code for System.String:JoinCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.String]):System.String
        call     [rax]System.String:JoinCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.String]):System.String
        mov      gword ptr [rbp-0x90], rax
        cmp      byte  ptr [rbp-0x3C], 0
        jne      SHORT G_M15535_IG22
        test     rax, rax
        je       SHORT G_M15535_IG22
        mov      edx, dword ptr [rbp-0x40]
        cmp      edx, dword ptr [rbp-0x30]
-       ja       G_M15535_IG38
+       ja       G_M15535_IG37
        mov      rsi, bword ptr [rbp-0x38]
        mov      edi, edx
        lea      rdi, bword ptr [rsi+2*rdi]
        mov      esi, dword ptr [rbp-0x30]
        sub      esi, edx
        cmp      dword ptr [rax+0x08], esi
        ja       SHORT G_M15535_IG22
        mov      edx, dword ptr [rax+0x08]
        add      rdx, rdx
        lea      rsi, bword ptr [rax+0x0C]
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      edi, dword ptr [rbp-0x40]
        mov      rax, gword ptr [rbp-0x90]
        add      edi, dword ptr [rax+0x08]
        mov      dword ptr [rbp-0x40], edi
        jmp      SHORT G_M15535_IG23
-						;; size=133 bbWeight=0.50 PerfScore 18.88
+						;; size=124 bbWeight=0.50 PerfScore 18.25
 G_M15535_IG22:
        lea      rdi, [rbp-0x50]
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
 						;; size=19 bbWeight=0.50 PerfScore 2.00
 G_M15535_IG23:
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      gword ptr [rbp-0x98], rax
        mov      rcx, gword ptr [rbp-0x78]
        mov      rdi, gword ptr [rcx+0x08]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
        mov      gword ptr [rbp-0xA0], rdx
        test     rdi, rdi
        jne      SHORT G_M15535_IG24
        mov      rcx, gword ptr [rbp-0x78]
        xor      esi, esi
        mov      dword ptr [rbp-0x54], esi
        jmp      SHORT G_M15535_IG25
 						;; size=67 bbWeight=0.50 PerfScore 8.25
 G_M15535_IG24:
        mov      rsi, 0xD1FFAB1E
        mov      rsi, qword ptr [rsi]
        call     [rsi+0x18]System.Object:GetHashCode():int:this
        mov      dword ptr [rbp-0x54], eax
        mov      rcx, gword ptr [rbp-0x78]
 						;; size=23 bbWeight=0.50 PerfScore 3.62
 G_M15535_IG25:
        mov      rdi, rcx
        call     System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int
        mov      ecx, eax
        mov      rdi, gword ptr [rbp-0x98]
        mov      gword ptr [rsp], rdi
        mov      rdi, gword ptr [rbp-0xA0]
        mov      edx, dword ptr [rbp-0x54]
        mov      esi, 8
        xor      r8d, r8d
        mov      r9, 0xD1FFAB1E      ; 'WriteLiteralHeader'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
        call     [rax]System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
 						;; size=61 bbWeight=0.50 PerfScore 4.75
 G_M15535_IG26:
        mov      rsi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rsi], 1
        jne      SHORT G_M15535_IG28
        jmp      G_M15535_IG36
 						;; size=20 bbWeight=1.50 PerfScore 9.38
 G_M15535_IG27:
        mov      rsi, gword ptr [rbx]
        mov      esi, dword ptr [rsi+0x08]
        sub      esi, dword ptr [rbx+0x0C]
        inc      esi
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.ArrayBuffer:EnsureAvailableSpaceCore(int):this
        call     [rax]System.Net.ArrayBuffer:EnsureAvailableSpaceCore(int):this
 						;; size=26 bbWeight=2 PerfScore 21.50
 G_M15535_IG28:
        mov      rsi, 0xD1FFAB1E      ; data for System.Net.Http.Headers.HttpHeaderParser:DefaultSeparatorBytes
        mov      rax, gword ptr [rsi]
        mov      gword ptr [rbp-0x80], rax
        mov      rsi, gword ptr [rbx]
        mov      edi, dword ptr [rbx+0x0C]
        test     rsi, rsi
        jne      SHORT G_M15535_IG30
 						;; size=28 bbWeight=8 PerfScore 68.00
 G_M15535_IG29:
        mov      rax, gword ptr [rbp-0x80]
        test     edi, edi
        je       SHORT G_M15535_IG31
-       jmp      G_M15535_IG38
+       jmp      G_M15535_IG37
 						;; size=13 bbWeight=2 PerfScore 8.50
 G_M15535_IG30:
        mov      rax, gword ptr [rbp-0x80]
        mov      ecx, dword ptr [rsi+0x08]
        cmp      ecx, edi
-       jb       G_M15535_IG38
+       jb       G_M15535_IG37
        mov      edx, edi
        lea      rdx, bword ptr [rsi+rdx+0x10]
        sub      ecx, edi
        jmp      SHORT G_M15535_IG32
 						;; size=26 bbWeight=2 PerfScore 15.50
 G_M15535_IG31:
        xor      rdx, rdx
        xor      ecx, ecx
 						;; size=4 bbWeight=2 PerfScore 1.00
 G_M15535_IG32:
        mov      r8, rdx
        mov      bword ptr [rbp-0xA8], r8
        mov      r9d, ecx
        mov      dword ptr [rbp-0x6C], r9d
        cmp      r9d, 3
        jb       SHORT G_M15535_IG27
 						;; size=23 bbWeight=8 PerfScore 30.00
 G_M15535_IG33:
        mov      byte  ptr [r8], 0
        test     r9d, r9d
-       je       G_M15535_IG38
+       je       G_M15535_IG37
        lea      rsi, bword ptr [r8+0x01]
        lea      edx, [r9-0x01]
        lea      rcx, [rbp-0x60]
        mov      rdi, r13
        mov      r10, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeLiteralHeaderName(System.String,System.Span`1[ubyte],byref):ubyte
        call     [r10]System.Net.Http.HPack.HPackEncoder:EncodeLiteralHeaderName(System.String,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       G_M15535_IG27
        mov      rax, gword ptr [rbp-0x80]
        mov      r8, bword ptr [rbp-0xA8]
        mov      r9d, dword ptr [rbp-0x6C]
        mov      edi, dword ptr [rbp-0x60]
        inc      edi
        cmp      edi, r9d
-       ja       SHORT G_M15535_IG38
+       ja       SHORT G_M15535_IG37
        mov      esi, edi
        add      r8, rsi
        sub      r9d, edi
        lea      rdi, [rbp-0x68]
        mov      qword ptr [rsp], rdi
        mov      rdi, r14
        mov      esi, r15d
        mov      rdx, rax
        mov      rcx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       G_M15535_IG27
 						;; size=122 bbWeight=4 PerfScore 87.00
 G_M15535_IG34:
        mov      edi, dword ptr [rbp-0x60]
        mov      eax, dword ptr [rbp-0x68]
        lea      edi, [rdi+rax+0x01]
        add      dword ptr [rbx+0x0C], edi
 						;; size=13 bbWeight=1 PerfScore 6.00
 G_M15535_IG35:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M15535_IG36:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.Headers.HttpHeaderParser
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M15535_IG28
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M15535_IG37:
-       mov      edi, 7
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M15535_IG38:
        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 1437, prolog size 41, PerfScore 395.58, instruction count 359, allocated bytes for code 1437 (MethodHash=091dc350) for method System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this (FullOpts)
+; Total bytes of code 1410, prolog size 41, PerfScore 394.96, instruction count 353, allocated bytes for code 1410 (MethodHash=091dc350) for method System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this (FullOpts)
-25 (-0.84 % of base) - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:PrintMembers(System.Text.StringBuilder):ubyte:this
 ; Assembly listing for method Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:PrintMembers(System.Text.StringBuilder):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; 69 single block inlinees; 100 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] ( 40, 40   )   byref  ->  r15         this single-def
-;  V01 arg1         [V01,T00] ( 97, 68.50)     ref  ->  rbx         class-hnd single-def <System.Text.StringBuilder>
+;  V01 arg1         [V01,T00] ( 97, 71   )     ref  ->  rbx         class-hnd single-def <System.Text.StringBuilder>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Nullable`1[System.TimeSpan]>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[ubyte]>
 ;* V04 loc2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
 ;* V06 loc4         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T67] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V09 tmp2         [V09,T27] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V09 tmp2         [V09,T32] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V10 tmp3         [V10,T08] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V11 tmp4         [V11    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V12 tmp5         [V12,T48] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V12 tmp5         [V12,T53] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V13 tmp6         [V13,T68] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V14 tmp7         [V14,T28] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V14 tmp7         [V14,T33] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V15 tmp8         [V15,T09] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V16 tmp9         [V16    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V17 tmp10        [V17,T49] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V17 tmp10        [V17,T54] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V18 tmp11        [V18,T69] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V19 tmp12        [V19,T29] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V19 tmp12        [V19,T34] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V20 tmp13        [V20,T10] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V21 tmp14        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V22 tmp15        [V22,T50] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V22 tmp15        [V22,T27] (  4,  3   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V23 tmp16        [V23,T90] (  2,  1   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V24 tmp17        [V24,T70] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V25 tmp18        [V25,T30] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V25 tmp18        [V25,T35] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V26 tmp19        [V26,T11] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V27 tmp20        [V27    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V28 tmp21        [V28,T51] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V28 tmp21        [V28,T55] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V29 tmp22        [V29,T71] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V30 tmp23        [V30,T31] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V30 tmp23        [V30,T36] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V31 tmp24        [V31,T12] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V32 tmp25        [V32    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V33 tmp26        [V33,T52] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V33 tmp26        [V33,T28] (  4,  3   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V34 tmp27        [V34,T91] (  2,  1   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V35 tmp28        [V35,T72] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V36 tmp29        [V36,T32] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V36 tmp29        [V36,T37] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V37 tmp30        [V37,T13] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V38 tmp31        [V38    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V39 tmp32        [V39,T53] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V39 tmp32        [V39,T29] (  4,  3   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V40 tmp33        [V40,T92] (  2,  1   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V41 tmp34        [V41,T73] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V42 tmp35        [V42,T33] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V42 tmp35        [V42,T38] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V43 tmp36        [V43,T14] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V44 tmp37        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V45 tmp38        [V45,T54] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V45 tmp38        [V45,T30] (  4,  3   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V46 tmp39        [V46,T93] (  2,  1   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V47 tmp40        [V47,T74] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V48 tmp41        [V48,T34] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V48 tmp41        [V48,T39] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V49 tmp42        [V49,T15] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V50 tmp43        [V50    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V51 tmp44        [V51,T55] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V51 tmp44        [V51,T56] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V52 tmp45        [V52,T75] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V53 tmp46        [V53,T35] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V53 tmp46        [V53,T40] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V54 tmp47        [V54,T16] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V55 tmp48        [V55    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V56 tmp49        [V56,T56] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V56 tmp49        [V56,T57] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V57 tmp50        [V57,T76] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V58 tmp51        [V58,T36] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V58 tmp51        [V58,T41] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V59 tmp52        [V59,T17] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V60 tmp53        [V60    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V61 tmp54        [V61,T57] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V61 tmp54        [V61,T58] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V62 tmp55        [V62,T77] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V63 tmp56        [V63,T37] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V63 tmp56        [V63,T42] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V64 tmp57        [V64,T18] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V65 tmp58        [V65    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V66 tmp59        [V66,T58] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V66 tmp59        [V66,T59] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V67 tmp60        [V67,T78] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V68 tmp61        [V68,T38] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V68 tmp61        [V68,T43] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V69 tmp62        [V69,T19] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V70 tmp63        [V70    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V71 tmp64        [V71,T59] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V71 tmp64        [V71,T60] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V72 tmp65        [V72,T79] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V73 tmp66        [V73,T39] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V73 tmp66        [V73,T44] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V74 tmp67        [V74,T20] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V75 tmp68        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V76 tmp69        [V76,T60] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
+;  V76 tmp69        [V76,T31] (  4,  3   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V77 tmp70        [V77,T94] (  2,  1   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V78 tmp71        [V78,T80] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V79 tmp72        [V79,T40] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V79 tmp72        [V79,T45] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V80 tmp73        [V80,T21] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V81 tmp74        [V81    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;  V82 tmp75        [V82,T61] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
-;  V83 tmp76        [V83,T46] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Net.DecompressionMethods>
+;  V83 tmp76        [V83,T51] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Net.DecompressionMethods>
 ;  V84 tmp77        [V84,T81] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V85 tmp78        [V85,T41] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V85 tmp78        [V85,T46] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V86 tmp79        [V86,T22] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V87 tmp80        [V87    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;  V88 tmp81        [V88,T62] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V89 tmp82        [V89,T82] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V90 tmp83        [V90,T42] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V90 tmp83        [V90,T47] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V91 tmp84        [V91,T23] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V92 tmp85        [V92    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;  V93 tmp86        [V93,T63] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V94 tmp87        [V94,T83] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V95 tmp88        [V95,T43] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V95 tmp88        [V95,T48] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V96 tmp89        [V96,T24] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V97 tmp90        [V97    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;  V98 tmp91        [V98,T64] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V99 tmp92        [V99,T84] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V100 tmp93       [V100,T44] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V100 tmp93       [V100,T49] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V101 tmp94       [V101,T25] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V102 tmp95       [V102    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;  V103 tmp96       [V103,T65] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
 ;  V104 tmp97       [V104,T85] (  3,  2.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V105 tmp98       [V105,T45] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V105 tmp98       [V105,T50] (  4,  3   )     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V106 tmp99       [V106,T26] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V107 tmp100      [V107    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;  V108 tmp101      [V108,T66] (  5,  2.50)     ref  ->  rsi         class-hnd "Inline return value spill temp" <System.String>
-;  V109 tmp102      [V109,T47] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Net.Http.HttpKeepAlivePingPolicy>
+;  V109 tmp102      [V109,T52] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Net.Http.HttpKeepAlivePingPolicy>
 ;  V110 tmp103      [V110,T02] ( 14, 14   )   ubyte  ->  r14         "field V02.hasValue (fldOffset=0x0)" P-INDEP
 ;  V111 tmp104      [V111,T03] ( 14, 10.50)    long  ->  rdi         "field V02.value (fldOffset=0x8)" P-INDEP
 ;  V112 tmp105      [V112,T04] ( 10, 10   )   ubyte  ->  r13         "field V03.hasValue (fldOffset=0x0)" P-INDEP
 ;  V113 tmp106      [V113,T06] ( 10,  7.50)   ubyte  ->  r12         "field V03.value (fldOffset=0x1)" P-INDEP
 ;  V114 tmp107      [V114,T05] ( 10, 10   )   ubyte  ->  r13         "field V04.hasValue (fldOffset=0x0)" P-INDEP
 ;  V115 tmp108      [V115,T07] ( 10,  7.50)     int  ->  rdi         "field V04.value (fldOffset=0x4)" P-INDEP
 ;  V116 tmp109      [V116,T86] (  2,  2   )   ubyte  ->  rdi         single-def "field V05.hasValue (fldOffset=0x0)" P-INDEP
 ;  V117 tmp110      [V117,T88] (  2,  1.50)     int  ->  r14         single-def "field V05.value (fldOffset=0x4)" P-INDEP
 ;  V118 tmp111      [V118,T87] (  2,  2   )   ubyte  ->  rdi         single-def "field V06.hasValue (fldOffset=0x0)" P-INDEP
 ;  V119 tmp112      [V119,T89] (  2,  1.50)     int  ->  r15         single-def "field V06.value (fldOffset=0x4)" P-INDEP
 ;
 ; Lcl frame size = 8
 
 G_M19038_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      r15, rdi
        mov      rbx, rsi
 						;; size=22 bbWeight=1 PerfScore 8.00
 G_M19038_IG02:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1E]
        cmp      dword ptr [rdi+0x08], eax
        jb       SHORT G_M19038_IG04
 						;; size=25 bbWeight=1 PerfScore 8.75
 G_M19038_IG03:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x1C]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x1C], ymm1
        add      edx, 30
        mov      dword ptr [rbx+0x18], edx
        jmp      SHORT G_M19038_IG05
 						;; size=34 bbWeight=0.50 PerfScore 9.25
 G_M19038_IG04:
        mov      rdi, rbx
        mov      edx, 30
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
 G_M19038_IG05:
        movzx    r14, byte  ptr [r15]
        mov      rdi, qword ptr [r15+0x08]
        test     r14d, r14d
        jne      SHORT G_M19038_IG10
 						;; size=13 bbWeight=1 PerfScore 5.25
 G_M19038_IG06:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M19038_IG07:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M19038_IG08:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1D]
        cmp      dword ptr [rdi+0x08], eax
        jb       SHORT G_M19038_IG11
 						;; size=25 bbWeight=1 PerfScore 8.75
 G_M19038_IG09:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x1A]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x1A], ymm1
        add      edx, 29
        mov      dword ptr [rbx+0x18], edx
        jmp      SHORT G_M19038_IG12
 						;; size=34 bbWeight=0.50 PerfScore 9.25
 G_M19038_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
        je       SHORT G_M19038_IG08
        jmp      SHORT G_M19038_IG07
 						;; size=22 bbWeight=0.50 PerfScore 3.38
 G_M19038_IG11:
        mov      rdi, rbx
        mov      edx, 29
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
 G_M19038_IG12:
        movzx    r14, byte  ptr [r15+0x10]
        mov      rdi, qword ptr [r15+0x18]
        test     r14d, r14d
        jne      SHORT G_M19038_IG17
 						;; size=14 bbWeight=1 PerfScore 5.25
 G_M19038_IG13:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M19038_IG14:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M19038_IG15:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x14]
        cmp      dword ptr [rdi+0x08], eax
        jb       SHORT G_M19038_IG18
 						;; size=25 bbWeight=1 PerfScore 8.75
 G_M19038_IG16:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x18]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  xmmword ptr [rdi+0x18], xmm1
        add      edx, 20
        mov      dword ptr [rbx+0x18], edx
        jmp      SHORT G_M19038_IG19
 						;; size=34 bbWeight=0.50 PerfScore 8.75
 G_M19038_IG17:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
        je       SHORT G_M19038_IG15
        jmp      SHORT G_M19038_IG14
 						;; size=22 bbWeight=0.50 PerfScore 3.38
 G_M19038_IG18:
        mov      rdi, rbx
        mov      edx, 20
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
 G_M19038_IG19:
        movzx    r13, byte  ptr [r15+0x20]
        movzx    r12, byte  ptr [r15+0x21]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG24
+       jne      SHORT G_M19038_IG21
 						;; size=15 bbWeight=1 PerfScore 5.25
 G_M19038_IG20:
        mov      rsi, 0xD1FFAB1E      ; ''
-						;; size=10 bbWeight=0.50 PerfScore 0.12
+       jmp      SHORT G_M19038_IG22
+						;; size=12 bbWeight=0.50 PerfScore 1.12
 G_M19038_IG21:
+       mov      rsi, 0xD1FFAB1E      ; 'True'
+       mov      rdx, 0xD1FFAB1E      ; 'False'
+       test     r12d, r12d
+       cmove    rsi, rdx
+						;; size=27 bbWeight=0.50 PerfScore 0.50
+G_M19038_IG22:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
-						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG22:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x19]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG25
-						;; size=25 bbWeight=1 PerfScore 8.75
+       jb       SHORT G_M19038_IG24
+						;; size=47 bbWeight=1 PerfScore 14.50
 G_M19038_IG23:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x12]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x12], ymm1
        add      edx, 25
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG26
+       jmp      SHORT G_M19038_IG25
 						;; size=34 bbWeight=0.50 PerfScore 9.25
 G_M19038_IG24:
-       mov      rsi, 0xD1FFAB1E      ; 'True'
-       mov      rdx, 0xD1FFAB1E      ; 'False'
-       test     r12d, r12d
-       cmove    rsi, rdx
-       test     rsi, rsi
-       je       SHORT G_M19038_IG22
-       jmp      SHORT G_M19038_IG21
-						;; size=34 bbWeight=0.50 PerfScore 2.12
-G_M19038_IG25:
        mov      rdi, rbx
        mov      edx, 25
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG26:
+G_M19038_IG25:
        movzx    r14, byte  ptr [r15+0x28]
        mov      rdi, qword ptr [r15+0x30]
        test     r14d, r14d
-       jne      SHORT G_M19038_IG31
+       jne      SHORT G_M19038_IG30
 						;; size=14 bbWeight=1 PerfScore 5.25
-G_M19038_IG27:
+G_M19038_IG26:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG28:
+G_M19038_IG27:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG29:
+G_M19038_IG28:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x0F]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG32
+       jb       SHORT G_M19038_IG31
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG30:
+G_M19038_IG29:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  xmm0, xmmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x0E]
        vmovdqu  xmmword ptr [rdi], xmm0
        vmovdqu  xmmword ptr [rdi+0x0E], xmm1
        add      edx, 15
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG33
+       jmp      SHORT G_M19038_IG32
 						;; size=34 bbWeight=0.50 PerfScore 8.25
-G_M19038_IG31:
+G_M19038_IG30:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG29
-       jmp      SHORT G_M19038_IG28
+       je       SHORT G_M19038_IG28
+       jmp      SHORT G_M19038_IG27
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG32:
+G_M19038_IG31:
        mov      rdi, rbx
        mov      edx, 15
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG33:
+G_M19038_IG32:
        movzx    r13, byte  ptr [r15+0x38]
        movzx    r12, byte  ptr [r15+0x39]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG38
+       jne      SHORT G_M19038_IG34
 						;; size=15 bbWeight=1 PerfScore 5.25
-G_M19038_IG34:
+G_M19038_IG33:
        mov      rsi, 0xD1FFAB1E      ; ''
-						;; size=10 bbWeight=0.50 PerfScore 0.12
+       jmp      SHORT G_M19038_IG35
+						;; size=12 bbWeight=0.50 PerfScore 1.12
+G_M19038_IG34:
+       mov      rsi, 0xD1FFAB1E      ; 'True'
+       mov      rdx, 0xD1FFAB1E      ; 'False'
+       test     r12d, r12d
+       cmove    rsi, rdx
+						;; size=27 bbWeight=0.50 PerfScore 0.50
 G_M19038_IG35:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
-						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG36:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x0D]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG39
-						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG37:
+       jb       SHORT G_M19038_IG37
+						;; size=47 bbWeight=1 PerfScore 14.50
+G_M19038_IG36:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  xmm0, xmmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x0A]
        vmovdqu  xmmword ptr [rdi], xmm0
        vmovdqu  xmmword ptr [rdi+0x0A], xmm1
        add      edx, 13
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG40
+       jmp      SHORT G_M19038_IG38
 						;; size=34 bbWeight=0.50 PerfScore 8.25
-G_M19038_IG38:
-       mov      rsi, 0xD1FFAB1E      ; 'True'
-       mov      rdx, 0xD1FFAB1E      ; 'False'
-       test     r12d, r12d
-       cmove    rsi, rdx
-       test     rsi, rsi
-       je       SHORT G_M19038_IG36
-       jmp      SHORT G_M19038_IG35
-						;; size=34 bbWeight=0.50 PerfScore 2.12
-G_M19038_IG39:
+G_M19038_IG37:
        mov      rdi, rbx
        mov      edx, 13
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG40:
+G_M19038_IG38:
        movzx    r13, byte  ptr [r15+0x3A]
        movzx    r12, byte  ptr [r15+0x3B]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG45
+       jne      SHORT G_M19038_IG40
 						;; size=15 bbWeight=1 PerfScore 5.25
-G_M19038_IG41:
+G_M19038_IG39:
        mov      rsi, 0xD1FFAB1E      ; ''
-						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG42:
+       jmp      SHORT G_M19038_IG41
+						;; size=12 bbWeight=0.50 PerfScore 1.12
+G_M19038_IG40:
+       mov      rsi, 0xD1FFAB1E      ; 'True'
+       mov      rdx, 0xD1FFAB1E      ; 'False'
+       test     r12d, r12d
+       cmove    rsi, rdx
+						;; size=27 bbWeight=0.50 PerfScore 0.50
+G_M19038_IG41:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
-						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG43:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x23]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG46
-						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG44:
+       jb       SHORT G_M19038_IG43
+						;; size=47 bbWeight=1 PerfScore 14.50
+G_M19038_IG42:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu32 zmm0, zmmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x36]
        vmovdqu32 zmmword ptr [rdi], zmm0
        vmovdqu  xmmword ptr [rdi+0x36], xmm1
        add      edx, 35
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG47
+       jmp      SHORT G_M19038_IG44
 						;; size=38 bbWeight=0.50 PerfScore 8.25
-G_M19038_IG45:
-       mov      rsi, 0xD1FFAB1E      ; 'True'
-       mov      rdx, 0xD1FFAB1E      ; 'False'
-       test     r12d, r12d
-       cmove    rsi, rdx
-       test     rsi, rsi
-       je       SHORT G_M19038_IG43
-       jmp      SHORT G_M19038_IG42
-						;; size=34 bbWeight=0.50 PerfScore 2.12
-G_M19038_IG46:
+G_M19038_IG43:
        mov      rdi, rbx
        mov      edx, 35
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG47:
+G_M19038_IG44:
        movzx    r13, byte  ptr [r15+0x3C]
        movzx    r12, byte  ptr [r15+0x3D]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG52
+       jne      SHORT G_M19038_IG46
 						;; size=15 bbWeight=1 PerfScore 5.25
-G_M19038_IG48:
+G_M19038_IG45:
        mov      rsi, 0xD1FFAB1E      ; ''
-						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG49:
+       jmp      SHORT G_M19038_IG47
+						;; size=12 bbWeight=0.50 PerfScore 1.12
+G_M19038_IG46:
+       mov      rsi, 0xD1FFAB1E      ; 'True'
+       mov      rdx, 0xD1FFAB1E      ; 'False'
+       test     r12d, r12d
+       cmove    rsi, rdx
+						;; size=27 bbWeight=0.50 PerfScore 0.50
+G_M19038_IG47:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
-						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG50:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1D]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG53
-						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG51:
+       jb       SHORT G_M19038_IG49
+						;; size=47 bbWeight=1 PerfScore 14.50
+G_M19038_IG48:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x1A]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x1A], ymm1
        add      edx, 29
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG54
+       jmp      SHORT G_M19038_IG50
 						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG52:
-       mov      rsi, 0xD1FFAB1E      ; 'True'
-       mov      rdx, 0xD1FFAB1E      ; 'False'
-       test     r12d, r12d
-       cmove    rsi, rdx
-       test     rsi, rsi
-       je       SHORT G_M19038_IG50
-       jmp      SHORT G_M19038_IG49
-						;; size=34 bbWeight=0.50 PerfScore 2.12
-G_M19038_IG53:
+G_M19038_IG49:
        mov      rdi, rbx
        mov      edx, 29
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG54:
+G_M19038_IG50:
        movzx    r13, byte  ptr [r15+0x40]
        mov      edi, dword ptr [r15+0x44]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG59
+       jne      SHORT G_M19038_IG55
 						;; size=14 bbWeight=1 PerfScore 5.25
-G_M19038_IG55:
+G_M19038_IG51:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG56:
+G_M19038_IG52:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG57:
+G_M19038_IG53:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x19]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG60
+       jb       SHORT G_M19038_IG56
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG58:
+G_M19038_IG54:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x12]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x12], ymm1
        add      edx, 25
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG61
+       jmp      SHORT G_M19038_IG57
 						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG59:
+G_M19038_IG55:
        mov      rax, 0xD1FFAB1E      ; code for System.Number:Int32ToDecStr(int):System.String
        call     [rax]System.Number:Int32ToDecStr(int):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG57
-       jmp      SHORT G_M19038_IG56
+       je       SHORT G_M19038_IG53
+       jmp      SHORT G_M19038_IG52
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG60:
+G_M19038_IG56:
        mov      rdi, rbx
        mov      edx, 25
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG61:
+G_M19038_IG57:
        movzx    r13, byte  ptr [r15+0x48]
        mov      edi, dword ptr [r15+0x4C]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG66
+       jne      SHORT G_M19038_IG62
 						;; size=14 bbWeight=1 PerfScore 5.25
-G_M19038_IG62:
+G_M19038_IG58:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG63:
+G_M19038_IG59:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG64:
+G_M19038_IG60:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1C]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG67
+       jb       SHORT G_M19038_IG63
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG65:
+G_M19038_IG61:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x18]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x18], ymm1
        add      edx, 28
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG68
+       jmp      SHORT G_M19038_IG64
 						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG66:
+G_M19038_IG62:
        mov      rax, 0xD1FFAB1E      ; code for System.Number:Int32ToDecStr(int):System.String
        call     [rax]System.Number:Int32ToDecStr(int):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG64
-       jmp      SHORT G_M19038_IG63
+       je       SHORT G_M19038_IG60
+       jmp      SHORT G_M19038_IG59
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG67:
+G_M19038_IG63:
        mov      rdi, rbx
        mov      edx, 28
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG68:
+G_M19038_IG64:
        movzx    r13, byte  ptr [r15+0x50]
        mov      edi, dword ptr [r15+0x54]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG73
+       jne      SHORT G_M19038_IG69
 						;; size=14 bbWeight=1 PerfScore 5.25
-G_M19038_IG69:
+G_M19038_IG65:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG70:
+G_M19038_IG66:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG71:
+G_M19038_IG67:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1D]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG74
+       jb       SHORT G_M19038_IG70
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG72:
+G_M19038_IG68:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x1A]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x1A], ymm1
        add      edx, 29
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG75
+       jmp      SHORT G_M19038_IG71
 						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG73:
+G_M19038_IG69:
        mov      rax, 0xD1FFAB1E      ; code for System.Number:Int32ToDecStr(int):System.String
        call     [rax]System.Number:Int32ToDecStr(int):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG71
-       jmp      SHORT G_M19038_IG70
+       je       SHORT G_M19038_IG67
+       jmp      SHORT G_M19038_IG66
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG74:
+G_M19038_IG70:
        mov      rdi, rbx
        mov      edx, 29
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG75:
+G_M19038_IG71:
        movzx    r13, byte  ptr [r15+0x58]
        mov      edi, dword ptr [r15+0x5C]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG80
+       jne      SHORT G_M19038_IG76
 						;; size=14 bbWeight=1 PerfScore 5.25
-G_M19038_IG76:
+G_M19038_IG72:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG77:
+G_M19038_IG73:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG78:
+G_M19038_IG74:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x21]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG81
+       jb       SHORT G_M19038_IG77
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG79:
+G_M19038_IG75:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu32 zmm0, zmmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x32]
        vmovdqu32 zmmword ptr [rdi], zmm0
        vmovdqu  xmmword ptr [rdi+0x32], xmm1
        add      edx, 33
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG82
+       jmp      SHORT G_M19038_IG78
 						;; size=38 bbWeight=0.50 PerfScore 8.25
-G_M19038_IG80:
+G_M19038_IG76:
        mov      rax, 0xD1FFAB1E      ; code for System.Number:Int32ToDecStr(int):System.String
        call     [rax]System.Number:Int32ToDecStr(int):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG78
-       jmp      SHORT G_M19038_IG77
+       je       SHORT G_M19038_IG74
+       jmp      SHORT G_M19038_IG73
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG81:
+G_M19038_IG77:
        mov      rdi, rbx
        mov      edx, 33
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG82:
+G_M19038_IG78:
        movzx    r13, byte  ptr [r15+0x60]
        mov      edi, dword ptr [r15+0x64]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG87
+       jne      SHORT G_M19038_IG83
 						;; size=14 bbWeight=1 PerfScore 5.25
-G_M19038_IG83:
+G_M19038_IG79:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG84:
+G_M19038_IG80:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG85:
+G_M19038_IG81:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x16]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG88
+       jb       SHORT G_M19038_IG84
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG86:
+G_M19038_IG82:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x1C]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  xmmword ptr [rdi+0x1C], xmm1
        add      edx, 22
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG89
+       jmp      SHORT G_M19038_IG85
 						;; size=34 bbWeight=0.50 PerfScore 8.75
-G_M19038_IG87:
+G_M19038_IG83:
        mov      rax, 0xD1FFAB1E      ; code for System.Number:Int32ToDecStr(int):System.String
        call     [rax]System.Number:Int32ToDecStr(int):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG85
-       jmp      SHORT G_M19038_IG84
+       je       SHORT G_M19038_IG81
+       jmp      SHORT G_M19038_IG80
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG88:
+G_M19038_IG84:
        mov      rdi, rbx
        mov      edx, 22
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG89:
+G_M19038_IG85:
        movzx    r13, byte  ptr [r15+0x68]
        movzx    r12, byte  ptr [r15+0x69]
        test     r13d, r13d
-       jne      SHORT G_M19038_IG94
+       jne      SHORT G_M19038_IG87
 						;; size=15 bbWeight=1 PerfScore 5.25
-G_M19038_IG90:
+G_M19038_IG86:
        mov      rsi, 0xD1FFAB1E      ; ''
-						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG91:
+       jmp      SHORT G_M19038_IG88
+						;; size=12 bbWeight=0.50 PerfScore 1.12
+G_M19038_IG87:
+       mov      rsi, 0xD1FFAB1E      ; 'True'
+       mov      rdx, 0xD1FFAB1E      ; 'False'
+       test     r12d, r12d
+       cmove    rsi, rdx
+						;; size=27 bbWeight=0.50 PerfScore 0.50
+G_M19038_IG88:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
-						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG92:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1B]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG95
-						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG93:
+       jb       SHORT G_M19038_IG90
+						;; size=47 bbWeight=1 PerfScore 14.50
+G_M19038_IG89:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x16]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x16], ymm1
        add      edx, 27
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG96
-						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG94:
-       mov      rsi, 0xD1FFAB1E      ; 'True'
-       mov      rdx, 0xD1FFAB1E      ; 'False'
-       test     r12d, r12d
-       cmove    rsi, rdx
-       test     rsi, rsi
-       je       SHORT G_M19038_IG92
        jmp      SHORT G_M19038_IG91
-						;; size=34 bbWeight=0.50 PerfScore 2.12
-G_M19038_IG95:
+						;; size=34 bbWeight=0.50 PerfScore 9.25
+G_M19038_IG90:
        mov      rdi, rbx
        mov      edx, 27
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG96:
+G_M19038_IG91:
        movzx    rdi, byte  ptr [r15+0x6C]
        mov      r14d, dword ptr [r15+0x70]
        test     edi, edi
-       jne      SHORT G_M19038_IG101
+       jne      SHORT G_M19038_IG96
 						;; size=13 bbWeight=1 PerfScore 5.25
-G_M19038_IG97:
+G_M19038_IG92:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG98:
+G_M19038_IG93:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG99:
+G_M19038_IG94:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x13]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG102
+       jb       SHORT G_M19038_IG97
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG100:
+G_M19038_IG95:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x16]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  xmmword ptr [rdi+0x16], xmm1
        add      edx, 19
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG103
+       jmp      SHORT G_M19038_IG98
 						;; size=34 bbWeight=0.50 PerfScore 8.75
-G_M19038_IG101:
+G_M19038_IG96:
        mov      rdi, 0xD1FFAB1E      ; System.Net.DecompressionMethods
        call     CORINFO_HELP_NEWSFAST
        mov      dword ptr [rax+0x08], r14d
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Enum:ToString():System.String:this
        call     [rax]System.Enum:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG99
-       jmp      SHORT G_M19038_IG98
+       je       SHORT G_M19038_IG94
+       jmp      SHORT G_M19038_IG93
 						;; size=44 bbWeight=0.50 PerfScore 4.62
-G_M19038_IG102:
+G_M19038_IG97:
        mov      rdi, rbx
        mov      edx, 19
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG103:
+G_M19038_IG98:
        movzx    r14, byte  ptr [r15+0x78]
        mov      rdi, qword ptr [r15+0x80]
        test     r14d, r14d
-       jne      SHORT G_M19038_IG108
+       jne      SHORT G_M19038_IG103
 						;; size=17 bbWeight=1 PerfScore 5.25
-G_M19038_IG104:
+G_M19038_IG99:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG105:
+G_M19038_IG100:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG106:
+G_M19038_IG101:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x1D]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG109
+       jb       SHORT G_M19038_IG104
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG107:
+G_M19038_IG102:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x1A]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x1A], ymm1
        add      edx, 29
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG110
+       jmp      SHORT G_M19038_IG105
 						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG108:
+G_M19038_IG103:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG106
-       jmp      SHORT G_M19038_IG105
+       je       SHORT G_M19038_IG101
+       jmp      SHORT G_M19038_IG100
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG109:
+G_M19038_IG104:
        mov      rdi, rbx
        mov      edx, 29
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG110:
+G_M19038_IG105:
        movzx    r14, byte  ptr [r15+0x88]
        mov      rdi, qword ptr [r15+0x90]
        test     r14d, r14d
-       jne      SHORT G_M19038_IG115
+       jne      SHORT G_M19038_IG110
 						;; size=20 bbWeight=1 PerfScore 5.25
-G_M19038_IG111:
+G_M19038_IG106:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG112:
+G_M19038_IG107:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG113:
+G_M19038_IG108:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x17]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG116
+       jb       SHORT G_M19038_IG111
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG114:
+G_M19038_IG109:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x1E]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  xmmword ptr [rdi+0x1E], xmm1
        add      edx, 23
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG117
+       jmp      SHORT G_M19038_IG112
 						;; size=34 bbWeight=0.50 PerfScore 8.75
-G_M19038_IG115:
+G_M19038_IG110:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG113
-       jmp      SHORT G_M19038_IG112
+       je       SHORT G_M19038_IG108
+       jmp      SHORT G_M19038_IG107
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG116:
+G_M19038_IG111:
        mov      rdi, rbx
        mov      edx, 23
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG117:
+G_M19038_IG112:
        movzx    r14, byte  ptr [r15+0x98]
        mov      rdi, qword ptr [r15+0xA0]
        test     r14d, r14d
-       jne      SHORT G_M19038_IG122
+       jne      SHORT G_M19038_IG117
 						;; size=20 bbWeight=1 PerfScore 5.25
-G_M19038_IG118:
+G_M19038_IG113:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG119:
+G_M19038_IG114:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG120:
+G_M19038_IG115:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x19]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG123
+       jb       SHORT G_M19038_IG118
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG121:
+G_M19038_IG116:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  ymm1, ymmword ptr [rsi+0x12]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  ymmword ptr [rdi+0x12], ymm1
        add      edx, 25
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG124
+       jmp      SHORT G_M19038_IG119
 						;; size=34 bbWeight=0.50 PerfScore 9.25
-G_M19038_IG122:
+G_M19038_IG117:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG120
-       jmp      SHORT G_M19038_IG119
+       je       SHORT G_M19038_IG115
+       jmp      SHORT G_M19038_IG114
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG123:
+G_M19038_IG118:
        mov      rdi, rbx
        mov      edx, 25
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG124:
+G_M19038_IG119:
        movzx    r14, byte  ptr [r15+0xA8]
        mov      rdi, qword ptr [r15+0xB0]
        test     r14d, r14d
-       jne      SHORT G_M19038_IG129
+       jne      SHORT G_M19038_IG124
 						;; size=20 bbWeight=1 PerfScore 5.25
-G_M19038_IG125:
+G_M19038_IG120:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG126:
+G_M19038_IG121:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG127:
+G_M19038_IG122:
        mov      rsi, 0xD1FFAB1E
        mov      rdi, gword ptr [rbx+0x08]
        mov      edx, dword ptr [rbx+0x18]
        lea      eax, [rdx+0x18]
        cmp      dword ptr [rdi+0x08], eax
-       jb       SHORT G_M19038_IG130
+       jb       SHORT G_M19038_IG125
 						;; size=25 bbWeight=1 PerfScore 8.75
-G_M19038_IG128:
+G_M19038_IG123:
        movsxd   rax, edx
        lea      rdi, bword ptr [rdi+2*rax+0x10]
        vmovdqu  ymm0, ymmword ptr [rsi]
        vmovdqu  xmm1, xmmword ptr [rsi+0x20]
        vmovdqu  ymmword ptr [rdi], ymm0
        vmovdqu  xmmword ptr [rdi+0x20], xmm1
        add      edx, 24
        mov      dword ptr [rbx+0x18], edx
-       jmp      SHORT G_M19038_IG131
+       jmp      SHORT G_M19038_IG126
 						;; size=34 bbWeight=0.50 PerfScore 8.75
-G_M19038_IG129:
+G_M19038_IG124:
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        call     [rax]System.Globalization.TimeSpanFormat:FormatC(System.TimeSpan):System.String
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG127
-       jmp      SHORT G_M19038_IG126
+       je       SHORT G_M19038_IG122
+       jmp      SHORT G_M19038_IG121
 						;; size=22 bbWeight=0.50 PerfScore 3.38
-G_M19038_IG130:
+G_M19038_IG125:
        mov      rdi, rbx
        mov      edx, 24
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
 						;; size=20 bbWeight=0.50 PerfScore 1.88
-G_M19038_IG131:
+G_M19038_IG126:
        movzx    rdi, byte  ptr [r15+0xB8]
        mov      r15d, dword ptr [r15+0xBC]
        test     edi, edi
-       jne      SHORT G_M19038_IG136
+       jne      SHORT G_M19038_IG131
 						;; size=19 bbWeight=1 PerfScore 5.25
-G_M19038_IG132:
+G_M19038_IG127:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M19038_IG133:
+G_M19038_IG128:
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=22 bbWeight=0.50 PerfScore 2.88
-G_M19038_IG134:
+G_M19038_IG129:
        mov      eax, 1
 						;; size=5 bbWeight=1 PerfScore 0.25
-G_M19038_IG135:
+G_M19038_IG130:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M19038_IG136:
+G_M19038_IG131:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HttpKeepAlivePingPolicy
        call     CORINFO_HELP_NEWSFAST
        mov      dword ptr [rax+0x08], r15d
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Enum:ToString():System.String:this
        call     [rax]System.Enum:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
-       je       SHORT G_M19038_IG134
-       jmp      SHORT G_M19038_IG133
+       je       SHORT G_M19038_IG129
+       jmp      SHORT G_M19038_IG128
 						;; size=44 bbWeight=0.50 PerfScore 4.62
 
-; Total bytes of code 2976, prolog size 16, PerfScore 600.75, instruction count 697, allocated bytes for code 2976 (MethodHash=060db5a1) for method Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:PrintMembers(System.Text.StringBuilder):ubyte:this (FullOpts)
+; Total bytes of code 2951, prolog size 16, PerfScore 612.00, instruction count 687, allocated bytes for code 2951 (MethodHash=060db5a1) for method Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:PrintMembers(System.Text.StringBuilder):ubyte:this (FullOpts)
-25 (-0.96 % of base) - System.Security.Cryptography.X509Certificates.CertificateRequest:VerifyX509Signature(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn):ubyte
 ; Assembly listing for method System.Security.Cryptography.X509Certificates.CertificateRequest:VerifyX509Signature(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn):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; 40 single block inlinees; 7 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 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
 ;  V02 arg2         [V02,T10] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.X509Certificates.PublicKey>
 ;  V03 arg3         [V03,T08] (  7,  7   )  struct (32) [rbp+0x10]  do-not-enreg[SF] ld-addr-op single-def <System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn>
 ;  V04 loc0         [V04,T02] ( 15, 10   )     ref  ->  [rbp-0x98]  class-hnd EH-live spill-single-def <System.Security.Cryptography.RSA>
 ;  V05 loc1         [V05,T05] ( 12,  7   )     ref  ->  [rbp-0xA0]  class-hnd EH-live spill-single-def <System.Security.Cryptography.ECDsa>
 ;* V06 loc2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Security.Cryptography.HashAlgorithmName>
 ;  V07 loc3         [V07    ] (  3,  3   )  struct (72) [rbp-0x70]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Security.Cryptography.Asn1.PssParamsAsn>
 ;  V08 loc4         [V08,T42] (  2,  2   )     ref  ->  rbx         class-hnd exact single-def <System.Security.Cryptography.RSASignaturePadding>
-;  V09 loc5         [V09,T04] ( 11,  9   )   ubyte  ->  [rbp-0x74]  do-not-enreg[Z] EH-live
+;  V09 loc5         [V09,T03] ( 11,  9   )   ubyte  ->  [rbp-0x74]  do-not-enreg[Z] EH-live
 ;* V10 loc6         [V10    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
 ;* V11 loc7         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V12 loc8         [V12    ] (  0,  0   )     int  ->  zero-ref   
 ;* V13 loc9         [V13    ] (  0,  0   )  ushort  ->  zero-ref   
 ;  V14 OutArgs      [V14    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V15 tmp1         [V15,T71] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
 ;* V16 tmp2         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;* V17 tmp3         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Security.Cryptography.CryptographicException>
 ;* V18 tmp4         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Formats.Asn1.AsnContentException>
 ;* V19 tmp5         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V20 tmp6         [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V21 tmp7         [V21,T38] (  2,  2.50)     int  ->  rsi         "spilling unroll qmark"
 ;* V22 tmp8         [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V23 tmp9         [V23,T29] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V24 tmp10        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V25 tmp11        [V25,T30] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V26 tmp12        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V27 tmp13        [V27,T31] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V28 tmp14        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V29 tmp15        [V29,T32] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V30 tmp16        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V31 tmp17        [V31,T33] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V32 tmp18        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V33 tmp19        [V33,T34] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V34 tmp20        [V34    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V35 tmp21        [V35,T35] (  2,  4   )     int  ->  rcx         "spilling unroll qmark"
 ;* V36 tmp22        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V37 tmp23        [V37,T36] (  2,  4   )     int  ->  rcx         "spilling unroll qmark"
 ;* V38 tmp24        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V39 tmp25        [V39    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V40 tmp26        [V40    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V41 tmp27        [V41    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Security.Cryptography.HashAlgorithmName>
 ;* V42 tmp28        [V42,T44] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V43 tmp29        [V43    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Nullable`1[System.ReadOnlyMemory`1[ubyte]]>
 ;* V44 tmp30        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V45 tmp31        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V46 tmp32        [V46    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V47 tmp33        [V47,T06] (  7,  7   )   byref  ->   r8         "Inline stloc first use temp"
 ;  V48 tmp34        [V48,T09] (  6,  6   )     int  ->  rsi         "Inline stloc first use temp"
 ;* V49 tmp35        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V50 tmp36        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V51 tmp37        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
 ;* V52 tmp38        [V52    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
 ;* V53 tmp39        [V53    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
 ;  V54 tmp40        [V54,T39] (  3,  3   )    long  ->  rdx         "Inline stloc first use temp"
 ;* V55 tmp41        [V55    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V56 tmp42        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <ubyte[]>
 ;* V57 tmp43        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V58 tmp44        [V58,T37] (  2,  4   )   byref  ->   r8         single-def "Inlining Arg"
 ;* V59 tmp45        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V60 tmp46        [V60    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V61 tmp47        [V61,T20] (  2,  4   )     int  ->   r9         "spilling unroll qmark"
 ;* V62 tmp48        [V62    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V63 tmp49        [V63,T21] (  2,  4   )     int  ->   r9         "spilling unroll qmark"
 ;* V64 tmp50        [V64    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V65 tmp51        [V65,T22] (  2,  4   )     int  ->   r9         "spilling unroll qmark"
 ;* V66 tmp52        [V66    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V67 tmp53        [V67,T23] (  2,  4   )     int  ->  rsi         "spilling unroll qmark"
 ;* V68 tmp54        [V68    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V69 tmp55        [V69,T24] (  2,  4   )     int  ->  rdx         "spilling unroll qmark"
 ;* V70 tmp56        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V71 tmp57        [V71,T25] (  2,  4   )     int  ->   r9         "spilling unroll qmark"
 ;* V72 tmp58        [V72    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V73 tmp59        [V73,T26] (  2,  4   )     int  ->   r9         "spilling unroll qmark"
 ;* V74 tmp60        [V74    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;  V75 tmp61        [V75,T27] (  2,  4   )     int  ->   r8         "spilling unroll qmark"
 ;* V76 tmp62        [V76    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Security.Cryptography.HashAlgorithmName>
 ;* V77 tmp63        [V77    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
-;* V78 tmp64        [V78,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V78 tmp64        [V78    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V79 tmp65        [V79    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V80 tmp66        [V80,T11] (  4,  4   )   byref  ->  r15         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V81 tmp67        [V81,T13] (  4,  4   )     int  ->  r13         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V82 tmp68        [V82,T12] (  4,  4   )   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
 ;  V83 tmp69        [V83,T14] (  4,  4   )     int  ->  r12         single-def "field V01._length (fldOffset=0x8)" P-INDEP
-;  V84 tmp70        [V84,T03] ( 11, 10   )     ref  ->  [rbp-0xA8]  "field V06._name (fldOffset=0x0)" P-INDEP
+;  V84 tmp70        [V84,T04] ( 10,  9   )     ref  ->  [rbp-0xA8]  "field V06._name (fldOffset=0x0)" P-INDEP
 ;* V85 tmp71        [V85,T51] (  0,  0   )   ubyte  ->  zero-ref    "field V10.hasValue (fldOffset=0x0)" P-INDEP
 ;* V86 tmp72        [V86,T52] (  0,  0   )     int  ->  zero-ref    "field V10.value (fldOffset=0x4)" P-INDEP
 ;* V87 tmp73        [V87    ] (  0,  0   )     ref  ->  zero-ref    "field V16._object (fldOffset=0x0)" P-INDEP
 ;* V88 tmp74        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V16._index (fldOffset=0x8)" P-INDEP
 ;* V89 tmp75        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0xc)" P-INDEP
 ;* V90 tmp76        [V90,T47] (  0,  0   )     ref  ->  zero-ref    single-def "field V38._name (fldOffset=0x0)" P-INDEP
 ;* V91 tmp77        [V91,T48] (  0,  0   )     ref  ->  zero-ref    single-def "field V39._name (fldOffset=0x0)" P-INDEP
 ;* V92 tmp78        [V92,T49] (  0,  0   )     ref  ->  zero-ref    single-def "field V40._name (fldOffset=0x0)" P-INDEP
 ;* V93 tmp79        [V93,T50] (  0,  0   )     ref  ->  zero-ref    single-def "field V41._name (fldOffset=0x0)" P-INDEP
 ;* V94 tmp80        [V94    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V44._object (fldOffset=0x0)" P-INDEP
 ;* V95 tmp81        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V44._index (fldOffset=0x8)" P-INDEP
 ;* V96 tmp82        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0xc)" P-INDEP
 ;* V97 tmp83        [V97    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp84        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp85        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp86       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V101 tmp87       [V101    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V50._reference (fldOffset=0x0)" P-INDEP
 ;* V102 tmp88       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
 ;* V103 tmp89       [V103    ] (  0,  0   )   byref  ->  zero-ref    "field V52._reference (fldOffset=0x0)" P-DEP
 ;* V104 tmp90       [V104    ] (  0,  0   )     int  ->  zero-ref    "field V52._length (fldOffset=0x8)" P-DEP
 ;  V105 tmp91       [V105,T43] (  2,  2   )   byref  ->   r8         "field V53._reference (fldOffset=0x0)" P-INDEP
 ;  V106 tmp92       [V106,T45] (  2,  2   )     int  ->  rsi         "field V53._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp93       [V107    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V59._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp94       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
 ;* V109 tmp95       [V109    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V76._name (fldOffset=0x0)" P-INDEP
 ;  V110 tmp96       [V110,T00] ( 42, 39   )     ref  ->  rbx         single-def "V03.[000..008)"
 ;  V111 tmp97       [V111,T40] (  3,  3   )   ubyte  ->   r8         "V03.[008..009)"
 ;* V112 tmp98       [V112    ] (  0,  0   )   ubyte  ->  zero-ref    "V43.[000..001)"
 ;  V113 tmp99       [V113,T07] (  7,  7   )     ref  ->  rdx         single-def "V43.[008..016)"
 ;  V114 tmp100      [V114,T46] (  2,  2   )     int  ->  [rbp-0x78]  spill-single-def "V43.[016..020)"
 ;  V115 tmp101      [V115,T41] (  3,  3   )     int  ->  [rbp-0x7C]  spill-single-def "V43.[020..024)"
 ;  V116 tmp102      [V116,T72] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V117 tmp103      [V117,T73] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V118 tmp104      [V118,T74] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V119 tmp105      [V119,T15] (  3,  6   )  struct ( 8) [rbp-0x88]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
 ;  V120 PSPSym      [V120,T53] (  1,  1   )    long  ->  [rbp-0xB8]  do-not-enreg[V] "PSPSym"
 ;  V121 cse0        [V121,T28] (  5,  4.67)     int  ->  [rbp-0x8C]  spill-single-def "CSE #10: conservative"
 ;  V122 cse1        [V122,T01] ( 23, 14   )     int  ->  [rbp-0x90]  spill-single-def "CSE #01: aggressive"
 ;  V123 rat0        [V123,T70] (  3,  1.50)  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V124 rat1        [V124,T16] (  3,  5.50)     int  ->  rcx         "ReplaceWithLclVar is creating a new local variable"
 ;  V125 rat2        [V125,T54] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V126 rat3        [V126,T55] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V127 rat4        [V127,T56] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V128 rat5        [V128,T57] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V129 rat6        [V129,T17] (  3,  5.50)     int  ->  rcx         "ReplaceWithLclVar is creating a new local variable"
 ;  V130 rat7        [V130,T58] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V131 rat8        [V131,T59] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V132 rat9        [V132,T60] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V133 rat10       [V133,T61] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V134 rat11       [V134,T18] (  3,  5.50)     int  ->  r10         "ReplaceWithLclVar is creating a new local variable"
 ;  V135 rat12       [V135,T62] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V136 rat13       [V136,T63] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V137 rat14       [V137,T64] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V138 rat15       [V138,T65] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V139 rat16       [V139,T19] (  3,  5.50)     int  ->  r10         "ReplaceWithLclVar is creating a new local variable"
 ;  V140 rat17       [V140,T66] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V141 rat18       [V141,T67] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V142 rat19       [V142,T68] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V143 rat20       [V143,T69] (  3,  6   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 152
 
 G_M60469_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 152
        lea      rbp, [rsp+0xC0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0x70], zmm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0xB8], rsp
        mov      r15, rdi
        mov      r13d, esi
        mov      r14, rdx
        mov      r12d, ecx
        mov      rbx, r8
 						;; size=68 bbWeight=1 PerfScore 12.58
 G_M60469_IG02:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.PublicKey:GetRSAPublicKey():System.Security.Cryptography.RSA:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.PublicKey:GetRSAPublicKey():System.Security.Cryptography.RSA:this
        mov      gword ptr [rbp-0x98], rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.PublicKey:GetECDsaPublicKey():System.Security.Cryptography.ECDsa:this
        call     [rax]System.Security.Cryptography.X509Certificates.PublicKey:GetECDsaPublicKey():System.Security.Cryptography.ECDsa:this
        mov      gword ptr [rbp-0xA0], rax
        mov      rbx, gword ptr [rbp+0x10]
        movzx    r8, byte  ptr [rbp+0x18]
 						;; size=55 bbWeight=1 PerfScore 14.00
 G_M60469_IG03:
        test     rbx, rbx
-       je       G_M60469_IG72
+       je       G_M60469_IG70
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M60469_IG04:
        mov      r9d, dword ptr [rbx+0x08]
        mov      dword ptr [rbp-0x90], r9d
        cmp      r9d, 21
        jne      SHORT G_M60469_IG07
 						;; size=17 bbWeight=0.50 PerfScore 2.12
 G_M60469_IG05:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD32], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
        je       SHORT G_M60469_IG07
        cmp      gword ptr [rbp-0x98], 0
        je       SHORT G_M60469_IG06
        test     r8d, r8d
-       jne      G_M60469_IG69
+       jne      G_M60469_IG67
 						;; size=65 bbWeight=0.25 PerfScore 6.44
 G_M60469_IG06:
        xor      r9d, r9d
        mov      dword ptr [rbp-0x74], r9d
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=12 bbWeight=1 PerfScore 3.25
 G_M60469_IG07:
        lea      r10d, [r9-0x11]
        mov      dword ptr [rbp-0x8C], r10d
        cmp      r10d, 4
-       ja       G_M60469_IG72
+       ja       G_M60469_IG70
 						;; size=21 bbWeight=1 PerfScore 2.75
 G_M60469_IG08:
        mov      ecx, r10d
        lea      rdx, [reloc @RWD64]
        mov      edx, dword ptr [rdx+4*rcx]
        lea      rsi, G_M60469_IG02
        add      rdx, rsi
        jmp      rdx
 						;; size=25 bbWeight=0.83 PerfScore 5.00
 G_M60469_IG09:
        cmp      r9d, 20
-       jbe      G_M60469_IG73
+       jbe      G_M60469_IG71
        movzx    rcx, word  ptr [rbx+0x34]
        add      ecx, -49
        cmp      ecx, 2
-       ja       G_M60469_IG72
+       ja       G_M60469_IG70
 						;; size=26 bbWeight=1 PerfScore 4.75
 G_M60469_IG10:
        mov      esi, ecx
        lea      rdx, [reloc @RWD84]
        mov      edx, dword ptr [rdx+4*rsi]
        lea      rcx, G_M60469_IG02
        add      rdx, rcx
        jmp      rdx
 						;; size=24 bbWeight=0.75 PerfScore 4.50
 G_M60469_IG11:
        cmp      r9d, 21
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG12:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD96], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
        jne      G_M60469_IG23
-       jmp      G_M60469_IG72
+       jmp      G_M60469_IG70
 						;; size=55 bbWeight=1 PerfScore 23.50
 G_M60469_IG13:
        cmp      r9d, 21
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG14:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD128], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
        jne      G_M60469_IG26
-       jmp      G_M60469_IG72
+       jmp      G_M60469_IG70
 						;; size=55 bbWeight=1 PerfScore 23.50
 G_M60469_IG15:
        cmp      r9d, 21
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG16:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD160], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
        jne      G_M60469_IG29
-       jmp      G_M60469_IG72
+       jmp      G_M60469_IG70
 						;; size=55 bbWeight=1 PerfScore 23.50
 G_M60469_IG17:
        cmp      r9d, 20
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG18:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x14]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD192], -10
        vptest   ymm0, ymm0
        sete     cl
        movzx    rcx, cl
        test     ecx, ecx
        jne      G_M60469_IG32
-       jmp      G_M60469_IG72
+       jmp      G_M60469_IG70
 						;; size=53 bbWeight=1 PerfScore 23.50
 G_M60469_IG19:
        cmp      r9d, 18
-       jbe      G_M60469_IG73
+       jbe      G_M60469_IG71
        movzx    rcx, word  ptr [rbx+0x30]
        add      ecx, -50
        cmp      ecx, 2
-       ja       G_M60469_IG72
+       ja       G_M60469_IG70
 						;; size=26 bbWeight=1 PerfScore 4.75
 G_M60469_IG20:
        mov      esi, ecx
        lea      rdx, [reloc @RWD224]
        mov      edx, dword ptr [rdx+4*rsi]
        lea      rcx, G_M60469_IG02
        add      rdx, rcx
        jmp      rdx
 						;; size=24 bbWeight=0.75 PerfScore 4.50
 G_M60469_IG21:
        cmp      r9d, 19
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG22:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x12]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD288], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
-       je       G_M60469_IG72
+       je       G_M60469_IG70
 						;; size=50 bbWeight=1 PerfScore 21.50
 G_M60469_IG23:
        mov      rcx, 0xD1FFAB1E      ; 'SHA512'
        mov      r11, rcx
        mov      gword ptr [rbp-0xA8], r11
        jmp      G_M60469_IG33
 						;; size=25 bbWeight=1 PerfScore 3.50
 G_M60469_IG24:
        cmp      r9d, 19
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG25:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x12]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD320], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
-       je       G_M60469_IG72
+       je       G_M60469_IG70
 						;; size=50 bbWeight=1 PerfScore 21.50
 G_M60469_IG26:
        mov      r11, 0xD1FFAB1E      ; 'SHA384'
        mov      gword ptr [rbp-0xA8], r11
        jmp      G_M60469_IG33
 						;; size=22 bbWeight=1 PerfScore 3.25
 G_M60469_IG27:
        cmp      r9d, 19
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG28:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x12]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD352], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
-       je       G_M60469_IG72
+       je       G_M60469_IG70
 						;; size=50 bbWeight=1 PerfScore 21.50
 G_M60469_IG29:
        mov      r11, 0xD1FFAB1E      ; 'SHA256'
        mov      gword ptr [rbp-0xA8], r11
        jmp      SHORT G_M60469_IG33
 						;; size=19 bbWeight=1 PerfScore 3.25
 G_M60469_IG30:
        cmp      r9d, 17
-       jne      G_M60469_IG72
+       jne      G_M60469_IG70
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG31:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x0E]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD384], -10
        vptest   ymm0, ymm0
        sete     cl
        movzx    rcx, cl
        test     ecx, ecx
        mov      r9d, dword ptr [rbp-0x90]
-       je       G_M60469_IG72
+       je       G_M60469_IG70
 						;; size=55 bbWeight=1 PerfScore 22.50
 G_M60469_IG32:
        mov      rcx, 0xD1FFAB1E      ; 'SHA1'
        mov      gword ptr [rbp-0xA8], rcx
 						;; size=17 bbWeight=1 PerfScore 1.25
 G_M60469_IG33:
        mov      rdx, gword ptr [rbp+0x20]
        mov      esi, dword ptr [rbp+0x28]
        mov      dword ptr [rbp-0x78], esi
        mov      r11d, dword ptr [rbp+0x2C]
        mov      dword ptr [rbp-0x7C], r11d
        test     r8d, r8d
        jne      SHORT G_M60469_IG36
 						;; size=23 bbWeight=1 PerfScore 6.25
 G_M60469_IG34:
        cmp      r10d, 4
        ja       G_M60469_IG46
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M60469_IG35:
        mov      esi, dword ptr [rbp-0x8C]
        lea      rdx, [reloc @RWD416]
        mov      edx, dword ptr [rdx+4*rsi]
        lea      r8, G_M60469_IG02
        add      rdx, r8
        jmp      rdx
 						;; size=28 bbWeight=0.83 PerfScore 5.63
 G_M60469_IG36:
        xor      r8, r8
        xor      esi, esi
        test     rdx, rdx
        je       SHORT G_M60469_IG39
        mov      r8, qword ptr [rdx]
        test     dword ptr [r8], 0xD1FFAB1E
        je       SHORT G_M60469_IG37
        lea      r8, bword ptr [rdx+0x10]
        mov      esi, dword ptr [rdx+0x08]
        jmp      SHORT G_M60469_IG38
 						;; size=31 bbWeight=1 PerfScore 12.25
 G_M60469_IG37:
        mov      rdi, rdx
        mov      rdx, qword ptr [rdx]
        mov      rdx, qword ptr [rdx+0x40]
        call     [rdx+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
        mov      r8, rax
        mov      esi, edx
        mov      r9d, dword ptr [rbp-0x90]
        mov      r10d, dword ptr [rbp-0x8C]
 						;; size=32 bbWeight=1 PerfScore 9.75
 G_M60469_IG38:
        mov      edx, dword ptr [rbp-0x78]
        and      edx, 0xD1FFAB1E
        mov      r11d, dword ptr [rbp-0x7C]
        add      r11, rdx
        mov      esi, esi
        cmp      r11, rsi
-       ja       G_M60469_IG70
+       ja       G_M60469_IG68
        add      r8, rdx
        mov      esi, dword ptr [rbp-0x7C]
 						;; size=33 bbWeight=1 PerfScore 5.25
 G_M60469_IG39:
        cmp      esi, 2
        je       SHORT G_M60469_IG41
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M60469_IG40:
        xor      r8d, r8d
        mov      dword ptr [rbp-0x74], r8d
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=12 bbWeight=1 PerfScore 3.25
 G_M60469_IG41:
        cmp      byte  ptr [r8], 5
        jne      SHORT G_M60469_IG40
        cmp      byte  ptr [r8+0x01], 0
        je       G_M60469_IG34
        jmp      SHORT G_M60469_IG40
 						;; size=19 bbWeight=1 PerfScore 10.00
 G_M60469_IG42:
        cmp      r9d, 20
-       jbe      G_M60469_IG73
+       jbe      G_M60469_IG71
        movzx    r10, word  ptr [rbx+0x34]
        add      r10d, -49
        cmp      r10d, 2
        ja       SHORT G_M60469_IG46
 						;; size=25 bbWeight=1 PerfScore 4.75
 G_M60469_IG43:
        mov      edx, r10d
        lea      rsi, [reloc @RWD436]
        mov      esi, dword ptr [rsi+4*rdx]
        lea      r8, G_M60469_IG02
        add      rsi, r8
        jmp      rsi
 						;; size=25 bbWeight=0.75 PerfScore 4.50
 G_M60469_IG44:
        cmp      r9d, 21
        jne      SHORT G_M60469_IG46
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG45:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD96], -10
        vptest   ymm0, ymm0
        sete     r9b
        movzx    r9, r9b
        test     r9d, r9d
        jne      G_M60469_IG53
 						;; size=51 bbWeight=1 PerfScore 21.50
 G_M60469_IG46:
        xor      r9d, r9d
        mov      dword ptr [rbp-0x74], r9d
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=12 bbWeight=1 PerfScore 3.25
 G_M60469_IG47:
        cmp      r9d, 21
        jne      SHORT G_M60469_IG46
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG48:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD128], -10
        vptest   ymm0, ymm0
        sete     r9b
        movzx    r9, r9b
        test     r9d, r9d
        jne      SHORT G_M60469_IG53
        jmp      SHORT G_M60469_IG46
 						;; size=49 bbWeight=1 PerfScore 23.50
 G_M60469_IG49:
        cmp      r9d, 21
        jne      SHORT G_M60469_IG46
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG50:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x16]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD160], -10
        vptest   ymm0, ymm0
        sete     r9b
        movzx    r9, r9b
        test     r9d, r9d
        jne      SHORT G_M60469_IG53
        jmp      SHORT G_M60469_IG46
 						;; size=49 bbWeight=1 PerfScore 23.50
 G_M60469_IG51:
        cmp      r9d, 20
        jne      SHORT G_M60469_IG46
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG52:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rbx+0x14]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD192], -10
        vptest   ymm0, ymm0
        sete     sil
        movzx    rsi, sil
        test     esi, esi
        je       G_M60469_IG46
 						;; size=50 bbWeight=1 PerfScore 21.50
 G_M60469_IG53:
        mov      rdi, gword ptr [rbp-0x98]
        test     rdi, rdi
        jne      SHORT G_M60469_IG54
        xor      esi, esi
        mov      dword ptr [rbp-0x74], esi
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=22 bbWeight=1 PerfScore 5.50
 G_M60469_IG54:
        mov      rsi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rsi]
        mov      gword ptr [rsp], rsi
        mov      rsi, r15
        mov      edx, r13d
        mov      rcx, r14
        mov      r8d, r12d
        mov      r9, gword ptr [rbp-0xA8]
        mov      r10, qword ptr [rdi]
        mov      r10, qword ptr [r10+0x68]
        call     [r10+0x38]System.Security.Cryptography.RSA:VerifyData(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding):ubyte:this
        mov      dword ptr [rbp-0x74], eax
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=55 bbWeight=1 PerfScore 15.25
 G_M60469_IG55:
        cmp      r9d, 18
-       jbe      G_M60469_IG73
+       jbe      G_M60469_IG71
        movzx    r10, word  ptr [rbx+0x30]
        add      r10d, -50
        cmp      r10d, 2
        ja       G_M60469_IG46
 						;; size=29 bbWeight=1 PerfScore 4.75
 G_M60469_IG56:
        mov      edx, r10d
        lea      rsi, [reloc @RWD448]
        mov      esi, dword ptr [rsi+4*rdx]
        lea      r8, G_M60469_IG02
        add      rsi, r8
        jmp      rsi
 						;; size=25 bbWeight=0.75 PerfScore 4.50
 G_M60469_IG57:
        cmp      r9d, 19
        jne      G_M60469_IG46
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG58:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x12]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD288], -10
        vptest   ymm0, ymm0
        sete     r9b
        movzx    r9, r9b
        test     r9d, r9d
        jne      G_M60469_IG65
        jmp      G_M60469_IG46
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M60469_IG59:
        cmp      r9d, 19
        jne      G_M60469_IG46
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG60:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x12]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD320], -10
        vptest   ymm0, ymm0
        sete     r9b
        movzx    r9, r9b
        test     r9d, r9d
        jne      G_M60469_IG65
        jmp      G_M60469_IG46
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M60469_IG61:
        cmp      r9d, 19
        jne      G_M60469_IG46
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG62:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x12]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD352], -10
        vptest   ymm0, ymm0
        sete     dl
        movzx    rdx, dl
        test     edx, edx
        jne      SHORT G_M60469_IG65
        jmp      G_M60469_IG46
 						;; size=49 bbWeight=1 PerfScore 23.50
 G_M60469_IG63:
        cmp      r9d, 17
        jne      G_M60469_IG46
 						;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M60469_IG64:
        vmovups  ymm0, ymmword ptr [rbx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD256]
        vmovups  ymm1, ymmword ptr [rbx+0x0E]
        vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD384], -10
        vptest   ymm0, ymm0
        sete     r8b
        movzx    r8, r8b
        test     r8d, r8d
        je       G_M60469_IG46
 						;; size=51 bbWeight=1 PerfScore 21.50
 G_M60469_IG65:
        mov      rax, gword ptr [rbp-0xA0]
        test     rax, rax
        jne      SHORT G_M60469_IG66
        xor      ecx, ecx
        mov      dword ptr [rbp-0x74], ecx
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=22 bbWeight=1 PerfScore 5.50
 G_M60469_IG66:
        mov      rcx, gword ptr [rbp-0xA8]
-       test     rcx, rcx
-       je       SHORT G_M60469_IG67
-       mov      gword ptr [rbp-0xA8], rcx
        cmp      dword ptr [rcx+0x08], 0
-       jne      SHORT G_M60469_IG68
-       jmp      G_M60469_IG71
-						;; size=30 bbWeight=1 PerfScore 9.25
-G_M60469_IG67:
-       mov      gword ptr [rbp-0xA8], rcx
-       jmp      G_M60469_IG71
-						;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M60469_IG68:
+       je       G_M60469_IG69
        mov      dword ptr [rsp], 1
        mov      rcx, r14
        mov      r8d, r12d
        mov      rsi, r15
        mov      edx, r13d
        mov      rdi, rax
        mov      r9, gword ptr [rbp-0xA8]
        mov      r10, qword ptr [rax]
        mov      r10, qword ptr [r10+0x68]
        call     [r10+0x28]System.Security.Cryptography.ECDsa:VerifyDataCore(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte:this
        mov      dword ptr [rbp-0x74], eax
-       jmp      G_M60469_IG76
-						;; size=48 bbWeight=1 PerfScore 13.25
-G_M60469_IG69:
+       jmp      G_M60469_IG74
+						;; size=65 bbWeight=1 PerfScore 18.25
+G_M60469_IG67:
        mov      rsi, gword ptr [rbp+0x20]
        mov      rdx, qword ptr [rbp+0x28]
        lea      rdi, [rbp-0x70]
        mov      ecx, 2
        mov      r8, 0xD1FFAB1E      ; code for System.Security.Cryptography.Asn1.PssParamsAsn:Decode(System.ReadOnlyMemory`1[ubyte],int):System.Security.Cryptography.Asn1.PssParamsAsn
        call     [r8]System.Security.Cryptography.Asn1.PssParamsAsn:Decode(System.ReadOnlyMemory`1[ubyte],int):System.Security.Cryptography.Asn1.PssParamsAsn
        mov      byte  ptr [rbp-0x88], 0
        xor      esi, esi
        mov      dword ptr [rbp-0x84], esi
        mov      rsi, qword ptr [rbp-0x88]
        lea      rdi, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.Asn1.PssParamsAsn:GetSignaturePadding(System.Nullable`1[int]):System.Security.Cryptography.RSASignaturePadding:this
        call     [rax]System.Security.Cryptography.Asn1.PssParamsAsn:GetSignaturePadding(System.Nullable`1[int]):System.Security.Cryptography.RSASignaturePadding:this
        mov      rbx, rax
        mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.HashAlgorithmName:FromOid(System.String):System.Security.Cryptography.HashAlgorithmName
        call     [rax]System.Security.Cryptography.HashAlgorithmName:FromOid(System.String):System.Security.Cryptography.HashAlgorithmName
        mov      gword ptr [rsp], rbx
        mov      rcx, r14
        mov      r8d, r12d
        mov      rsi, r15
        mov      edx, r13d
        mov      rdi, gword ptr [rbp-0x98]
        mov      r9, rax
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x38]System.Security.Cryptography.RSA:VerifyData(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding):ubyte:this
        mov      dword ptr [rbp-0x74], eax
-       jmp      G_M60469_IG76
+       jmp      G_M60469_IG74
 						;; size=131 bbWeight=1 PerfScore 30.75
-G_M60469_IG70:
+G_M60469_IG68:
        mov      rcx, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rcx]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M60469_IG71:
+G_M60469_IG69:
        mov      edi, 0x41FB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)
        call     [rax]System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)
        int3     
 						;; size=43 bbWeight=0 PerfScore 0.00
-G_M60469_IG72:
+G_M60469_IG70:
        mov      rdi, 0xD1FFAB1E      ; System.NotSupportedException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Cryptography_UnknownKeyAlgorithm():System.String
        call     [rax]System.SR:get_Cryptography_UnknownKeyAlgorithm():System.String
        mov      rdi, rax
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.NotSupportedException:.ctor(System.String):this
        call     [rax]System.NotSupportedException:.ctor(System.String):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=75 bbWeight=0 PerfScore 0.00
-G_M60469_IG73:
+G_M60469_IG71:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M60469_IG74:
+G_M60469_IG72:
        nop      
-       jmp      SHORT G_M60469_IG76
+       jmp      SHORT G_M60469_IG74
 						;; size=3 bbWeight=0 PerfScore 0.00
-G_M60469_IG75:
+G_M60469_IG73:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
-G_M60469_IG76:
+G_M60469_IG74:
        mov      rdi, gword ptr [rbp-0x98]
        test     rdi, rdi
-       je       SHORT G_M60469_IG77
+       je       SHORT G_M60469_IG75
        mov      esi, 1
        mov      rcx, qword ptr [rdi]
        mov      rcx, qword ptr [rcx+0x48]
        call     [rcx+0x20]System.Security.Cryptography.AsymmetricAlgorithm:Dispose(ubyte):this
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, 0xD1FFAB1E      ; code for System.GC:SuppressFinalize(System.Object)
        call     [rax]System.GC:SuppressFinalize(System.Object)
 						;; size=46 bbWeight=1 PerfScore 13.75
-G_M60469_IG77:
+G_M60469_IG75:
        mov      rax, gword ptr [rbp-0xA0]
        test     rax, rax
-       je       SHORT G_M60469_IG78
+       je       SHORT G_M60469_IG76
        mov      rdi, rax
        mov      esi, 1
        mov      rcx, qword ptr [rax]
        mov      rcx, qword ptr [rcx+0x48]
        call     [rcx+0x20]System.Security.Cryptography.AsymmetricAlgorithm:Dispose(ubyte):this
        mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, 0xD1FFAB1E      ; code for System.GC:SuppressFinalize(System.Object)
        call     [rax]System.GC:SuppressFinalize(System.Object)
 						;; size=49 bbWeight=1 PerfScore 14.00
-G_M60469_IG78:
+G_M60469_IG76:
        mov      eax, dword ptr [rbp-0x74]
 						;; size=3 bbWeight=1 PerfScore 1.00
-G_M60469_IG79:
+G_M60469_IG77:
        vzeroupper 
        add      rsp, 152
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=21 bbWeight=1 PerfScore 5.25
-G_M60469_IG80:
+G_M60469_IG78:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0xC0]
 						;; size=30 bbWeight=0 PerfScore 0.00
-G_M60469_IG81:
+G_M60469_IG79:
        xor      edi, edi
        mov      dword ptr [rbp-0x74], edi
-       lea      rax, G_M60469_IG74
+       lea      rax, G_M60469_IG72
 						;; size=12 bbWeight=0 PerfScore 0.00
-G_M60469_IG82:
+G_M60469_IG80:
        vzeroupper 
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0 PerfScore 0.00
-G_M60469_IG83:
+G_M60469_IG81:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0xC0]
 						;; size=30 bbWeight=0 PerfScore 0.00
-G_M60469_IG84:
+G_M60469_IG82:
        xor      edi, edi
        mov      dword ptr [rbp-0x74], edi
-       lea      rax, G_M60469_IG75
+       lea      rax, G_M60469_IG73
 						;; size=12 bbWeight=0 PerfScore 0.00
-G_M60469_IG85:
+G_M60469_IG83:
        vzeroupper 
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0 PerfScore 0.00
-G_M60469_IG86:
+G_M60469_IG84:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0xC0]
 						;; size=30 bbWeight=0 PerfScore 0.00
-G_M60469_IG87:
+G_M60469_IG85:
        cmp      gword ptr [rbp-0x98], 0
-       je       SHORT G_M60469_IG88
+       je       SHORT G_M60469_IG86
        mov      rdi, gword ptr [rbp-0x98]
        mov      esi, 1
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x20]System.Security.Cryptography.AsymmetricAlgorithm:Dispose(ubyte):this
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, 0xD1FFAB1E      ; code for System.GC:SuppressFinalize(System.Object)
        call     [rax]System.GC:SuppressFinalize(System.Object)
 						;; size=51 bbWeight=0 PerfScore 0.00
-G_M60469_IG88:
+G_M60469_IG86:
        cmp      gword ptr [rbp-0xA0], 0
-       je       SHORT G_M60469_IG89
+       je       SHORT G_M60469_IG87
        mov      rdi, gword ptr [rbp-0xA0]
        mov      esi, 1
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x20]System.Security.Cryptography.AsymmetricAlgorithm:Dispose(ubyte):this
        mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, 0xD1FFAB1E      ; code for System.GC:SuppressFinalize(System.Object)
        call     [rax]System.GC:SuppressFinalize(System.Object)
 						;; size=51 bbWeight=0 PerfScore 0.00
-G_M60469_IG89:
+G_M60469_IG87:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
-G_M60469_IG90:
+G_M60469_IG88:
        vzeroupper 
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0 PerfScore 0.00
 RWD00  	dq	002E0032002E0031h, 002E003000340038h, 0035003300310031h, 0031002E00390034h
 RWD32  	dq	0031002E00300034h, 0034003500330031h, 002E0031002E0039h, 00300031002E0031h
 RWD64  	dd	G_M60469_IG30 - G_M60469_IG02
-       	dd	G_M60469_IG72 - G_M60469_IG02
+       	dd	G_M60469_IG70 - G_M60469_IG02
        	dd	G_M60469_IG19 - G_M60469_IG02
        	dd	G_M60469_IG17 - G_M60469_IG02
        	dd	G_M60469_IG09 - G_M60469_IG02
 RWD84  	dd	G_M60469_IG15 - G_M60469_IG02
        	dd	G_M60469_IG13 - G_M60469_IG02
        	dd	G_M60469_IG11 - G_M60469_IG02
 RWD96  	dq	0031002E00300034h, 0034003500330031h, 002E0031002E0039h, 00330031002E0031h
 RWD128 	dq	0031002E00300034h, 0034003500330031h, 002E0031002E0039h, 00320031002E0031h
 RWD160 	dq	0031002E00300034h, 0034003500330031h, 002E0031002E0039h, 00310031002E0031h
 RWD192 	dq	002E003000340038h, 0035003300310031h, 0031002E00390034h, 0035002E0031002Eh
 RWD224 	dd	G_M60469_IG27 - G_M60469_IG02
        	dd	G_M60469_IG24 - G_M60469_IG02
        	dd	G_M60469_IG21 - G_M60469_IG02
 RWD236 	dd	00000000h, 00000000h, 00000000h, 00000000h, 00000000h
 RWD256 	dq	002E0032002E0031h, 002E003000340038h, 0034003000300031h, 002E0034002E0035h
 RWD288 	dq	003000340038002Eh, 003000300031002Eh, 0034002E00350034h, 0034002E0033002Eh
 RWD320 	dq	003000340038002Eh, 003000300031002Eh, 0034002E00350034h, 0033002E0033002Eh
 RWD352 	dq	003000340038002Eh, 003000300031002Eh, 0034002E00350034h, 0032002E0033002Eh
 RWD384 	dq	0038002E0032002Eh, 0031002E00300034h, 0035003400300030h, 0031002E0034002Eh
 RWD416 	dd	G_M60469_IG63 - G_M60469_IG02
        	dd	G_M60469_IG46 - G_M60469_IG02
        	dd	G_M60469_IG55 - G_M60469_IG02
        	dd	G_M60469_IG51 - G_M60469_IG02
        	dd	G_M60469_IG42 - G_M60469_IG02
 RWD436 	dd	G_M60469_IG49 - G_M60469_IG02
        	dd	G_M60469_IG47 - G_M60469_IG02
        	dd	G_M60469_IG44 - G_M60469_IG02
 RWD448 	dd	G_M60469_IG61 - G_M60469_IG02
        	dd	G_M60469_IG59 - G_M60469_IG02
        	dd	G_M60469_IG57 - G_M60469_IG02
 
 
-; Total bytes of code 2593, prolog size 68, PerfScore 641.77, instruction count 584, allocated bytes for code 2593 (MethodHash=10c713ca) for method System.Security.Cryptography.X509Certificates.CertificateRequest:VerifyX509Signature(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn):ubyte (FullOpts)
+; Total bytes of code 2568, prolog size 68, PerfScore 636.02, instruction count 578, allocated bytes for code 2568 (MethodHash=10c713ca) for method System.Security.Cryptography.X509Certificates.CertificateRequest:VerifyX509Signature(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn):ubyte (FullOpts)
-24 (-1.06 % of base) - System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this
 ; Assembly listing for method System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (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; 80 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T22] ( 21, 16.50)     ref  ->  rbx         this class-hnd single-def <System.Xml.Xsl.Xslt.XsltLoader>
 ;  V01 arg1         [V01,T40] (  4,  4   )     int  ->  rsi         single-def
 ;  V02 loc0         [V02,T85] (  6,  2.38)     ref  ->  rax         class-hnd exact single-def <System.String>
 ;  V03 loc1         [V03,T101] (  3,  1.50)     ref  ->  r15         class-hnd exact single-def <System.String[]>
-;  V04 loc2         [V04,T07] ( 23,133   )     ref  ->  r14         class-hnd exact single-def <System.Collections.Generic.List`1[System.Xml.Xsl.Qil.QilName]>
+;  V04 loc2         [V04,T13] ( 23,101   )     ref  ->  r14         class-hnd exact single-def <System.Collections.Generic.List`1[System.Xml.Xsl.Qil.QilName]>
 ;  V05 loc3         [V05,T44] (  2,  4.50)     ref  ->  r15         class-hnd exact single-def <System.String[]>
 ;* V06 loc4         [V06,T113] (  0,  0   )     int  ->  zero-ref   
 ;  V07 loc5         [V07,T23] (  8, 17.50)     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <System.String>
-;  V08 loc6         [V08,T08] (  7,136   )     ref  ->  [rbp-0x60]  class-hnd <System.Xml.Xsl.Qil.QilName>
-;  V09 loc7         [V09,T09] (  4,136   )   ubyte  ->  [rbp-0x2C] 
+;  V08 loc6         [V08,T16] (  6, 72   )     ref  ->  [rbp-0x60]  class-hnd <System.Xml.Xsl.Qil.QilName>
+;  V09 loc7         [V09,T06] (  4,136   )   ubyte  ->  [rbp-0x2C] 
 ;* V10 loc8         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Xml.Xsl.Qil.QilName]>
 ;* V11 loc9         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Xml.Xsl.Qil.QilName>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V13 tmp1         [V13,T56] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.Xsl.Qil.QilName]>
 ;  V14 tmp2         [V14,T28] (  3, 12   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "dup spill" <System.String[]>
 ;  V15 tmp3         [V15,T32] (  2,  8   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "impAppendStmt" <System.String>
 ;  V16 tmp4         [V16,T86] (  2,  2   )     ref  ->  r12         class-hnd exact "impAppendStmt" <System.String>
 ;  V17 tmp5         [V17,T87] (  2,  2   )     ref  ->  rdi         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V18 tmp6         [V18,T88] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V19 tmp7         [V19,T30] (  4,  8   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;  V20 tmp8         [V20,T57] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;* V21 tmp9         [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V22 tmp10        [V22,T106] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;  V23 tmp11        [V23,T58] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.String[]>
 ;  V24 tmp12        [V24,T89] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V25 tmp13        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;  V26 tmp14        [V26,T59] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.Xml.Xsl.Xslt.VarPar]>
 ;  V27 tmp15        [V27,T45] (  4,  4   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V28 tmp16        [V28,T90] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
 ;  V29 tmp17        [V29,T107] (  2,  1   )     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
 ;  V30 tmp18        [V30,T60] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;  V31 tmp19        [V31,T91] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <ushort[]>
 ;* V32 tmp20        [V32    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V33 tmp21        [V33    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V34 tmp22        [V34,T61] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.Compiler>
 ;* V35 tmp23        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;  V36 tmp24        [V36,T46] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V37 tmp25        [V37,T92] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.String[]>
 ;  V38 tmp26        [V38,T93] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
 ;  V39 tmp27        [V39,T108] (  2,  1   )     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
 ;  V40 tmp28        [V40,T62] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;* V41 tmp29        [V41    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
 ;  V42 tmp30        [V42,T26] (  2,  8   )     int  ->  rcx         "spilling unroll qmark"
 ;* V43 tmp31        [V43    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
 ;  V44 tmp32        [V44,T27] (  2,  8   )     int  ->  rdi         "spilling unroll qmark"
 ;  V45 tmp33        [V45,T63] (  3,  3   )     ref  ->  r13         class-hnd exact "dup spill" <System.String[]>
 ;  V46 tmp34        [V46,T94] (  2,  2   )     ref  ->  r15         class-hnd exact "impAppendStmt" <System.String>
 ;* V47 tmp35        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;  V48 tmp36        [V48,T64] (  3,  3   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.Xml.Xsl.Xslt.VarPar]>
 ;  V49 tmp37        [V49,T47] (  4,  4   )     ref  ->  r12         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V50 tmp38        [V50,T95] (  2,  2   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
 ;  V51 tmp39        [V51,T109] (  2,  1   )     ref  ->  rsi         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
 ;  V52 tmp40        [V52,T65] (  3,  3   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;* V53 tmp41        [V53    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
 ;* V54 tmp42        [V54,T43] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;  V55 tmp43        [V55,T48] (  4,  4   )     ref  ->  r15         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V56 tmp44        [V56,T96] (  2,  2   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.String[]>
 ;  V57 tmp45        [V57,T97] (  2,  2   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
 ;  V58 tmp46        [V58,T110] (  2,  1   )     ref  ->  rsi         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
 ;  V59 tmp47        [V59,T66] (  3,  3   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;* V60 tmp48        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Xml.Xsl.Qil.QilName>
 ;  V61 tmp49        [V61    ] (  3,  6   )     ref  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
 ;  V62 tmp50        [V62    ] (  3,  6   )     ref  ->  [rbp-0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
 ;  V63 tmp51        [V63    ] (  3,  6   )     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
 ;  V64 tmp52        [V64,T33] (  2,  8   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;  V65 tmp53        [V65,T34] (  2,  8   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;  V66 tmp54        [V66,T35] (  2,  8   )     ref  ->  [rbp-0x88]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
-;  V67 tmp55        [V67,T19] ( 10, 40   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.Xsl.Qil.QilName>
+;  V67 tmp55        [V67,T17] ( 10, 40   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.Xsl.Qil.QilName>
 ;* V68 tmp56        [V68    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Qil.QilFactory>
 ;* V69 tmp57        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.XmlQueryTypeFactory+ItemType>
 ;* V70 tmp58        [V70    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Xml.Xsl.Qil.QilName]>
-;  V71 tmp59        [V71,T12] (  3,128   )   ubyte  ->  rsi         "Inline return value spill temp"
+;  V71 tmp59        [V71,T10] (  3,128   )   ubyte  ->  rsi         "Inline return value spill temp"
 ;* V72 tmp60        [V72    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Qil.QilName>
-;* V73 tmp61        [V73,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V74 tmp62        [V74,T01] (  5,320   )     ref  ->   r8         class-hnd exact "Inlining Arg" <System.String>
-;  V75 tmp63        [V75,T02] (  5,320   )     ref  ->   r9         class-hnd exact "Inlining Arg" <System.String>
-;  V76 tmp64        [V76,T10] (  2, 64   )   ubyte  ->  rax         "Inline return value spill temp"
-;  V77 tmp65        [V77,T13] (  2,128   )   byref  ->   r8         "impAppendStmt"
-;  V78 tmp66        [V78,T03] (  5,320   )     ref  ->  r10         class-hnd exact "Inlining Arg" <System.String>
-;  V79 tmp67        [V79,T04] (  5,320   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
-;  V80 tmp68        [V80,T11] (  4,128   )   ubyte  ->  rsi         "Inline return value spill temp"
-;  V81 tmp69        [V81,T14] (  2,128   )   byref  ->  r10         "impAppendStmt"
-;* V82 tmp70        [V82,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V73 tmp61        [V73,T21] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V74 tmp62        [V74,T00] (  5,320   )     ref  ->   r8         class-hnd exact "Inlining Arg" <System.String>
+;  V75 tmp63        [V75,T01] (  5,320   )     ref  ->   r9         class-hnd exact "Inlining Arg" <System.String>
+;  V76 tmp64        [V76,T08] (  2, 64   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V77 tmp65        [V77,T11] (  2,128   )   byref  ->   r8         "impAppendStmt"
+;  V78 tmp66        [V78,T02] (  5,320   )     ref  ->  r10         class-hnd exact "Inlining Arg" <System.String>
+;  V79 tmp67        [V79,T03] (  5,320   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
+;  V80 tmp68        [V80,T09] (  4,128   )   ubyte  ->  rsi         "Inline return value spill temp"
+;  V81 tmp69        [V81,T12] (  2,128   )   byref  ->  r10         "impAppendStmt"
+;* V82 tmp70        [V82,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V83 tmp71        [V83    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Xml.Xsl.Qil.QilName]>
 ;  V84 tmp72        [V84,T25] (  4, 16   )     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V85 tmp73        [V85,T36] (  2,  8   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
 ;  V86 tmp74        [V86,T52] (  2,  4   )     ref  ->  rsi         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
 ;  V87 tmp75        [V87,T29] (  3, 12   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;  V88 tmp76        [V88,T41] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Xml.Xsl.Qil.QilName[]>
 ;  V89 tmp77        [V89,T31] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
 ;* V90 tmp78        [V90    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;  V91 tmp79        [V91,T67] (  3,  3   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.Xml.Xsl.Xslt.VarPar]>
 ;  V92 tmp80        [V92,T103] (  3,  1.50)     int  ->  rdx         "Inline stloc first use temp"
 ;  V93 tmp81        [V93,T102] (  3,  1.50)     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <System.Xml.Xsl.Qil.QilName[]>
 ;  V94 tmp82        [V94,T84] (  5,  2.50)     int  ->  rax         "Inline stloc first use temp"
 ;  V95 tmp83        [V95,T68] (  3,  3   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Qil.QilName>
 ;  V96 tmp84        [V96,T69] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.String[]>
 ;  V97 tmp85        [V97,T98] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V98 tmp86        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;  V99 tmp87        [V99,T70] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.Xml.Xsl.Xslt.VarPar]>
 ;  V100 tmp88       [V100,T49] (  4,  4   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
 ;  V101 tmp89       [V101,T99] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
 ;  V102 tmp90       [V102,T111] (  2,  1   )     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
 ;  V103 tmp91       [V103,T71] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;  V104 tmp92       [V104,T51] (  3,  4   )     ref  ->  rax         "Single return block return value"
 ;* V105 tmp93       [V105,T53] (  0,  0   )     ref  ->  zero-ref    "field V10._list (fldOffset=0x0)" P-INDEP
-;  V106 tmp94       [V106,T06] (  4,192   )     ref  ->  [rbp-0xA0]  spill-single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;  V107 tmp95       [V107,T05] (  6,276   )     int  ->  [rbp-0x4C]  "field V10._index (fldOffset=0x10)" P-INDEP
-;  V108 tmp96       [V108,T21] (  2, 36   )     int  ->  [rbp-0x50]  spill-single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V106 tmp94       [V106,T07] (  4,128   )     ref  ->  [rbp-0xA0]  spill-single-def "field V10._current (fldOffset=0x8)" P-INDEP
+;  V107 tmp95       [V107,T05] (  6,148   )     int  ->  [rbp-0x4C]  "field V10._index (fldOffset=0x10)" P-INDEP
+;  V108 tmp96       [V108,T20] (  2, 36   )     int  ->  [rbp-0x50]  spill-single-def "field V10._version (fldOffset=0x14)" P-INDEP
 ;* V109 tmp97       [V109    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V110 tmp98       [V110    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;  V111 tmp99       [V111,T112] (  2,  1   )   byref  ->  rsi         "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V112 tmp100      [V112,T114] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;  V113 tmp101      [V113,T37] (  2,  8   )     ref  ->  rcx         "field V70._list (fldOffset=0x0)" P-INDEP
+;  V113 tmp101      [V113,T37] (  2,  8   )     ref  ->  rdi         "field V70._list (fldOffset=0x0)" P-INDEP
 ;* V114 tmp102      [V114    ] (  0,  0   )     ref  ->  zero-ref    "field V70._current (fldOffset=0x8)" P-INDEP
 ;* V115 tmp103      [V115,T54] (  0,  0   )     int  ->  zero-ref    "field V70._index (fldOffset=0x10)" P-INDEP
-;  V116 tmp104      [V116,T38] (  2,  8   )     int  ->  rcx         "field V70._version (fldOffset=0x14)" P-INDEP
+;  V116 tmp104      [V116,T38] (  2,  8   )     int  ->  rdx         "field V70._version (fldOffset=0x14)" P-INDEP
 ;  V117 tmp105      [V117,T42] (  3,  6   )     ref  ->  rcx         single-def "arr expr"
 ;  V118 tmp106      [V118,T72] (  3,  3   )     ref  ->  rcx         single-def "arr expr"
 ;  V119 tmp107      [V119,T79] (  3,  3   )     int  ->  rax         "index expr"
 ;  V120 tmp108      [V120,T73] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V121 tmp109      [V121,T74] (  3,  3   )     ref  ->  rax         "arr expr"
 ;  V122 tmp110      [V122,T80] (  3,  3   )     int  ->  rdi         "index expr"
-;  V123 tmp111      [V123,T00] (  3,384   )     ref  ->  rsi         "arr expr"
+;  V123 tmp111      [V123,T04] (  3,192   )     ref  ->  rsi         "arr expr"
 ;  V124 tmp112      [V124,T75] (  3,  3   )     ref  ->  rax         "arr expr"
 ;  V125 tmp113      [V125,T81] (  3,  3   )     int  ->  rsi         "index expr"
 ;  V126 tmp114      [V126,T100] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V127 tmp115      [V127,T76] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V128 tmp116      [V128,T77] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V129 tmp117      [V129,T82] (  3,  3   )     int  ->  rdi         "index expr"
 ;  V130 tmp118      [V130,T78] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V131 tmp119      [V131,T83] (  3,  3   )     int  ->  rdi         "index expr"
 ;  V132 cse0        [V132,T39] (  5,  6   )     int  ->  r13         "CSE #03: conservative"
 ;  V133 cse1        [V133,T104] (  3,  1.50)     int  ->  rcx         "CSE #17: conservative"
-;  V134 cse2        [V134,T20] (  3, 34   )     int  ->  rsi         "CSE #09: moderate"
+;  V134 cse2        [V134,T18] (  3, 34   )     int  ->  rsi         "CSE #09: moderate"
 ;  V135 cse3        [V135,T55] (  4,  3   )     ref  ->  rdi         "CSE #01: conservative"
 ;  V136 cse4        [V136,T105] (  3,  1.50)     int  ->  r15         "CSE #18: conservative"
-;  V137 cse5        [V137,T15] (  3, 96   )     int  ->  r10         "CSE #06: moderate"
-;  V138 cse6        [V138,T16] (  3, 96   )     int  ->   r8         "CSE #07: moderate"
+;  V137 cse5        [V137,T14] (  3, 96   )     int  ->  r10         "CSE #06: moderate"
+;  V138 cse6        [V138,T15] (  3, 96   )     int  ->   r8         "CSE #07: moderate"
 ;  V139 cse7        [V139,T50] (  4,  4   )     int  ->  r10         "CSE #04: conservative"
 ;  V140 rat0        [V140,T24] (  5, 16.50)    long  ->  r12         "Widened IV V06"
 ;  V141 rat1        [V141,T115] (  3, 12   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V142 rat2        [V142,T116] (  3, 12   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 120
 
 G_M7338_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 120
        lea      rbp, [rsp+0xA0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  xmmword ptr [rbp-0x48], xmm8
        xor      eax, eax
        mov      qword ptr [rbp-0x38], rax
        mov      rbx, rdi
 						;; size=41 bbWeight=1 PerfScore 10.58
 G_M7338_IG02:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, rdi
        mov      rcx, gword ptr [rax+0x48]
        cmp      esi, dword ptr [rcx+0x08]
        jae      G_M7338_IG46
        mov      edx, esi
        mov      ecx, dword ptr [rcx+4*rdx+0x10]
        mov      dword ptr [rax+0x54], ecx
        cmp      dword ptr [rax+0x54], 0
        je       G_M7338_IG42
 						;; size=39 bbWeight=1 PerfScore 15.50
 G_M7338_IG03:
        mov      rax, rdi
        mov      rcx, gword ptr [rax+0x30]
        mov      eax, dword ptr [rax+0x54]
        cmp      eax, dword ptr [rcx+0x08]
        jae      G_M7338_IG46
        shl      rax, 6
        mov      rax, gword ptr [rcx+rax+0x28]
        test     rax, rax
        je       G_M7338_IG07
 						;; size=37 bbWeight=0.50 PerfScore 6.00
 G_M7338_IG04:
        cmp      dword ptr [rax+0x08], 4
        jne      G_M7338_IG07
 						;; size=10 bbWeight=0.25 PerfScore 1.00
 G_M7338_IG05:
        mov      rcx, 0xD1FFAB1E
        cmp      qword ptr [rax+0x0C], rcx
        jne      G_M7338_IG07
 						;; size=20 bbWeight=0.12 PerfScore 0.53
 G_M7338_IG06:
        mov      rdi, gword ptr [rdi+0x18]
        mov      rax, gword ptr [rdi+0x08]
        mov      edi, dword ptr [rdi+0x10]
        cmp      edi, dword ptr [rax+0x08]
        jae      G_M7338_IG46
        shl      rdi, 5
        test     byte  ptr [rax+rdi+0x2C], 2
        jne      G_M7338_IG42
        mov      rdi, 0xD1FFAB1E      ; 'Xslt_NotYetImplemented'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; 'xsl:template[@mode='#all']'
        mov      gword ptr [r14+0x10], rdi
        mov      r13, gword ptr [rbx+0x08]
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        mov      rsi, rax
        cmp      byte  ptr [r13], r13b
        mov      rdi, r13
        mov      rdx, r15
        mov      rcx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        call     [rax]System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        mov      rsi, rax
        mov      rdi, gword ptr [r13+0x20]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        call     [rax]System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        jmp      G_M7338_IG42
 						;; size=174 bbWeight=0.50 PerfScore 24.62
 G_M7338_IG07:
        mov      rsi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rsi]
        cmp      byte  ptr [rax], al
        add      rsi, 16
        mov      edx, 4
        mov      rdi, rax
        mov      ecx, 0xD1FFAB1E
        mov      r8d, 1
        mov      rax, 0xD1FFAB1E      ; code for System.String:SplitInternal(System.ReadOnlySpan`1[ushort],int,int):System.String[]:this
        call     [rax]System.String:SplitInternal(System.ReadOnlySpan`1[ushort],int,int):System.String[]:this
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Xml.Xsl.Qil.QilName]
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      r13d, dword ptr [r15+0x08]
        mov      esi, r13d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:.ctor(int):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:.ctor(int):this
        mov      r12, gword ptr [rbx+0x08]
        mov      rdi, gword ptr [r12+0x20]
        mov      rdi, gword ptr [rdi+0x08]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.Collections.ArrayList:get_Count():int:this
        mov      dword ptr [r12+0xB4], eax
        test     r13d, r13d
        jne      G_M7338_IG10
        mov      rdi, 0xD1FFAB1E      ; 'Xslt_ModeListEmpty'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdi]
        mov      r12, gword ptr [rbx+0x08]
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        mov      rsi, rax
        cmp      byte  ptr [r12], r12b
        mov      rdi, r12
        mov      rdx, r15
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        call     [rax]System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        mov      rsi, rax
        mov      rdi, gword ptr [r12+0x20]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        call     [rax]System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
 						;; size=244 bbWeight=0.50 PerfScore 32.25
 G_M7338_IG08:
        mov      rdi, gword ptr [rbx+0x08]
        mov      rsi, gword ptr [rbx+0x28]
        mov      rsi, gword ptr [rsi+0x18]
        mov      rax, gword ptr [rsi+0x08]
        mov      esi, dword ptr [rsi+0x10]
        cmp      esi, dword ptr [rax+0x08]
        jae      G_M7338_IG46
        shl      rsi, 5
        test     byte  ptr [rax+rsi+0x2C], 2
        setne    sil
        movzx    rsi, sil
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:ExitForwardsCompatible(ubyte):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Xsl.Xslt.Compiler:ExitForwardsCompatible(ubyte):ubyte:this
        test     eax, eax
        jne      G_M7338_IG41
        inc      dword ptr [r14+0x14]
        mov      edx, dword ptr [r14+0x10]
        xor      edi, edi
        mov      dword ptr [r14+0x10], edi
        test     edx, edx
        jle      SHORT G_M7338_IG09
        mov      rdi, gword ptr [r14+0x08]
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Array:Clear(System.Array,int,int)
        call     [rax]System.Array:Clear(System.Array,int,int)
 						;; size=103 bbWeight=0.50 PerfScore 19.62
 G_M7338_IG09:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        inc      dword ptr [r14+0x14]
        mov      rdi, gword ptr [r14+0x08]
        mov      eax, dword ptr [r14+0x10]
        mov      ecx, dword ptr [rdi+0x08]
        cmp      ecx, eax
        jbe      G_M7338_IG40
        lea      edx, [rax+0x01]
        mov      dword ptr [r14+0x10], edx
        cmp      eax, ecx
        jae      G_M7338_IG46
        lea      rdi, bword ptr [rdi+8*rax+0x10]
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M7338_IG41
 						;; size=66 bbWeight=0.50 PerfScore 9.62
 G_M7338_IG10:
        xor      r12d, r12d
        test     r13d, r13d
        jle      G_M7338_IG08
 						;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M7338_IG11:
        mov      rax, gword ptr [r15+8*r12+0x10]
        mov      gword ptr [rbp-0x58], rax
        test     rax, rax
        je       G_M7338_IG20
 						;; size=18 bbWeight=4 PerfScore 17.00
 G_M7338_IG12:
        mov      r10d, dword ptr [rax+0x08]
        cmp      r10d, 8
        jne      G_M7338_IG23
 						;; size=14 bbWeight=1 PerfScore 3.25
 G_M7338_IG13:
        vmovups  xmm0, xmmword ptr [rax+0x0C]
        vpxor    xmm0, xmm0, xmmword ptr [reloc @RWD00]
        vptest   xmm0, xmm0
        sete     cl
        movzx    rcx, cl
        test     ecx, ecx
        je       G_M7338_IG23
        mov      rcx, 0xD1FFAB1E      ; const ptr
        mov      r11, gword ptr [rcx]
 						;; size=45 bbWeight=2 PerfScore 27.50
 G_M7338_IG14:
+       xor      ecx, ecx
+       mov      rdi, r14
+       mov      edx, dword ptr [rdi+0x14]
        xor      edi, edi
-       mov      rcx, r14
-       mov      ecx, dword ptr [rcx+0x14]
-       xor      edx, edx
-       mov      dword ptr [rbp-0x50], ecx
+       mov      dword ptr [rbp-0x50], edx
        jmp      SHORT G_M7338_IG16
 						;; size=15 bbWeight=4 PerfScore 23.00
 G_M7338_IG15:
-       or       edi, esi
-       movzx    rdi, dil
-       mov      r8d, edi
-       mov      edi, r8d
-						;; size=12 bbWeight=64 PerfScore 64.00
+       or       ecx, esi
+       movzx    rcx, cl
+       mov      dword ptr [rbp-0x2C], ecx
+       mov      ecx, dword ptr [rbp-0x2C]
+       mov      edx, dword ptr [rbp-0x50]
+       mov      edi, dword ptr [rbp-0x4C]
+						;; size=17 bbWeight=64 PerfScore 288.00
 G_M7338_IG16:
-       cmp      ecx, dword ptr [r14+0x14]
+       cmp      edx, dword ptr [r14+0x14]
        jne      G_M7338_IG45
 						;; size=10 bbWeight=32 PerfScore 128.00
 G_M7338_IG17:
        mov      esi, dword ptr [r14+0x10]
-       cmp      edx, esi
+       cmp      edi, esi
        jae      G_M7338_IG28
 						;; size=12 bbWeight=16 PerfScore 52.00
 G_M7338_IG18:
        mov      rsi, gword ptr [r14+0x08]
-       cmp      edx, dword ptr [rsi+0x08]
+       cmp      edi, dword ptr [rsi+0x08]
        jae      G_M7338_IG46
-       mov      r8d, edx
+       mov      r8d, edi
        mov      rsi, gword ptr [rsi+8*r8+0x10]
        mov      gword ptr [rbp-0xA0], rsi
-       inc      edx
+       inc      edi
+       mov      dword ptr [rbp-0x4C], edi
        cmp      byte  ptr [rsi], sil
-       test     r11, r11
+       mov      r8, gword ptr [rsi+0x30]
+       mov      r9, gword ptr [r11+0x30]
+       cmp      r8, r9
        jne      G_M7338_IG33
-						;; size=42 bbWeight=64 PerfScore 880.00
+						;; size=53 bbWeight=32 PerfScore 600.00
 G_M7338_IG19:
-       xor      esi, esi
-       jmp      SHORT G_M7338_IG15
-						;; size=4 bbWeight=32 PerfScore 72.00
+       mov      r10, gword ptr [rsi+0x38]
+       mov      rsi, gword ptr [r11+0x38]
+       cmp      r10, rsi
+       jne      G_M7338_IG36
+       mov      esi, 1
+       jmp      G_M7338_IG39
+						;; size=27 bbWeight=32 PerfScore 240.00
 G_M7338_IG20:
        lea      rcx, [rbp-0x38]
        lea      r9, [rbp-0x48]
        lea      r8, [rbp-0x40]
        mov      rdi, rbx
        mov      rdx, rax
        mov      esi, 1
        mov      r10, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltLoader:ResolveQName(ubyte,System.String,byref,byref,byref):ubyte:this
        call     [r10]System.Xml.Xsl.Xslt.XsltLoader:ResolveQName(ubyte,System.String,byref,byref,byref):ubyte:this
        mov      rax, gword ptr [rbp-0x38]
        mov      gword ptr [rbp-0x78], rax
        mov      rcx, gword ptr [rbp-0x40]
        mov      gword ptr [rbp-0x80], rcx
        mov      rdx, gword ptr [rbp-0x48]
        mov      gword ptr [rbp-0x88], rdx
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Xsl.Qil.QilName
        call     CORINFO_HELP_NEWSFAST
        mov      r11, rax
        mov      gword ptr [rbp-0x90], r11
        mov      dword ptr [r11+0x20], 25
        xor      rdi, rdi
        mov      gword ptr [r11+0x28], rdi
        lea      rdi, bword ptr [r11+0x30]
        mov      rsi, gword ptr [rbp-0x78]
        call     CORINFO_HELP_ASSIGN_REF
        mov      r11, gword ptr [rbp-0x90]
        lea      rdi, bword ptr [r11+0x38]
        mov      rsi, gword ptr [rbp-0x80]
        call     CORINFO_HELP_ASSIGN_REF
        mov      r11, gword ptr [rbp-0x90]
        lea      rdi, bword ptr [r11+0x40]
        mov      rsi, gword ptr [rbp-0x88]
        call     CORINFO_HELP_ASSIGN_REF
        mov      r11, gword ptr [rbp-0x90]
        lea      rdi, bword ptr [r11+0x28]
        mov      rsi, r11
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        mov      r11, gword ptr [rbp-0x90]
        lea      rdi, bword ptr [r11+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        xor      rdi, rdi
        mov      gword ptr [rbp-0x48], rdi
 						;; size=212 bbWeight=2 PerfScore 69.00
 G_M7338_IG21:
        mov      gword ptr [rbp-0x38], rdi
 						;; size=4 bbWeight=2 PerfScore 2.00
 G_M7338_IG22:
        mov      gword ptr [rbp-0x40], rdi
        mov      r11, gword ptr [rbp-0x90]
        mov      rax, r11
        mov      r11, rax
        mov      rax, gword ptr [rbp-0x58]
        jmp      G_M7338_IG14
 						;; size=26 bbWeight=2 PerfScore 11.00
 G_M7338_IG23:
        cmp      r10d, 8
        jne      G_M7338_IG26
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M7338_IG24:
        vmovups  xmm0, xmmword ptr [rax+0x0C]
        vpxor    xmm0, xmm0, xmmword ptr [reloc @RWD16]
        vptest   xmm0, xmm0
        sete     dil
        movzx    rdi, dil
        test     edi, edi
        je       G_M7338_IG26
 						;; size=34 bbWeight=2 PerfScore 23.00
 G_M7338_IG25:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rdi, gword ptr [rdi+0x18]
        mov      rax, gword ptr [rdi+0x08]
        mov      edi, dword ptr [rdi+0x10]
        cmp      edi, dword ptr [rax+0x08]
        jae      G_M7338_IG46
        shl      rdi, 5
        test     byte  ptr [rax+rdi+0x2C], 2
        jne      G_M7338_IG08
        mov      rdi, 0xD1FFAB1E      ; 'Xslt_NotYetImplemented'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; 'xsl:apply-templates[@mode='#current']'
        mov      gword ptr [r13+0x10], rdi
        mov      r12, gword ptr [rbx+0x08]
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        mov      rsi, rax
        cmp      byte  ptr [r12], r12b
        mov      rdi, r12
        mov      rdx, r15
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        call     [rax]System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        mov      rsi, rax
        mov      rdi, gword ptr [r12+0x20]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        call     [rax]System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        jmp      G_M7338_IG08
 						;; size=179 bbWeight=0.50 PerfScore 25.62
 G_M7338_IG26:
        cmp      r10d, 4
        jne      G_M7338_IG20
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M7338_IG27:
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rax+0x0C], rdi
        jne      G_M7338_IG20
        mov      rdi, 0xD1FFAB1E      ; 'Xslt_ModeListAll'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r12, rax
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdi]
        mov      r15, gword ptr [rbx+0x08]
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        mov      rsi, rax
        cmp      byte  ptr [r15], r15b
        mov      rdi, r15
        mov      rdx, r12
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        call     [rax]System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        mov      rsi, rax
        mov      rdi, gword ptr [r15+0x20]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        call     [rax]System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        jmp      G_M7338_IG08
 						;; size=134 bbWeight=0.50 PerfScore 19.12
 G_M7338_IG28:
-       test     edi, edi
+       test     ecx, ecx
        je       G_M7338_IG30
 						;; size=8 bbWeight=4 PerfScore 5.00
 G_M7338_IG29:
        mov      rdi, 0xD1FFAB1E      ; 'Xslt_ModeListDup'
        mov      rcx, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rcx]System.SR:GetResourceString(System.String):System.String
        mov      gword ptr [rbp-0x70], rax
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      gword ptr [rbp-0x68], rax
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, gword ptr [rbp-0x58]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbx+0x08]
        mov      gword ptr [rbp-0x98], rax
        mov      rdi, gword ptr [rbx+0x28]
        mov      rcx, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        cmp      dword ptr [rdi], edi
        call     [rcx]System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        mov      rsi, rax
        mov      rax, gword ptr [rbp-0x98]
        cmp      byte  ptr [rax], al
        mov      rdi, rax
        mov      rdx, gword ptr [rbp-0x70]
        mov      rcx, gword ptr [rbp-0x68]
        mov      r8, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        call     [r8]System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0x98]
        mov      rdi, gword ptr [rdi+0x20]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        call     [rax]System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        jmp      SHORT G_M7338_IG32
 						;; size=159 bbWeight=2 PerfScore 84.00
 G_M7338_IG30:
        inc      dword ptr [r14+0x14]
        mov      rdi, gword ptr [r14+0x08]
        cmp      dword ptr [rdi+0x08], esi
        jbe      SHORT G_M7338_IG31
        lea      eax, [rsi+0x01]
        mov      dword ptr [r14+0x10], eax
        mov      esi, esi
        lea      rdi, bword ptr [rdi+8*rsi+0x10]
        mov      rsi, r11
        call     CORINFO_HELP_ASSIGN_REF
        jmp      SHORT G_M7338_IG32
 						;; size=37 bbWeight=2 PerfScore 30.00
 G_M7338_IG31:
        mov      rdi, r14
        mov      rsi, r11
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
 						;; size=18 bbWeight=2 PerfScore 7.50
 G_M7338_IG32:
        inc      r12d
        cmp      r13d, r12d
        jg       G_M7338_IG11
        jmp      G_M7338_IG08
 						;; size=17 bbWeight=4 PerfScore 14.00
 G_M7338_IG33:
-       mov      r8, gword ptr [rsi+0x30]
-       mov      r9, gword ptr [r11+0x30]
-       cmp      r8, r9
-       jne      SHORT G_M7338_IG35
-						;; size=13 bbWeight=32 PerfScore 168.00
-G_M7338_IG34:
-       mov      r10, gword ptr [rsi+0x38]
-       mov      gword ptr [rbp-0x60], r11
-       mov      rsi, gword ptr [r11+0x38]
-       cmp      r10, rsi
-       jne      SHORT G_M7338_IG36
-       mov      esi, 1
-       jmp      G_M7338_IG39
-						;; size=27 bbWeight=32 PerfScore 272.00
-G_M7338_IG35:
        test     r8, r8
-       je       G_M7338_IG19
+       je       SHORT G_M7338_IG34
        test     r9, r9
-       je       G_M7338_IG19
+       je       SHORT G_M7338_IG34
        mov      r10d, dword ptr [r8+0x08]
        cmp      r10d, dword ptr [r9+0x08]
-       jne      G_M7338_IG19
-       mov      dword ptr [rbp-0x4C], edx
+       je       SHORT G_M7338_IG35
+						;; size=20 bbWeight=32 PerfScore 272.00
+G_M7338_IG34:
+       xor      esi, esi
+       jmp      G_M7338_IG15
+						;; size=7 bbWeight=32 PerfScore 72.00
+G_M7338_IG35:
+       mov      dword ptr [rbp-0x2C], ecx
        mov      gword ptr [rbp-0x60], r11
-       mov      dword ptr [rbp-0x2C], edi
        add      r8, 12
        add      r10d, r10d
        mov      edx, r10d
        lea      rsi, bword ptr [r9+0x0C]
        mov      rdi, r8
        mov      r8, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        mov      rax, gword ptr [rbp-0x58]
-       mov      ecx, dword ptr [rbp-0x50]
-       mov      edx, dword ptr [rbp-0x4C]
+       mov      ecx, dword ptr [rbp-0x2C]
        mov      rsi, gword ptr [rbp-0xA0]
-       mov      edi, dword ptr [rbp-0x2C]
        mov      r11, gword ptr [rbp-0x60]
-       je       G_M7338_IG19
-       jmp      G_M7338_IG34
-						;; size=109 bbWeight=32 PerfScore 816.00
+       je       SHORT G_M7338_IG34
+       jmp      G_M7338_IG19
+						;; size=64 bbWeight=32 PerfScore 448.00
 G_M7338_IG36:
        test     r10, r10
        je       SHORT G_M7338_IG37
        test     rsi, rsi
        je       SHORT G_M7338_IG37
        mov      r8d, dword ptr [r10+0x08]
        cmp      r8d, dword ptr [rsi+0x08]
        je       SHORT G_M7338_IG38
 						;; size=20 bbWeight=32 PerfScore 272.00
 G_M7338_IG37:
        xor      esi, esi
        jmp      SHORT G_M7338_IG39
 						;; size=4 bbWeight=32 PerfScore 72.00
 G_M7338_IG38:
-       mov      dword ptr [rbp-0x4C], edx
-       mov      dword ptr [rbp-0x2C], edi
+       mov      dword ptr [rbp-0x2C], ecx
+       mov      gword ptr [rbp-0x60], r11
        add      r10, 12
        add      r8d, r8d
        mov      edx, r8d
        add      rsi, 12
        mov      rdi, r10
        mov      r8, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        mov      esi, eax
        mov      rax, gword ptr [rbp-0x58]
-       mov      ecx, dword ptr [rbp-0x50]
-       mov      edx, dword ptr [rbp-0x4C]
-       mov      edi, dword ptr [rbp-0x2C]
-						;; size=51 bbWeight=32 PerfScore 344.00
-G_M7338_IG39:
+       mov      ecx, dword ptr [rbp-0x2C]
        mov      r11, gword ptr [rbp-0x60]
+						;; size=50 bbWeight=32 PerfScore 312.00
+G_M7338_IG39:
        jmp      G_M7338_IG15
-						;; size=9 bbWeight=32 PerfScore 96.00
+						;; size=5 bbWeight=32 PerfScore 64.00
 G_M7338_IG40:
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M7338_IG41:
        mov      r15d, dword ptr [r14+0x10]
        cmp      r15d, 1
        jle      G_M7338_IG43
        mov      rdi, gword ptr [rbx+0x28]
        mov      rdi, gword ptr [rdi+0x18]
        mov      rax, gword ptr [rdi+0x08]
        mov      edi, dword ptr [rdi+0x10]
        cmp      edi, dword ptr [rax+0x08]
        jae      G_M7338_IG46
        shl      rdi, 5
        test     byte  ptr [rax+rdi+0x2C], 2
        jne      G_M7338_IG42
        mov      rdi, 0xD1FFAB1E      ; 'Xslt_NotYetImplemented'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; 'Multiple modes'
        mov      gword ptr [r14+0x10], rdi
        mov      r13, gword ptr [rbx+0x08]
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Xsl.Xslt.XsltInput:BuildNameLineInfo():System.Xml.Xsl.ISourceLineInfo:this
        mov      rsi, rax
        cmp      byte  ptr [r13], r13b
        mov      rdi, r13
        mov      rdx, r15
        mov      rcx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        call     [rax]System.Xml.Xsl.Xslt.Compiler:CreateError(System.Xml.Xsl.ISourceLineInfo,System.String,System.String[]):System.Xml.Xsl.Xslt.CompilerError:this
        mov      rsi, rax
        mov      rdi, gword ptr [r13+0x20]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
        call     [rax]System.Collections.CollectionBase:System.Collections.IList.Add(System.Object):int:this
 						;; size=187 bbWeight=0.50 PerfScore 26.25
 G_M7338_IG42:
        mov      rax, 0xD1FFAB1E      ; const ptr
        mov      rax, gword ptr [rax]
        jmp      SHORT G_M7338_IG44
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M7338_IG43:
        test     r15d, r15d
        je       SHORT G_M7338_IG42
        mov      rax, gword ptr [r14+0x08]
        cmp      dword ptr [rax+0x08], 0
        jbe      SHORT G_M7338_IG46
        mov      rax, gword ptr [rax+0x10]
 						;; size=19 bbWeight=0.50 PerfScore 4.62
 G_M7338_IG44:
        add      rsp, 120
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M7338_IG45:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
        call     [rax]System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M7338_IG46:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 RWD00  	dq	0066006500640023h, 0074006C00750061h
 RWD16  	dq	0072007500630023h, 0074006E00650072h
 
 
-; Total bytes of code 2269, prolog size 41, PerfScore 3758.99, instruction count 515, allocated bytes for code 2269 (MethodHash=6c66e355) for method System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (FullOpts)
+; Total bytes of code 2245, prolog size 41, PerfScore 3342.99, instruction count 510, allocated bytes for code 2245 (MethodHash=6c66e355) for method System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M4349_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M4349_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M4349_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M4349_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M4349_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M4349_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M4349_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M4349_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M4349_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M4349_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[double]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M4349_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M4349_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M4349_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M4349_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M4349_IG08:
        or       r15d, r13d
-       jne      SHORT G_M4349_IG16
+       jne      SHORT G_M4349_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M4349_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M4349_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M4349_IG16
+       ja       SHORT G_M4349_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M4349_IG10:
-       test     r12, r12
-       je       SHORT G_M4349_IG15
        cmp      esi, 1
        jle      SHORT G_M4349_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M4349_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M4349_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M4349_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M4349_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M4349_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M4349_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M4349_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=50fdef02) for method System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=50fdef02) for method System.Linq.Enumerable+EnumerableSorter`2[double,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M475_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M475_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M475_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M475_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M475_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M475_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M475_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M475_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M475_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M475_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[int]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M475_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M475_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M475_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M475_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M475_IG08:
        or       r15d, r13d
-       jne      SHORT G_M475_IG16
+       jne      SHORT G_M475_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M475_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M475_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M475_IG16
+       ja       SHORT G_M475_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M475_IG10:
-       test     r12, r12
-       je       SHORT G_M475_IG15
        cmp      esi, 1
        jle      SHORT G_M475_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M475_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M475_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M475_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M475_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M475_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M475_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M475_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=11a6fe24) for method System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=11a6fe24) for method System.Linq.Enumerable+EnumerableSorter`2[int,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M44482_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M44482_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M44482_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M44482_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M44482_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M44482_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M44482_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M44482_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M44482_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M44482_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[long]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M44482_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M44482_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M44482_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M44482_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M44482_IG08:
        or       r15d, r13d
-       jne      SHORT G_M44482_IG16
+       jne      SHORT G_M44482_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M44482_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M44482_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M44482_IG16
+       ja       SHORT G_M44482_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M44482_IG10:
-       test     r12, r12
-       je       SHORT G_M44482_IG15
        cmp      esi, 1
        jle      SHORT G_M44482_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M44482_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M44482_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M44482_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M44482_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M44482_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M44482_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M44482_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=cd60523d) for method System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=cd60523d) for method System.Linq.Enumerable+EnumerableSorter`2[long,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M52570_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M52570_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M52570_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M52570_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M52570_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M52570_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M52570_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M52570_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M52570_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M52570_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[short]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M52570_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M52570_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M52570_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M52570_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M52570_IG08:
        or       r15d, r13d
-       jne      SHORT G_M52570_IG16
+       jne      SHORT G_M52570_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M52570_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M52570_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M52570_IG16
+       ja       SHORT G_M52570_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M52570_IG10:
-       test     r12, r12
-       je       SHORT G_M52570_IG15
        cmp      esi, 1
        jle      SHORT G_M52570_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M52570_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M52570_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M52570_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M52570_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M52570_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M52570_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M52570_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=a9dc32a5) for method System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=a9dc32a5) for method System.Linq.Enumerable+EnumerableSorter`2[short,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.20 % of base) - System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 10,  6.50)     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T11] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T12] (  3,  2   )    long  ->  r12         "spilling helperCall"
 ;  V07 tmp2         [V07,T05] (  4,  4   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V10 tmp5         [V10,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V12 tmp7         [V12,T14] (  2,  2   )    long  ->  r12         "Inlining Arg"
 ;  V13 tmp8         [V13,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V15 tmp10        [V15,T15] (  3,  1.50)   byref  ->  rdi         "field V08._reference (fldOffset=0x0)" P-INDEP
-;  V16 tmp11        [V16,T10] (  4,  2.50)     int  ->  rsi         "field V08._length (fldOffset=0x8)" P-INDEP
+;  V16 tmp11        [V16,T09] (  4,  2.50)     int  ->  rsi         "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V18 tmp13        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;  V19 rat0         [V19,T11] (  3,  2.20)    long  ->  rdi         "Spilling to split statement for tree"
-;  V20 rat1         [V20,T09] (  3,  2.80)    long  ->  r12         "fgMakeTemp is creating a new local variable"
+;  V19 rat0         [V19,T10] (  3,  2.20)    long  ->  rdi         "Spilling to split statement for tree"
+;  V20 rat1         [V20,T08] (  3,  2.80)    long  ->  r12         "fgMakeTemp is creating a new local variable"
 ;  V21 rat2         [V21,T13] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 24
 
 G_M30158_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=35 bbWeight=1 PerfScore 8.75
 G_M30158_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M30158_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M30158_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M30158_IG16
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M30158_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M30158_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      G_M30158_IG08
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      G_M30158_IG09
 						;; size=76 bbWeight=0.50 PerfScore 7.38
 G_M30158_IG05:
        mov      rdi, qword ptr [rbx]
        mov      rsi, qword ptr [rdi+0x30]
        mov      rsi, qword ptr [rsi+0x08]
        mov      r12, qword ptr [rsi+0x18]
        test     r12, r12
        je       SHORT G_M30158_IG07
 						;; size=20 bbWeight=0.50 PerfScore 4.62
 G_M30158_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x38], rax
        mov      rdi, rbx
        mov      rsi, r12
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      r12, rax
        mov      rax, gword ptr [rbp-0x38]
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, gword ptr [rbp-0x38]
        mov      qword ptr [rdi+0x18], r12
        mov      r12, rdi
        jmp      SHORT G_M30158_IG09
 						;; size=72 bbWeight=0.50 PerfScore 5.62
 G_M30158_IG07:
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        mov      r12, rax
        jmp      SHORT G_M30158_IG06
 						;; size=20 bbWeight=0.10 PerfScore 0.35
 G_M30158_IG08:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M30158_IG09:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M30158_IG11
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M30158_IG10:
        or       r15d, r13d
-       jne      SHORT G_M30158_IG18
+       jne      SHORT G_M30158_IG17
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M30158_IG12
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M30158_IG11:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M30158_IG18
+       ja       SHORT G_M30158_IG17
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M30158_IG12:
-       test     r12, r12
-       je       SHORT G_M30158_IG17
        cmp      esi, 1
        jle      SHORT G_M30158_IG14
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M30158_IG13:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M30158_IG14:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M30158_IG15:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M30158_IG16:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M30158_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M30158_IG17:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M30158_IG18:
        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 442, prolog size 23, PerfScore 51.23, instruction count 111, allocated bytes for code 442 (MethodHash=801b8a31) for method System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 419, prolog size 23, PerfScore 49.98, instruction count 105, allocated bytes for code 419 (MethodHash=801b8a31) for method System.Linq.Enumerable+EnumerableSorter`2[System.__Canon,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M24054_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M24054_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M24054_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M24054_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M24054_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M24054_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M24054_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M24054_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M24054_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M24054_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[System.Nullable`1[int]]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M24054_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M24054_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M24054_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M24054_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M24054_IG08:
        or       r15d, r13d
-       jne      SHORT G_M24054_IG16
+       jne      SHORT G_M24054_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M24054_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M24054_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M24054_IG16
+       ja       SHORT G_M24054_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M24054_IG10:
-       test     r12, r12
-       je       SHORT G_M24054_IG15
        cmp      esi, 1
        jle      SHORT G_M24054_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M24054_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M24054_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M24054_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M24054_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M24054_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M24054_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M24054_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=1207a209) for method System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=1207a209) for method System.Linq.Enumerable+EnumerableSorter`2[System.Nullable`1[int],System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M59595_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M59595_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M59595_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M59595_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M59595_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M59595_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M59595_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M59595_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M59595_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M59595_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[System.Numerics.Vector`1[float]]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M59595_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M59595_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M59595_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M59595_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M59595_IG08:
        or       r15d, r13d
-       jne      SHORT G_M59595_IG16
+       jne      SHORT G_M59595_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M59595_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M59595_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M59595_IG16
+       ja       SHORT G_M59595_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M59595_IG10:
-       test     r12, r12
-       je       SHORT G_M59595_IG15
        cmp      esi, 1
        jle      SHORT G_M59595_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M59595_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M59595_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M59595_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M59595_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M59595_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M59595_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M59595_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=0edb1734) for method System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=0edb1734) for method System.Linq.Enumerable+EnumerableSorter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
-23 (-5.90 % of base) - System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]:QuickSort(int[],int,int):this
 ; Assembly listing for method System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]:QuickSort(int[],int,int):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; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r14         class-hnd single-def <int[]>
 ;  V02 arg2         [V02,T01] (  6,  4.50)     int  ->  r15         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T08] (  5,  3   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
+;  V04 loc0         [V04,T09] (  4,  2   )     ref  ->  r12         class-hnd <System.Comparison`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
 ;  V09 tmp4         [V09,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V10 tmp5         [V10,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Comparison`1[int]>
 ;  V11 tmp6         [V11,T11] (  2,  2   )    long  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V12 tmp7         [V12,T03] (  4,  5   )     int  ->  r13         "Inlining Arg"
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;  V14 tmp9         [V14,T12] (  3,  1.50)   byref  ->  rdi         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V15 tmp10        [V15,T09] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp10        [V15,T08] (  4,  2.50)     int  ->  rsi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V17 tmp12        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V18 rat0         [V18,T10] (  2,  2   )     ref  ->  r12         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M15319_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15d, edx
        mov      r13d, ecx
 						;; size=28 bbWeight=1 PerfScore 8.50
 G_M15319_IG02:
        cmp      gword ptr [rbx+0x18], 0
        jne      SHORT G_M15319_IG05
 						;; size=7 bbWeight=1 PerfScore 4.00
 G_M15319_IG03:
        mov      r12, gword ptr [rbx+0x10]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M15319_IG14
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M15319_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.Comparer`1[System.Nullable`1[int]]:<Default>k__BackingField
        cmp      r12, gword ptr [rdi]
        jne      SHORT G_M15319_IG05
        cmp      byte  ptr [rbx+0x28], 0
        jne      SHORT G_M15319_IG06
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
        jmp      SHORT G_M15319_IG07
 						;; size=69 bbWeight=0.50 PerfScore 7.38
 G_M15319_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+EnumerableSorter`1[ubyte]
        mov      rdx, 0xD1FFAB1E      ; token handle
        call     CORINFO_HELP_VIRTUAL_FUNC_PTR
        mov      qword ptr [rbp-0x30], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rbx, qword ptr [rbp-0x30]
        mov      qword ptr [r12+0x18], rbx
        jmp      SHORT G_M15319_IG07
 						;; size=74 bbWeight=0.50 PerfScore 5.00
 G_M15319_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Comparison`1[int]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]:CompareAnyKeys_DefaultComparer_NoNext_Descending(int,int):int:this
        mov      qword ptr [r12+0x18], rdi
 						;; size=46 bbWeight=0.50 PerfScore 2.25
 G_M15319_IG07:
        sub      r13d, r15d
        inc      r13d
        test     r14, r14
        jne      SHORT G_M15319_IG09
 						;; size=11 bbWeight=1 PerfScore 1.75
 G_M15319_IG08:
        or       r15d, r13d
-       jne      SHORT G_M15319_IG16
+       jne      SHORT G_M15319_IG15
        xor      rdi, rdi
        xor      esi, esi
        jmp      SHORT G_M15319_IG10
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 G_M15319_IG09:
        mov      edi, r15d
        mov      esi, r13d
        add      rdi, rsi
        mov      esi, dword ptr [r14+0x08]
        cmp      rdi, rsi
-       ja       SHORT G_M15319_IG16
+       ja       SHORT G_M15319_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [r14+4*rdi+0x10]
        mov      esi, r13d
 						;; size=29 bbWeight=0.50 PerfScore 2.75
 G_M15319_IG10:
-       test     r12, r12
-       je       SHORT G_M15319_IG15
        cmp      esi, 1
        jle      SHORT G_M15319_IG12
-						;; size=10 bbWeight=1 PerfScore 2.50
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M15319_IG11:
        mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
        call     [rax]System.Collections.Generic.ArraySortHelper`1[int]:Sort(System.Span`1[int],System.Comparison`1[int])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M15319_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M15319_IG13:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M15319_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Comparer`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M15319_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M15319_IG15:
-       mov      edi, 29
-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
-       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
-       int3     
-						;; size=18 bbWeight=0 PerfScore 0.00
-G_M15319_IG16:
        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 390, prolog size 16, PerfScore 45.38, instruction count 98, allocated bytes for code 390 (MethodHash=a7bfc428) for method System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
+; Total bytes of code 367, prolog size 16, PerfScore 44.12, instruction count 92, allocated bytes for code 367 (MethodHash=a7bfc428) for method System.Linq.Enumerable+EnumerableSorter`2[ubyte,System.Nullable`1[int]]:QuickSort(int[],int,int):this (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment