185 (9.60 % of base) - System.Buffers.SearchValues:Create(System.ReadOnlySpan`1[ushort]):System.Buffers.SearchValues`1[ushort]
; Assembly listing for method System.Buffers.SearchValues:Create(System.ReadOnlySpan`1[ushort]):System.Buffers.SearchValues`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; 87 single block inlinees; 15 inlinees without PGO data
+; 0 inlinees with PGO data; 95 single block inlinees; 17 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T14] ( 3, 3 ) struct (16) [rbp-0x148] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+; V00 arg0 [V00,T15] ( 3, 3 ) struct (16) [rbp-0x148] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
;* V01 loc0 [V01 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[short]>
; V02 loc1 [V02 ] ( 7, 3.50) ushort -> [rbp-0x150] do-not-enreg[X] addr-exposed ld-addr-op ptr
; V03 loc2 [V03 ] ( 6, 3 ) ushort -> [rbp-0x158] do-not-enreg[X] addr-exposed ld-addr-op ptr
-; V04 loc3 [V04,T51] ( 3, 1.50) ushort -> r12
-; V05 loc4 [V05,T23] ( 6, 3 ) ushort -> r15
-; V06 loc5 [V06,T24] ( 6, 3 ) ushort -> r12
-; V07 loc6 [V07,T52] ( 3, 1.50) ushort -> r15
-; V08 loc7 [V08,T53] ( 3, 1.50) ushort -> r12
-; V09 loc8 [V09,T54] ( 3, 1.50) ushort -> r14
+; V04 loc3 [V04,T55] ( 3, 1.50) ushort -> r14
+; V05 loc4 [V05,T22] ( 6, 3 ) ushort -> r15
+; V06 loc5 [V06,T23] ( 6, 3 ) ushort -> r14
+; V07 loc6 [V07,T56] ( 3, 1.50) ushort -> r12
+; V08 loc7 [V08,T57] ( 3, 1.50) ushort -> r15
+; V09 loc8 [V09,T58] ( 3, 1.50) ushort -> r14
;* V10 loc9 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ushort]>
-;# V11 OutArgs [V11 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V12 tmp1 [V12,T26] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.BitmapCharSearchValues>
-; V13 tmp2 [V13,T27] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.ProbabilisticCharSearchValues>
-; V14 tmp3 [V14,T05] ( 6, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
-; V15 tmp4 [V15,T06] ( 6, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]>
-; V16 tmp5 [V16,T28] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any5SearchValues`2[ushort,short]>
-; V17 tmp6 [V17,T07] ( 6, 6 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any4SearchValues`2[ushort,short]>
-; V18 tmp7 [V18,T29] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
-; V19 tmp8 [V19,T30] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]>
-; V20 tmp9 [V20 ] ( 1, 0.50) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
-;* V21 tmp10 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V22 tmp11 [V22,T31] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any2CharPackedIgnoreCaseSearchValues>
-; V23 tmp12 [V23,T09] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any3SearchValues`2[ushort,short]>
-; V24 tmp13 [V24,T10] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any3CharPackedSearchValues>
-; V25 tmp14 [V25,T18] ( 4, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any2SearchValues`2[ushort,short]>
-; V26 tmp15 [V26,T11] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any1CharPackedIgnoreCaseSearchValues>
-; V27 tmp16 [V27,T19] ( 4, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any2CharPackedSearchValues>
-; V28 tmp17 [V28,T02] ( 7, 7 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.RangeCharSearchValues`1[System.Buffers.SearchValues+FalseConst]>
-; V29 tmp18 [V29,T03] ( 7, 7 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.RangeCharSearchValues`1[System.Buffers.SearchValues+TrueConst]>
-; V30 tmp19 [V30,T32] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any1SearchValues`2[ushort,short]>
-; V31 tmp20 [V31,T33] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any1CharPackedSearchValues>
-;* V32 tmp21 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Buffers.EmptySearchValues`1[ushort]>
-;* V33 tmp22 [V33 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
-;* V34 tmp23 [V34 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
-;* V35 tmp24 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V36 tmp25 [V36 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
-;* V37 tmp26 [V37,T75] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
-;* V38 tmp27 [V38 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[short]>
-;* V39 tmp28 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V40 tmp29 [V40 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V41 tmp30 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
-; V42 tmp31 [V42,T40] ( 2, 2 ) ushort -> rdi "Inlining Arg"
-; V43 tmp32 [V43,T41] ( 2, 2 ) ushort -> rdi "Inlining Arg"
-; V44 tmp33 [V44,T12] ( 5, 5 ) ushort -> rdi "Inlining Arg"
-;* V45 tmp34 [V45 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-; V46 tmp35 [V46,T20] ( 4, 4 ) ushort -> r13 "Inlining Arg"
-; V47 tmp36 [V47,T61] ( 2, 1 ) ushort -> rcx "Inline stloc first use temp"
-;* V48 tmp37 [V48 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-; V49 tmp38 [V49,T13] ( 5, 5 ) ushort -> rdi "Inlining Arg"
-;* V50 tmp39 [V50 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-; V51 tmp40 [V51,T21] ( 4, 4 ) ushort -> rcx "Inlining Arg"
-; V52 tmp41 [V52,T62] ( 2, 1 ) ushort -> rdx "Inline stloc first use temp"
-;* V53 tmp42 [V53 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V54 tmp43 [V54 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V55 tmp44 [V55 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-; V56 tmp45 [V56,T38] ( 4, 2 ) ushort -> r15 "Inline return value spill temp"
-;* V57 tmp46 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
-; V58 tmp47 [V58,T63] ( 2, 1 ) short -> rdi "Inline stloc first use temp"
-; V59 tmp48 [V59,T64] ( 2, 1 ) short -> rcx "Inline stloc first use temp"
-;* V60 tmp49 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
-; V61 tmp50 [V61,T65] ( 2, 1 ) short -> rdi "Inline stloc first use temp"
-; V62 tmp51 [V62,T66] ( 2, 1 ) short -> rsi "Inline stloc first use temp"
-; V63 tmp52 [V63,T67] ( 2, 1 ) short -> rdx "Inline stloc first use temp"
-;* V64 tmp53 [V64 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V65 tmp54 [V65 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V66 tmp55 [V66 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V67 tmp56 [V67 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V68 tmp57 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V69 tmp58 [V69 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V70 tmp59 [V70 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V71 tmp60 [V71 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V72 tmp61 [V72 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ushort]>
-;* V73 tmp62 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V74 tmp63 [V74 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V75 tmp64 [V75 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V76 tmp65 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
-; V77 tmp66 [V77,T68] ( 2, 1 ) short -> rdi "Inline stloc first use temp"
-; V78 tmp67 [V78,T69] ( 2, 1 ) short -> rcx "Inline stloc first use temp"
-; V79 tmp68 [V79,T70] ( 2, 1 ) short -> rdx "Inline stloc first use temp"
-; V80 tmp69 [V80,T71] ( 2, 1 ) short -> rsi "Inline stloc first use temp"
-;* V81 tmp70 [V81 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V82 tmp71 [V82 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V83 tmp72 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V84 tmp73 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V85 tmp74 [V85,T72] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-;* V86 tmp75 [V86 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg"
-;* V87 tmp76 [V87 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
-;* V88 tmp77 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V89 tmp78 [V89 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V90 tmp79 [V90,T42] ( 2, 2 ) int -> r13 "Inlining Arg"
-; V91 tmp80 [V91 ] ( 2, 2 ) struct (56) [rbp-0x190] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Buffers.ProbabilisticMapState>
-; V92 tmp81 [V92,T34] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
-; V93 tmp82 [V93,T81] ( 2, 2 ) simd16 -> [rbp-0x1A0] spill-single-def ptr "spilled call-like call argument"
-; V94 tmp83 [V94,T43] ( 2, 2 ) struct (128) [rbp-0xB8] do-not-enreg[SF] ld-addr-op unsafe-buffer "NewObj constructor temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
-; V95 tmp84 [V95,T44] ( 2, 2 ) struct (32) [rbp-0x1C0] do-not-enreg[HS] hidden-struct-arg "spilled call-like call argument" <System.Buffers.BitVector256>
-; V96 tmp85 [V96,T77] ( 3, 3 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-; V97 tmp86 [V97,T78] ( 3, 3 ) simd32 -> mm0 "spilled call-like call argument"
-;* V98 tmp87 [V98 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
-; V99 tmp88 [V99,T85] ( 1, 0.50) simd64 -> [rbp-0x230] ld-addr-op ptr "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
-;* V100 tmp89 [V100 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V101 tmp90 [V101,T45] ( 2, 2 ) int -> r14 "Inlining Arg"
-; V102 tmp91 [V102 ] ( 2, 2 ) struct (56) [rbp-0x268] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Buffers.ProbabilisticMapState>
-; V103 tmp92 [V103,T35] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
-; V104 tmp93 [V104,T82] ( 2, 2 ) simd16 -> [rbp-0x280] spill-single-def ptr "spilled call-like call argument"
-; V105 tmp94 [V105,T46] ( 2, 2 ) struct (128) [rbp-0x138] do-not-enreg[SF] ld-addr-op unsafe-buffer "NewObj constructor temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
-; V106 tmp95 [V106,T47] ( 2, 2 ) struct (32) [rbp-0x2A0] do-not-enreg[HS] hidden-struct-arg "spilled call-like call argument" <System.Buffers.BitVector256>
-; V107 tmp96 [V107,T79] ( 3, 3 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-; V108 tmp97 [V108,T80] ( 3, 3 ) simd32 -> mm0 "spilled call-like call argument"
-;* V109 tmp98 [V109 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
-; V110 tmp99 [V110,T86] ( 1, 0.50) simd64 -> [rbp-0x2F0] ld-addr-op ptr "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
-;* V111 tmp100 [V111,T73] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V112 tmp101 [V112 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V113 tmp102 [V113 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V114 tmp103 [V114,T48] ( 2, 2 ) int -> rcx "Inlining Arg"
-; V115 tmp104 [V115 ] ( 2, 2 ) struct (56) [rbp-0x328] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Buffers.ProbabilisticMapState>
-; V116 tmp105 [V116,T00] ( 20, 21 ) ref -> rax "Single return block return value"
-;* V117 tmp106 [V117 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V01._reference (fldOffset=0x0)" P-INDEP
-;* V118 tmp107 [V118 ] ( 0, 0 ) int -> zero-ref ptr "field V01._length (fldOffset=0x8)" P-INDEP
-;* V119 tmp108 [V119 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V120 tmp109 [V120 ] ( 0, 0 ) int -> zero-ref ptr "field V10._length (fldOffset=0x8)" P-INDEP
-; V121 tmp110 [V121,T22] ( 7, 3.50) byref -> rbx single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V122 tmp111 [V122,T76] ( 0, 0 ) int -> zero-ref ptr "field V21._length (fldOffset=0x8)" P-INDEP
-; V123 tmp112 [V123,T01] ( 17, 8.50) byref -> r13 single-def "field V35._reference (fldOffset=0x0)" P-INDEP
-;* V124 tmp113 [V124 ] ( 0, 0 ) int -> zero-ref ptr "field V35._length (fldOffset=0x8)" P-INDEP
-; V125 tmp114 [V125,T59] ( 2, 1 ) byref -> r12 single-def "field V38._reference (fldOffset=0x0)" P-INDEP
-; V126 tmp115 [V126,T25] ( 6, 3 ) int -> [rbp-0x32C] spill-single-def ptr "field V38._length (fldOffset=0x8)" P-INDEP
-;* V127 tmp116 [V127 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V39._reference (fldOffset=0x0)" P-INDEP
-;* V128 tmp117 [V128 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
-;* V129 tmp118 [V129 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V130 tmp119 [V130 ] ( 0, 0 ) int -> zero-ref ptr "field V41._length (fldOffset=0x8)" P-INDEP
-;* V131 tmp120 [V131 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V57._reference (fldOffset=0x0)" P-INDEP
-;* V132 tmp121 [V132 ] ( 0, 0 ) int -> zero-ref ptr "field V57._length (fldOffset=0x8)" P-INDEP
-;* V133 tmp122 [V133 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V60._reference (fldOffset=0x0)" P-INDEP
-;* V134 tmp123 [V134 ] ( 0, 0 ) int -> zero-ref ptr "field V60._length (fldOffset=0x8)" P-INDEP
-;* V135 tmp124 [V135 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V68._reference (fldOffset=0x0)" P-INDEP
-;* V136 tmp125 [V136 ] ( 0, 0 ) int -> zero-ref ptr "field V68._length (fldOffset=0x8)" P-INDEP
-;* V137 tmp126 [V137 ] ( 0, 0 ) byref -> zero-ref "field V72._reference (fldOffset=0x0)" P-INDEP
-;* V138 tmp127 [V138 ] ( 0, 0 ) int -> zero-ref "field V72._length (fldOffset=0x8)" P-INDEP
-;* V139 tmp128 [V139 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V73._reference (fldOffset=0x0)" P-INDEP
-;* V140 tmp129 [V140 ] ( 0, 0 ) int -> zero-ref ptr "field V73._length (fldOffset=0x8)" P-INDEP
-;* V141 tmp130 [V141 ] ( 0, 0 ) byref -> zero-ref "field V74._reference (fldOffset=0x0)" P-INDEP
-;* V142 tmp131 [V142 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
-;* V143 tmp132 [V143 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP
-;* V144 tmp133 [V144 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
-;* V145 tmp134 [V145 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V76._reference (fldOffset=0x0)" P-INDEP
-;* V146 tmp135 [V146 ] ( 0, 0 ) int -> zero-ref ptr "field V76._length (fldOffset=0x8)" P-INDEP
-;* V147 tmp136 [V147 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V83._reference (fldOffset=0x0)" P-INDEP
-;* V148 tmp137 [V148 ] ( 0, 0 ) int -> zero-ref ptr "field V83._length (fldOffset=0x8)" P-INDEP
-;* V149 tmp138 [V149 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V84._reference (fldOffset=0x0)" P-INDEP
-;* V150 tmp139 [V150 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
-;* V151 tmp140 [V151 ] ( 0, 0 ) byref -> zero-ref "field V88._reference (fldOffset=0x0)" P-INDEP
-;* V152 tmp141 [V152 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
-; V153 tmp142 [V153,T49] ( 3, 1.50) byref -> r14 single-def "field V89._reference (fldOffset=0x0)" P-INDEP
-; V154 tmp143 [V154,T55] ( 3, 1.50) int -> rbx "field V89._length (fldOffset=0x8)" P-INDEP
-; V155 tmp144 [V155,T50] ( 3, 1.50) byref -> r15 single-def "field V100._reference (fldOffset=0x0)" P-INDEP
-; V156 tmp145 [V156,T56] ( 3, 1.50) int -> rbx "field V100._length (fldOffset=0x8)" P-INDEP
-; V157 tmp146 [V157,T60] ( 2, 1 ) byref -> rsi single-def "field V113._reference (fldOffset=0x0)" P-INDEP
-; V158 tmp147 [V158,T74] ( 2, 1 ) int -> rdx "field V113._length (fldOffset=0x8)" P-INDEP
-; V159 tmp148 [V159,T16] ( 8, 4.50) byref -> r14 single-def "V00.[000..008)"
-; V160 tmp149 [V160,T04] ( 9, 5.50) int -> rbx "V00.[008..012)"
-; V161 tmp150 [V161,T83] ( 2, 1 ) simd64 -> mm0 "V94.[000..064)"
-; V162 tmp151 [V162,T84] ( 2, 1 ) simd64 -> mm0 "V105.[000..064)"
-; V163 tmp152 [V163,T36] ( 3, 3 ) byref -> rsi single-def "Spilling address for field-by-field copy"
-; V164 tmp153 [V164,T37] ( 3, 3 ) byref -> rsi single-def "Spilling address for field-by-field copy"
-; V165 tmp154 [V165,T39] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V166 GsCookie [V166 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V167 tmp156 [V167,T08] ( 7, 5 ) struct (16) [rbp-0x340] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ushort]>
-; V168 cse0 [V168,T57] ( 3, 1.50) int -> r12 "CSE #14: conservative"
-; V169 cse1 [V169,T58] ( 3, 1.50) int -> r13 "CSE #15: conservative"
-; V170 cse2 [V170,T15] ( 9, 4.50) int -> [rbp-0x344] multi-def "CSE #03: moderate"
-; V171 cse3 [V171,T17] ( 6, 4 ) byref -> r15 "CSE #01: moderate"
+; V11 loc10 [V11 ] ( 3, 1.50) struct (248) [rbp-0x250] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Buffers.IndexOfAnyAsciiSearcher+AsciiWithSecondSetState>
+;# V12 OutArgs [V12 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; V13 tmp1 [V13,T24] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.BitmapCharSearchValues>
+; V14 tmp2 [V14,T25] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.ProbabilisticCharSearchValues>
+; V15 tmp3 [V15,T05] ( 6, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
+; V16 tmp4 [V16,T06] ( 6, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]>
+; V17 tmp5 [V17,T26] ( 3, 3 ) ref -> rdx class-hnd exact single-def "NewObj constructor temp" <System.Buffers.AsciiWithSecondSetCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
+; V18 tmp6 [V18,T27] ( 3, 3 ) ref -> rdx class-hnd exact single-def "NewObj constructor temp" <System.Buffers.AsciiWithSecondSetCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]>
+; V19 tmp7 [V19,T28] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any5SearchValues`2[ushort,short]>
+; V20 tmp8 [V20,T29] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any4SearchValues`2[ushort,short]>
+; V21 tmp9 [V21,T30] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
+; V22 tmp10 [V22,T31] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]>
+; V23 tmp11 [V23 ] ( 1, 0.50) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
+;* V24 tmp12 [V24 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V25 tmp13 [V25,T32] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any2CharPackedIgnoreCaseSearchValues>
+; V26 tmp14 [V26,T10] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any3SearchValues`2[ushort,short]>
+; V27 tmp15 [V27,T11] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any3CharPackedSearchValues>
+; V28 tmp16 [V28,T17] ( 4, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any2SearchValues`2[ushort,short]>
+; V29 tmp17 [V29,T12] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any1CharPackedIgnoreCaseSearchValues>
+; V30 tmp18 [V30,T18] ( 4, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any2CharPackedSearchValues>
+; V31 tmp19 [V31,T01] ( 7, 7 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.RangeCharSearchValues`1[System.Buffers.SearchValues+FalseConst]>
+; V32 tmp20 [V32,T02] ( 7, 7 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.RangeCharSearchValues`1[System.Buffers.SearchValues+TrueConst]>
+; V33 tmp21 [V33,T33] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any1SearchValues`2[ushort,short]>
+; V34 tmp22 [V34,T34] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Buffers.Any1CharPackedSearchValues>
+;* V35 tmp23 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Buffers.EmptySearchValues`1[ushort]>
+;* V36 tmp24 [V36 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+;* V37 tmp25 [V37 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+;* V38 tmp26 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V39 tmp27 [V39 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+; V40 tmp28 [V40,T39] ( 4, 2 ) int -> r12 "Inline stloc first use temp"
+;* V41 tmp29 [V41 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[short]>
+;* V42 tmp30 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V43 tmp31 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V44 tmp32 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
+; V45 tmp33 [V45,T43] ( 2, 2 ) ushort -> rdi "Inlining Arg"
+; V46 tmp34 [V46,T44] ( 2, 2 ) ushort -> rdi "Inlining Arg"
+; V47 tmp35 [V47,T13] ( 5, 5 ) ushort -> rdi "Inlining Arg"
+;* V48 tmp36 [V48 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+; V49 tmp37 [V49,T19] ( 4, 4 ) ushort -> r12 "Inlining Arg"
+; V50 tmp38 [V50,T64] ( 2, 1 ) ushort -> rcx "Inline stloc first use temp"
+;* V51 tmp39 [V51 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+; V52 tmp40 [V52,T14] ( 5, 5 ) ushort -> rdi "Inlining Arg"
+;* V53 tmp41 [V53 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+; V54 tmp42 [V54,T20] ( 4, 4 ) ushort -> rcx "Inlining Arg"
+; V55 tmp43 [V55,T65] ( 2, 1 ) ushort -> rdx "Inline stloc first use temp"
+;* V56 tmp44 [V56 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V57 tmp45 [V57 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V58 tmp46 [V58 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+; V59 tmp47 [V59,T40] ( 4, 2 ) ushort -> r15 "Inline return value spill temp"
+;* V60 tmp48 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
+; V61 tmp49 [V61,T66] ( 2, 1 ) short -> rdi "Inline stloc first use temp"
+; V62 tmp50 [V62,T67] ( 2, 1 ) short -> rcx "Inline stloc first use temp"
+;* V63 tmp51 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[short]>
+; V64 tmp52 [V64,T68] ( 2, 1 ) short -> rdi "Inline stloc first use temp"
+; V65 tmp53 [V65,T69] ( 2, 1 ) short -> rsi "Inline stloc first use temp"
+; V66 tmp54 [V66,T70] ( 2, 1 ) short -> rdx "Inline stloc first use temp"
+;* V67 tmp55 [V67 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V68 tmp56 [V68 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V69 tmp57 [V69 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V70 tmp58 [V70 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V71 tmp59 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V72 tmp60 [V72 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V73 tmp61 [V73 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V74 tmp62 [V74 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V75 tmp63 [V75 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ushort]>
+;* V76 tmp64 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V77 tmp65 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V78 tmp66 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V79 tmp67 [V79 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V80 tmp68 [V80 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V81 tmp69 [V81 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V82 tmp70 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V83 tmp71 [V83,T71] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V84 tmp72 [V84 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg"
+;* V85 tmp73 [V85 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V86 tmp74 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V87 tmp75 [V87 ] ( 0, 0 ) struct (248) zero-ref do-not-enreg[S] "Inlining Arg" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiWithSecondSetState>
+;* V88 tmp76 [V88 ] ( 0, 0 ) struct (248) zero-ref do-not-enreg[S] "Inlining Arg" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiWithSecondSetState>
+;* V89 tmp77 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V90 tmp78 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V91 tmp79 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V92 tmp80 [V92,T72] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V93 tmp81 [V93 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg"
+;* V94 tmp82 [V94 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V95 tmp83 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V96 tmp84 [V96 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V97 tmp85 [V97,T45] ( 2, 2 ) int -> r15 "Inlining Arg"
+; V98 tmp86 [V98 ] ( 2, 2 ) struct (56) [rbp-0x288] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Buffers.ProbabilisticMapState>
+; V99 tmp87 [V99,T35] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
+; V100 tmp88 [V100,T80] ( 2, 2 ) simd16 -> [rbp-0x2A0] spill-single-def ptr "spilled call-like call argument"
+; V101 tmp89 [V101,T46] ( 2, 2 ) struct (128) [rbp-0xB8] do-not-enreg[SF] ld-addr-op unsafe-buffer "NewObj constructor temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
+; V102 tmp90 [V102,T47] ( 2, 2 ) struct (32) [rbp-0x2C0] do-not-enreg[HS] hidden-struct-arg "spilled call-like call argument" <System.Buffers.BitVector256>
+; V103 tmp91 [V103,T76] ( 3, 3 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V104 tmp92 [V104,T77] ( 3, 3 ) simd32 -> mm0 "spilled call-like call argument"
+;* V105 tmp93 [V105 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+; V106 tmp94 [V106,T84] ( 1, 0.50) simd64 -> [rbp-0x330] ld-addr-op ptr "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
+;* V107 tmp95 [V107 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V108 tmp96 [V108,T48] ( 2, 2 ) int -> r13 "Inlining Arg"
+; V109 tmp97 [V109 ] ( 2, 2 ) struct (56) [rbp-0x368] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Buffers.ProbabilisticMapState>
+; V110 tmp98 [V110,T36] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
+; V111 tmp99 [V111,T81] ( 2, 2 ) simd16 -> [rbp-0x380] spill-single-def ptr "spilled call-like call argument"
+; V112 tmp100 [V112,T49] ( 2, 2 ) struct (128) [rbp-0x138] do-not-enreg[SF] ld-addr-op unsafe-buffer "NewObj constructor temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
+; V113 tmp101 [V113,T50] ( 2, 2 ) struct (32) [rbp-0x3A0] do-not-enreg[HS] hidden-struct-arg "spilled call-like call argument" <System.Buffers.BitVector256>
+; V114 tmp102 [V114,T78] ( 3, 3 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V115 tmp103 [V115,T79] ( 3, 3 ) simd32 -> mm0 "spilled call-like call argument"
+;* V116 tmp104 [V116 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+; V117 tmp105 [V117,T85] ( 1, 0.50) simd64 -> [rbp-0x3F0] ld-addr-op ptr "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
+;* V118 tmp106 [V118,T73] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V119 tmp107 [V119 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V120 tmp108 [V120 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V121 tmp109 [V121,T51] ( 2, 2 ) int -> rcx "Inlining Arg"
+; V122 tmp110 [V122 ] ( 2, 2 ) struct (56) [rbp-0x428] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Buffers.ProbabilisticMapState>
+; V123 tmp111 [V123,T00] ( 22, 23 ) ref -> rax "Single return block return value"
+;* V124 tmp112 [V124 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V01._reference (fldOffset=0x0)" P-INDEP
+;* V125 tmp113 [V125 ] ( 0, 0 ) int -> zero-ref ptr "field V01._length (fldOffset=0x8)" P-INDEP
+;* V126 tmp114 [V126 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V127 tmp115 [V127 ] ( 0, 0 ) int -> zero-ref ptr "field V10._length (fldOffset=0x8)" P-INDEP
+; V128 tmp116 [V128,T21] ( 7, 3.50) byref -> r13 single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V129 tmp117 [V129,T75] ( 0, 0 ) int -> zero-ref ptr "field V24._length (fldOffset=0x8)" P-INDEP
+; V130 tmp118 [V130,T03] ( 13, 6.50) byref -> r13 single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V131 tmp119 [V131 ] ( 0, 0 ) int -> zero-ref ptr "field V38._length (fldOffset=0x8)" P-INDEP
+; V132 tmp120 [V132,T52] ( 3, 1.50) byref -> [rbp-0x448] spill-single-def ptr "field V41._reference (fldOffset=0x0)" P-INDEP
+; V133 tmp121 [V133,T41] ( 4, 2 ) int -> [rbp-0x42C] spill-single-def ptr "field V41._length (fldOffset=0x8)" P-INDEP
+;* V134 tmp122 [V134 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V135 tmp123 [V135 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
+;* V136 tmp124 [V136 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V137 tmp125 [V137 ] ( 0, 0 ) int -> zero-ref ptr "field V44._length (fldOffset=0x8)" P-INDEP
+;* V138 tmp126 [V138 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V60._reference (fldOffset=0x0)" P-INDEP
+;* V139 tmp127 [V139 ] ( 0, 0 ) int -> zero-ref ptr "field V60._length (fldOffset=0x8)" P-INDEP
+;* V140 tmp128 [V140 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V63._reference (fldOffset=0x0)" P-INDEP
+;* V141 tmp129 [V141 ] ( 0, 0 ) int -> zero-ref ptr "field V63._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp130 [V142 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V71._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp131 [V143 ] ( 0, 0 ) int -> zero-ref ptr "field V71._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp132 [V144 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp133 [V145 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp134 [V146 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V76._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp135 [V147 ] ( 0, 0 ) int -> zero-ref ptr "field V76._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp136 [V148 ] ( 0, 0 ) byref -> zero-ref "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp137 [V149 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp138 [V150 ] ( 0, 0 ) byref -> zero-ref "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp139 [V151 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
+;* V152 tmp140 [V152 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V81._reference (fldOffset=0x0)" P-INDEP
+;* V153 tmp141 [V153 ] ( 0, 0 ) int -> zero-ref ptr "field V81._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp142 [V154 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp143 [V155 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+;* V156 tmp144 [V156 ] ( 0, 0 ) byref -> zero-ref "field V86._reference (fldOffset=0x0)" P-INDEP
+;* V157 tmp145 [V157 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
+;* V158 tmp146 [V158 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V90._reference (fldOffset=0x0)" P-INDEP
+;* V159 tmp147 [V159 ] ( 0, 0 ) int -> zero-ref ptr "field V90._length (fldOffset=0x8)" P-INDEP
+;* V160 tmp148 [V160 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V91._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp149 [V161 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp150 [V162 ] ( 0, 0 ) byref -> zero-ref "field V95._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp151 [V163 ] ( 0, 0 ) int -> zero-ref "field V95._length (fldOffset=0x8)" P-INDEP
+; V164 tmp152 [V164,T53] ( 3, 1.50) byref -> r14 single-def "field V96._reference (fldOffset=0x0)" P-INDEP
+; V165 tmp153 [V165,T59] ( 3, 1.50) int -> rbx "field V96._length (fldOffset=0x8)" P-INDEP
+; V166 tmp154 [V166,T54] ( 3, 1.50) byref -> r14 single-def "field V107._reference (fldOffset=0x0)" P-INDEP
+; V167 tmp155 [V167,T60] ( 3, 1.50) int -> rbx "field V107._length (fldOffset=0x8)" P-INDEP
+; V168 tmp156 [V168,T63] ( 2, 1 ) byref -> r14 single-def "field V120._reference (fldOffset=0x0)" P-INDEP
+; V169 tmp157 [V169,T74] ( 2, 1 ) int -> rbx "field V120._length (fldOffset=0x8)" P-INDEP
+; V170 tmp158 [V170,T09] ( 9, 5 ) byref -> r14 single-def "V00.[000..008)"
+; V171 tmp159 [V171,T04] ( 11, 6.50) int -> rbx "V00.[008..012)"
+; V172 tmp160 [V172,T82] ( 2, 1 ) simd64 -> mm0 "V101.[000..064)"
+; V173 tmp161 [V173,T83] ( 2, 1 ) simd64 -> mm0 "V112.[000..064)"
+; V174 tmp162 [V174,T37] ( 3, 3 ) byref -> rsi single-def "Spilling address for field-by-field copy"
+; V175 tmp163 [V175,T38] ( 3, 3 ) byref -> rsi single-def "Spilling address for field-by-field copy"
+; V176 tmp164 [V176,T42] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V177 GsCookie [V177 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V178 tmp166 [V178,T07] ( 8, 5.50) struct (16) [rbp-0x440] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ushort]>
+; V179 cse0 [V179,T61] ( 3, 1.50) int -> r14 "CSE #14: conservative"
+; V180 cse1 [V180,T62] ( 3, 1.50) int -> r12 "CSE #15: conservative"
+; V181 cse2 [V181,T08] ( 10, 5 ) int -> r12 multi-def "CSE #03: moderate"
+; V182 cse3 [V182,T16] ( 7, 4.50) byref -> r15 "CSE #01: moderate"
;
-; Lcl frame size = 808
+; Lcl frame size = 1064
G_M36862_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 808
- lea rbp, [rsp+0x350]
+ sub rsp, 0x428
+ lea rbp, [rsp+0x450]
vxorps xmm8, xmm8, xmm8
- mov rax, -480
+ vmovdqa xmmword ptr [rbp-0x440], xmm8
+ mov rax, -720
vmovdqa xmmword ptr [rbp+rax-0x160], xmm8
vmovdqa xmmword ptr [rbp+rax-0x150], xmm8
vmovdqa xmmword ptr [rbp+rax-0x140], xmm8
add rax, 48
jne SHORT -5 instr
mov qword ptr [rbp-0x160], rax
mov qword ptr [rbp-0x30], 0xD1FFAB1E
mov bword ptr [rbp-0x148], rdi
mov qword ptr [rbp-0x140], rsi
- ;; size=102 bbWeight=1 PerfScore 18.58
+ ;; size=110 bbWeight=1 PerfScore 20.58
G_M36862_IG02:
vmovdqu xmm0, xmmword ptr [rbp-0x148]
- vmovdqu xmmword ptr [rbp-0x340], xmm0
+ vmovdqu xmmword ptr [rbp-0x440], xmm0
;; size=16 bbWeight=1 PerfScore 4.00
G_M36862_IG03:
- mov ebx, dword ptr [rbp-0x338]
- mov r15, bword ptr [rbp-0x340]
+ mov ebx, dword ptr [rbp-0x438]
+ mov r15, bword ptr [rbp-0x440]
mov r14, r15
test ebx, ebx
jne SHORT G_M36862_IG05
;; size=20 bbWeight=1 PerfScore 3.50
G_M36862_IG04:
mov rdi, 0xD1FFAB1E ; System.Buffers.EmptySearchValues`1[ushort]
call CORINFO_HELP_NEWSFAST
- jmp G_M36862_IG27
+ jmp G_M36862_IG28
;; size=20 bbWeight=0.50 PerfScore 1.62
G_M36862_IG05:
mov r13, r14
- mov r12, r14
- mov ecx, ebx
- mov dword ptr [rbp-0x32C], ecx
- cmp ecx, 1
+ mov r12d, ebx
+ mov bword ptr [rbp-0x448], r14
+ mov dword ptr [rbp-0x42C], ebx
+ cmp r12d, 1
jne SHORT G_M36862_IG06
- movzx r12, word ptr [r13]
- lea edi, [r12-0x01]
+ movzx r14, word ptr [r13]
+ lea edi, [r14-0x01]
cmp edi, 254
- jb G_M36862_IG26
+ jb G_M36862_IG27
mov rdi, 0xD1FFAB1E ; System.Buffers.Any1SearchValues`2[ushort,short]
call CORINFO_HELP_NEWSFAST
movsx rdi, word ptr [r13]
mov word ptr [rax+0x08], di
- jmp G_M36862_IG27
- ;; size=70 bbWeight=0.50 PerfScore 7.50
+ jmp G_M36862_IG28
+ ;; size=75 bbWeight=0.50 PerfScore 7.88
G_M36862_IG06:
mov rdi, r15
- mov rsi, qword ptr [rbp-0x338]
+ mov rsi, qword ptr [rbp-0x438]
lea rdx, [rbp-0x150]
lea rcx, [rbp-0x158]
mov rax, 0xD1FFAB1E ; code for System.Buffers.SearchValues:TryGetSingleRange[ushort](System.ReadOnlySpan`1[ushort],byref,byref):ubyte
call [rax]System.Buffers.SearchValues:TryGetSingleRange[ushort](System.ReadOnlySpan`1[ushort],byref,byref):ubyte
test eax, eax
je SHORT G_M36862_IG08
movzx rdi, word ptr [rbp-0x150]
dec edi
cmp edi, 254
jae SHORT G_M36862_IG07
- movzx r13, word ptr [rbp-0x158]
- mov edi, r13d
+ movzx r12, word ptr [rbp-0x158]
+ mov edi, r12d
dec edi
cmp edi, 254
- jb G_M36862_IG25
+ jb G_M36862_IG26
;; size=82 bbWeight=0.50 PerfScore 6.00
G_M36862_IG07:
mov rdi, 0xD1FFAB1E ; System.Buffers.RangeCharSearchValues`1[System.Buffers.SearchValues+FalseConst]
call CORINFO_HELP_NEWSFAST
movzx rdi, word ptr [rbp-0x150]
- movzx r13, word ptr [rbp-0x158]
- mov ecx, r13d
+ movzx r12, word ptr [rbp-0x158]
+ mov ecx, r12d
sub ecx, edi
movzx rcx, cx
mov word ptr [rax+0x12], di
mov word ptr [rax+0x10], cx
- mov word ptr [rax+0x14], r13w
+ mov word ptr [rax+0x14], r12w
mov dword ptr [rax+0x08], edi
- sub r13d, edi
- mov dword ptr [rax+0x0C], r13d
- jmp G_M36862_IG27
+ sub r12d, edi
+ mov dword ptr [rax+0x0C], r12d
+ jmp G_M36862_IG28
;; size=66 bbWeight=0.50 PerfScore 5.62
G_M36862_IG08:
- mov ecx, dword ptr [rbp-0x32C]
- cmp ecx, 2
+ cmp r12d, 2
jne SHORT G_M36862_IG09
movzx r15, word ptr [r13]
- movzx r12, word ptr [r13+0x02]
+ movzx r14, word ptr [r13+0x02]
lea edi, [r15-0x01]
cmp edi, 254
- jae G_M36862_IG23
- lea edi, [r12-0x01]
+ jae G_M36862_IG24
+ lea edi, [r14-0x01]
cmp edi, 254
- jae G_M36862_IG23
+ jae G_M36862_IG24
mov edi, r15d
- xor edi, r12d
+ xor edi, r14d
cmp edi, 32
- je G_M36862_IG24
+ je G_M36862_IG25
mov rdi, 0xD1FFAB1E ; System.Buffers.Any2CharPackedSearchValues
call CORINFO_HELP_NEWSFAST
mov word ptr [rax+0x08], r15w
- mov word ptr [rax+0x0A], r12w
- jmp G_M36862_IG27
- ;; size=99 bbWeight=0.50 PerfScore 8.38
+ mov word ptr [rax+0x0A], r14w
+ jmp G_M36862_IG28
+ ;; size=93 bbWeight=0.50 PerfScore 7.88
G_M36862_IG09:
- cmp ecx, 3
+ cmp r12d, 3
jne SHORT G_M36862_IG11
- movzx r15, word ptr [r13]
- movzx r12, word ptr [r13+0x02]
+ movzx r12, word ptr [r13]
+ movzx r15, word ptr [r13+0x02]
movzx r14, word ptr [r13+0x04]
- lea edi, [r15-0x01]
+ lea edi, [r12-0x01]
cmp edi, 254
jae SHORT G_M36862_IG10
- lea edi, [r12-0x01]
+ lea edi, [r15-0x01]
cmp edi, 254
jae SHORT G_M36862_IG10
lea edi, [r14-0x01]
cmp edi, 254
- jb G_M36862_IG22
- ;; size=61 bbWeight=0.50 PerfScore 6.25
+ jb G_M36862_IG23
+ ;; size=62 bbWeight=0.50 PerfScore 6.25
G_M36862_IG10:
mov rdi, 0xD1FFAB1E ; System.Buffers.Any3SearchValues`2[ushort,short]
call CORINFO_HELP_NEWSFAST
movsx rdi, word ptr [r13]
movsx rsi, word ptr [r13+0x02]
movsx rdx, word ptr [r13+0x04]
mov word ptr [rax+0x08], di
mov word ptr [rax+0x0A], si
mov word ptr [rax+0x0C], dx
- jmp G_M36862_IG27
+ jmp G_M36862_IG28
;; size=47 bbWeight=0.50 PerfScore 9.12
G_M36862_IG11:
- movzx rdi, word ptr [rbp-0x158]
- mov r8d, edi
- mov dword ptr [rbp-0x344], r8d
- cmp r8d, 128
+ movzx r12, word ptr [rbp-0x158]
+ cmp r12d, 128
jge G_M36862_IG13
cmp ebx, 4
- jne G_M36862_IG20
+ jne G_M36862_IG21
movzx rdi, word ptr [rbp-0x150]
test edi, edi
- jle G_M36862_IG20
- lea rbx, [rbp-0x38]
+ jle G_M36862_IG21
+ lea r13, [rbp-0x38]
mov rdi, qword ptr [r14]
- mov qword ptr [rbx], rdi
+ mov qword ptr [r13], rdi
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M36862_IG30
- ;; size=83 bbWeight=0.50 PerfScore 7.38
+ je G_M36862_IG31
+ ;; size=75 bbWeight=0.50 PerfScore 6.75
G_M36862_IG12:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.ArraySortHelper`1[ushort]:s_defaultArraySortHelper
mov rdi, gword ptr [rdi]
- mov rsi, rbx
+ mov rsi, r13
mov edx, 4
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IArraySortHelper`1[ushort]:Sort(System.Span`1[ushort],System.Collections.Generic.IComparer`1[ushort]):this
xor rcx, rcx
call [r11]System.Collections.Generic.IArraySortHelper`1[ushort]:Sort(System.Span`1[ushort],System.Collections.Generic.IComparer`1[ushort]):this
- movzx rdi, word ptr [rbx]
- movzx r13, word ptr [rbx+0x04]
- xor edi, r13d
- cmp edi, 32
- jne G_M36862_IG20
- movzx rdi, word ptr [rbx+0x02]
- movzx r12, word ptr [rbx+0x06]
+ movzx rdi, word ptr [r13]
+ movzx r12, word ptr [r13+0x04]
xor edi, r12d
cmp edi, 32
- jne G_M36862_IG20
+ jne G_M36862_IG21
+ movzx rdi, word ptr [r13+0x02]
+ movzx r14, word ptr [r13+0x06]
+ xor edi, r14d
+ cmp edi, 32
+ jne G_M36862_IG21
mov rdi, 0xD1FFAB1E ; System.Buffers.Any2CharPackedIgnoreCaseSearchValues
call CORINFO_HELP_NEWSFAST
- mov r14, rax
- mov edx, r12d
- mov esi, r13d
- mov rdi, r14
+ mov r15, rax
+ mov edx, r14d
+ mov esi, r12d
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Buffers.Any2CharPackedIgnoreCaseSearchValues:.ctor(ushort,ushort):this
call [rax]System.Buffers.Any2CharPackedIgnoreCaseSearchValues:.ctor(ushort,ushort):this
- mov rax, r14
- jmp G_M36862_IG27
- ;; size=124 bbWeight=0.50 PerfScore 12.50
+ mov rax, r15
+ jmp G_M36862_IG28
+ ;; size=127 bbWeight=0.50 PerfScore 12.50
G_M36862_IG13:
- cmp ecx, 4
+ mov r13d, dword ptr [rbp-0x42C]
+ cmp r13d, 4
jne SHORT G_M36862_IG14
mov rdi, 0xD1FFAB1E ; System.Buffers.Any4SearchValues`2[ushort,short]
call CORINFO_HELP_NEWSFAST
- movsx rdi, word ptr [r13]
- movsx rcx, word ptr [r13+0x02]
- movsx rdx, word ptr [r13+0x04]
- movsx rsi, word ptr [r13+0x06]
- mov word ptr [rax+0x08], di
- mov word ptr [rax+0x0A], cx
- mov word ptr [rax+0x0C], dx
- mov word ptr [rax+0x0E], si
- jmp G_M36862_IG27
- ;; size=61 bbWeight=0.50 PerfScore 12.25
+ mov r15, rax
+ mov rsi, bword ptr [rbp-0x448]
+ mov edx, r13d
+ mov rdi, r15
+ mov rax, 0xD1FFAB1E ; code for System.Buffers.Any4SearchValues`2[ushort,short]:.ctor(System.ReadOnlySpan`1[short]):this
+ call [rax]System.Buffers.Any4SearchValues`2[ushort,short]:.ctor(System.ReadOnlySpan`1[short]):this
+ mov rax, r15
+ jmp G_M36862_IG28
+ ;; size=64 bbWeight=0.50 PerfScore 5.38
G_M36862_IG14:
- cmp ecx, 5
+ cmp r13d, 5
jne SHORT G_M36862_IG15
mov rdi, 0xD1FFAB1E ; System.Buffers.Any5SearchValues`2[ushort,short]
call CORINFO_HELP_NEWSFAST
- mov r14, rax
- mov rsi, r12
+ mov r15, rax
+ mov rsi, bword ptr [rbp-0x448]
mov edx, 5
- mov rdi, r14
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Buffers.Any5SearchValues`2[ushort,short]:.ctor(System.ReadOnlySpan`1[short]):this
call [rax]System.Buffers.Any5SearchValues`2[ushort,short]:.ctor(System.ReadOnlySpan`1[short]):this
- mov rax, r14
- jmp G_M36862_IG27
- ;; size=54 bbWeight=0.50 PerfScore 4.50
+ mov rax, r15
+ jmp G_M36862_IG28
+ ;; size=59 bbWeight=0.50 PerfScore 4.88
G_M36862_IG15:
movzx rdi, word ptr [rbp-0x150]
cmp edi, 128
- jge G_M36862_IG17
+ jge G_M36862_IG16
+ mov rdi, r15
+ mov rsi, qword ptr [rbp-0x438]
+ mov edx, r12d
+ lea rcx, [rbp-0x250]
+ mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:TryComputeAsciiWithSecondSetState(System.ReadOnlySpan`1[ushort],int,byref):ubyte
+ call [rax]System.Buffers.IndexOfAnyAsciiSearcher:TryComputeAsciiWithSecondSetState(System.ReadOnlySpan`1[ushort],int,byref):ubyte
+ test eax, eax
+ je G_M36862_IG18
+ mov rdi, r14
+ mov edx, ebx
+ xor esi, esi
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
+ call [rax]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
+ test eax, eax
+ jne G_M36862_IG20
+ mov rdi, 0xD1FFAB1E ; System.Buffers.AsciiWithSecondSetCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]
+ call CORINFO_HELP_NEWSFAST
+ mov rdx, rax
+ lea rdi, bword ptr [rdx+0x08]
+ lea rsi, bword ptr [rbp-0x250]
+ mov ecx, 24
+ rep movsq
+ call CORINFO_HELP_ASSIGN_BYREF
+ mov ecx, 6
+ rep movsq
+ mov rax, rdx
+ jmp G_M36862_IG28
+ ;; size=144 bbWeight=0.50 PerfScore 35.12
+G_M36862_IG16:
+ cmp ebx, 256
+ jle SHORT G_M36862_IG17
+ mov rdi, 0xD1FFAB1E ; System.Buffers.BitmapCharSearchValues
+ call CORINFO_HELP_NEWSFAST
+ mov r14, rax
+ mov rsi, r15
+ mov rdx, qword ptr [rbp-0x438]
+ mov ecx, r12d
+ mov rdi, r14
+ mov rax, 0xD1FFAB1E ; code for System.Buffers.BitmapCharSearchValues:.ctor(System.ReadOnlySpan`1[ushort],int):this
+ call [rax]System.Buffers.BitmapCharSearchValues:.ctor(System.ReadOnlySpan`1[ushort],int):this
+ mov rax, r14
+ jmp G_M36862_IG28
+ ;; size=62 bbWeight=0.50 PerfScore 5.00
+G_M36862_IG17:
+ mov rdi, 0xD1FFAB1E ; System.Buffers.ProbabilisticCharSearchValues
+ call CORINFO_HELP_NEWSFAST
+ mov r15, rax
+ mov ecx, r12d
+ mov rsi, r14
+ mov edx, ebx
+ lea rdi, [rbp-0x428]
+ mov rax, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
+ call [rax]System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
+ lea rdi, bword ptr [r15+0x08]
+ lea rsi, bword ptr [rbp-0x428]
+ call CORINFO_HELP_ASSIGN_BYREF
+ mov ecx, 6
+ rep movsq
+ mov rax, r15
+ jmp G_M36862_IG28
+ ;; size=77 bbWeight=0.50 PerfScore 17.75
+G_M36862_IG18:
mov rdi, r14
mov edx, ebx
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
call [rax]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
test eax, eax
jne G_M36862_IG19
mov rdi, 0xD1FFAB1E ; System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]
call CORINFO_HELP_NEWSFAST
- mov r15, rax
- movzx r13, word ptr [rbp-0x158]
+ mov r12, rax
+ movzx r15, word ptr [rbp-0x158]
mov rdi, r14
mov esi, ebx
- lea rdx, bword ptr [r15+0x08]
+ lea rdx, bword ptr [r12+0x08]
mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
call [rax]System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
- lea rdi, bword ptr [r15+0x08]
+ lea rdi, bword ptr [r12+0x08]
vmovups xmm0, xmmword ptr [rdi]
- vmovaps xmmword ptr [rbp-0x1A0], xmm0
+ vmovaps xmmword ptr [rbp-0x2A0], xmm0
add rdi, 64
- lea rsi, [rbp-0x1C0]
+ lea rsi, [rbp-0x2C0]
mov rax, 0xD1FFAB1E ; code for System.Buffers.BitVector256:CreateInverse():System.Buffers.BitVector256:this
call [rax]System.Buffers.BitVector256:CreateInverse():System.Buffers.BitVector256:this
vpcmpeqd xmm0, xmm0, xmm0
- vpxor xmm0, xmm0, xmmword ptr [rbp-0x1A0]
+ vpxor xmm0, xmm0, xmmword ptr [rbp-0x2A0]
vmovaps ymm1, ymm0
vinserti128 ymm0, ymm1, xmm0, 1
- vmovups zmm1, zmmword ptr [rbp-0x230]
+ vmovups zmm1, zmmword ptr [rbp-0x330]
vinsertf64x4 zmm1, zmm1, ymm0, 0
vinsertf64x4 zmm0, zmm1, ymm0, 1
- vmovdqu ymm1, ymmword ptr [rbp-0x1C0]
+ vmovdqu ymm1, ymmword ptr [rbp-0x2C0]
vmovdqu ymmword ptr [rbp-0x78], ymm1
- lea rsi, bword ptr [r15+0x88]
+ lea rsi, bword ptr [r12+0x88]
vmovups zmmword ptr [rsi], zmm0
vmovups ymm0, ymmword ptr [rbp-0x78]
vmovups ymmword ptr [rsi+0x40], ymm0
mov rsi, r14
mov edx, ebx
- lea rdi, [rbp-0x190]
- mov ecx, r13d
+ lea rdi, [rbp-0x288]
+ mov ecx, r15d
mov rax, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
call [rax]System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
- lea rdi, bword ptr [r15+0x108]
- lea rsi, bword ptr [rbp-0x190]
+ lea rdi, bword ptr [r12+0x108]
+ lea rsi, bword ptr [rbp-0x288]
call CORINFO_HELP_ASSIGN_BYREF
mov ecx, 6
rep movsq
- mov rax, r15
- ;; size=271 bbWeight=0.50 PerfScore 40.50
-G_M36862_IG16:
- jmp G_M36862_IG27
- ;; size=5 bbWeight=0.50 PerfScore 1.00
-G_M36862_IG17:
- cmp ebx, 256
- jle SHORT G_M36862_IG18
- mov rdi, 0xD1FFAB1E ; System.Buffers.BitmapCharSearchValues
- call CORINFO_HELP_NEWSFAST
- mov r14, rax
- mov rsi, r15
- mov rdx, qword ptr [rbp-0x338]
- mov ecx, dword ptr [rbp-0x344]
- mov rdi, r14
- mov rax, 0xD1FFAB1E ; code for System.Buffers.BitmapCharSearchValues:.ctor(System.ReadOnlySpan`1[ushort],int):this
- call [rax]System.Buffers.BitmapCharSearchValues:.ctor(System.ReadOnlySpan`1[ushort],int):this
- mov rax, r14
- jmp G_M36862_IG27
- ;; size=65 bbWeight=0.50 PerfScore 5.38
-G_M36862_IG18:
- mov rdi, 0xD1FFAB1E ; System.Buffers.ProbabilisticCharSearchValues
- call CORINFO_HELP_NEWSFAST
- mov r15, rax
- mov rsi, r14
- mov edx, ebx
- mov r13d, dword ptr [rbp-0x344]
- mov ecx, r13d
- lea rdi, [rbp-0x328]
- mov rax, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
- call [rax]System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
- lea rdi, bword ptr [r15+0x08]
- lea rsi, bword ptr [rbp-0x328]
- call CORINFO_HELP_ASSIGN_BYREF
- mov ecx, 6
- rep movsq
- mov rax, r15
- jmp G_M36862_IG27
- ;; size=84 bbWeight=0.50 PerfScore 18.25
+ mov rax, r12
+ jmp G_M36862_IG28
+ ;; size=261 bbWeight=0.50 PerfScore 40.38
G_M36862_IG19:
mov rdi, 0xD1FFAB1E ; System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]
call CORINFO_HELP_NEWSFAST
- mov r13, rax
- mov r15, r14
- movzx r14, word ptr [rbp-0x158]
- mov rdi, r15
+ mov r15, rax
+ movzx r13, word ptr [rbp-0x158]
+ mov rdi, r14
mov esi, ebx
- lea rdx, bword ptr [r13+0x08]
+ lea rdx, bword ptr [r15+0x08]
mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
call [rax]System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
- lea rdi, bword ptr [r13+0x08]
+ lea rdi, bword ptr [r15+0x08]
vmovups xmm0, xmmword ptr [rdi]
- vmovaps xmmword ptr [rbp-0x280], xmm0
+ vmovaps xmmword ptr [rbp-0x380], xmm0
add rdi, 64
- lea rsi, [rbp-0x2A0]
+ lea rsi, [rbp-0x3A0]
mov rax, 0xD1FFAB1E ; code for System.Buffers.BitVector256:CreateInverse():System.Buffers.BitVector256:this
call [rax]System.Buffers.BitVector256:CreateInverse():System.Buffers.BitVector256:this
vpcmpeqd xmm0, xmm0, xmm0
- vpxor xmm0, xmm0, xmmword ptr [rbp-0x280]
+ vpxor xmm0, xmm0, xmmword ptr [rbp-0x380]
vmovaps ymm1, ymm0
vinserti128 ymm0, ymm1, xmm0, 1
- vmovups zmm1, zmmword ptr [rbp-0x2F0]
+ vmovups zmm1, zmmword ptr [rbp-0x3F0]
vinsertf64x4 zmm1, zmm1, ymm0, 0
vinsertf64x4 zmm0, zmm1, ymm0, 1
- vmovdqu ymm1, ymmword ptr [rbp-0x2A0]
+ vmovdqu ymm1, ymmword ptr [rbp-0x3A0]
vmovdqu ymmword ptr [rbp-0xF8], ymm1
- lea rsi, bword ptr [r13+0x88]
+ lea rsi, bword ptr [r15+0x88]
vmovups zmmword ptr [rsi], zmm0
vmovups ymm0, ymmword ptr [rbp-0xF8]
vmovups ymmword ptr [rsi+0x40], ymm0
- mov rsi, r15
+ mov rsi, r14
mov edx, ebx
- lea rdi, [rbp-0x268]
- mov ecx, r14d
+ lea rdi, [rbp-0x368]
+ mov ecx, r13d
mov rax, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
call [rax]System.Buffers.ProbabilisticMapState:.ctor(System.ReadOnlySpan`1[ushort],int):this
- lea rdi, bword ptr [r13+0x108]
- lea rsi, bword ptr [rbp-0x268]
+ lea rdi, bword ptr [r15+0x108]
+ lea rsi, bword ptr [rbp-0x368]
call CORINFO_HELP_ASSIGN_BYREF
mov ecx, 6
rep movsq
- mov rax, r13
- jmp G_M36862_IG27
- ;; size=239 bbWeight=0.50 PerfScore 37.88
+ mov rax, r15
+ jmp G_M36862_IG28
+ ;; size=236 bbWeight=0.50 PerfScore 37.75
G_M36862_IG20:
+ mov rdi, 0xD1FFAB1E ; System.Buffers.AsciiWithSecondSetCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]
+ call CORINFO_HELP_NEWSFAST
+ mov rdx, rax
+ lea rdi, bword ptr [rdx+0x08]
+ lea rsi, bword ptr [rbp-0x250]
+ mov ecx, 24
+ rep movsq
+ call CORINFO_HELP_ASSIGN_BYREF
+ mov ecx, 6
+ rep movsq
+ mov rax, rdx
+ jmp G_M36862_IG28
+ ;; size=58 bbWeight=0.50 PerfScore 28.12
+G_M36862_IG21:
movzx rdi, word ptr [rbp-0x150]
test edi, edi
- je SHORT G_M36862_IG21
+ je SHORT G_M36862_IG22
mov rdi, 0xD1FFAB1E ; System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rdi, r15
- mov rsi, qword ptr [rbp-0x338]
+ mov rsi, qword ptr [rbp-0x438]
lea rdx, bword ptr [rbx+0x08]
mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
call [rax]System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
mov rax, rbx
- jmp G_M36862_IG27
+ jmp G_M36862_IG28
;; size=63 bbWeight=0.50 PerfScore 5.50
-G_M36862_IG21:
+G_M36862_IG22:
mov rdi, 0xD1FFAB1E ; System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rdi, r15
- mov rsi, qword ptr [rbp-0x338]
+ mov rsi, qword ptr [rbp-0x438]
lea rdx, bword ptr [rbx+0x08]
mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
call [rax]System.Buffers.IndexOfAnyAsciiSearcher:ComputeAsciiState[ushort](System.ReadOnlySpan`1[ushort],byref)
mov rax, rbx
- jmp G_M36862_IG27
+ jmp G_M36862_IG28
;; size=52 bbWeight=0.50 PerfScore 4.38
-G_M36862_IG22:
+G_M36862_IG23:
mov rdi, 0xD1FFAB1E ; System.Buffers.Any3CharPackedSearchValues
call CORINFO_HELP_NEWSFAST
- mov word ptr [rax+0x08], r15w
- mov word ptr [rax+0x0A], r12w
+ mov word ptr [rax+0x08], r12w
+ mov word ptr [rax+0x0A], r15w
mov word ptr [rax+0x0C], r14w
- jmp G_M36862_IG27
+ jmp G_M36862_IG28
;; size=35 bbWeight=0.50 PerfScore 3.12
-G_M36862_IG23:
+G_M36862_IG24:
mov rdi, 0xD1FFAB1E ; System.Buffers.Any2SearchValues`2[ushort,short]
call CORINFO_HELP_NEWSFAST
movsx rdi, word ptr [r13]
movsx rcx, word ptr [r13+0x02]
mov word ptr [rax+0x08], di
mov word ptr [rax+0x0A], cx
- jmp SHORT G_M36862_IG27
+ jmp SHORT G_M36862_IG28
;; size=35 bbWeight=0.50 PerfScore 6.62
-G_M36862_IG24:
- cmp r15d, r12d
- cmovl r15d, r12d
+G_M36862_IG25:
+ cmp r15d, r14d
+ cmovl r15d, r14d
mov rdi, 0xD1FFAB1E ; System.Buffers.Any1CharPackedIgnoreCaseSearchValues
call CORINFO_HELP_NEWSFAST
mov word ptr [rax+0x0C], r15w
mov edi, r15d
and edi, -33
mov word ptr [rax+0x0E], di
mov dword ptr [rax+0x08], r15d
- jmp SHORT G_M36862_IG27
+ jmp SHORT G_M36862_IG28
;; size=43 bbWeight=0.50 PerfScore 3.62
-G_M36862_IG25:
+G_M36862_IG26:
mov rdi, 0xD1FFAB1E ; System.Buffers.RangeCharSearchValues`1[System.Buffers.SearchValues+TrueConst]
call CORINFO_HELP_NEWSFAST
movzx rdi, word ptr [rbp-0x150]
- mov ecx, r13d
+ mov ecx, r12d
mov edx, ecx
sub edx, edi
movzx rdx, dx
mov word ptr [rax+0x12], di
mov word ptr [rax+0x10], dx
mov word ptr [rax+0x14], cx
mov dword ptr [rax+0x08], edi
sub ecx, edi
mov dword ptr [rax+0x0C], ecx
- jmp SHORT G_M36862_IG27
+ jmp SHORT G_M36862_IG28
;; size=54 bbWeight=0.50 PerfScore 5.25
-G_M36862_IG26:
+G_M36862_IG27:
mov rdi, 0xD1FFAB1E ; System.Buffers.Any1CharPackedSearchValues
call CORINFO_HELP_NEWSFAST
- mov word ptr [rax+0x08], r12w
+ mov word ptr [rax+0x08], r14w
;; size=20 bbWeight=0.50 PerfScore 1.12
-G_M36862_IG27:
+G_M36862_IG28:
cmp qword ptr [rbp-0x30], 0xD1FFAB1E
- je SHORT G_M36862_IG28
+ je SHORT G_M36862_IG29
call CORINFO_HELP_FAIL_FAST
;; size=15 bbWeight=1 PerfScore 4.00
-G_M36862_IG28:
+G_M36862_IG29:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M36862_IG29:
+G_M36862_IG30:
vzeroupper
- add rsp, 808
+ add rsp, 0x428
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=1 PerfScore 5.25
-G_M36862_IG30:
+G_M36862_IG31:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.ArraySortHelper`1[ushort]
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M36862_IG12
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1928, prolog size 88, PerfScore 249.33, instruction count 390, allocated bytes for code 1928 (MethodHash=88797001) for method System.Buffers.SearchValues:Create(System.ReadOnlySpan`1[ushort]):System.Buffers.SearchValues`1[ushort] (FullOpts)
+; Total bytes of code 2113, prolog size 96, PerfScore 305.21, instruction count 425, allocated bytes for code 2113 (MethodHash=88797001) for method System.Buffers.SearchValues:Create(System.ReadOnlySpan`1[ushort]):System.Buffers.SearchValues`1[ushort] (FullOpts)
15 (3.78 % of base) - System.Buffers.IndexOfAnyAsciiSearcher:ComputeAnyByteState(System.ReadOnlySpan`1[ubyte],byref)
; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher:ComputeAnyByteState(System.ReadOnlySpan`1[ubyte],byref) (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; 12 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 14 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T11] ( 3, 3 ) struct (16) [rbp-0x118] do-not-enreg[SA] multireg-arg single-def ptr <System.ReadOnlySpan`1[ubyte]>
-; V01 arg1 [V01,T10] ( 3, 3 ) byref -> rdx single-def
+; V00 arg0 [V00,T10] ( 3, 3 ) struct (16) [rbp-0x118] do-not-enreg[SA] multireg-arg single-def ptr <System.ReadOnlySpan`1[ubyte]>
+; V01 arg1 [V01,T09] ( 3, 3 ) byref -> rdx single-def
; V02 loc0 [V02 ] ( 3, 4 ) simd16 -> [rbp-0x130] do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector128`1[ubyte]>
; V03 loc1 [V03 ] ( 3, 4 ) simd16 -> [rbp-0x140] do-not-enreg[XS] addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-;* V04 loc2 [V04,T17] ( 0, 0 ) long -> zero-ref ptr
-;* V05 loc3 [V05,T18] ( 0, 0 ) long -> zero-ref ptr
+;* V04 loc2 [V04,T18] ( 0, 0 ) long -> zero-ref ptr
+;* V05 loc3 [V05,T19] ( 0, 0 ) long -> zero-ref ptr
; V06 loc4 [V06 ] ( 3, 6 ) struct (32) [rbp-0x28] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer <System.Buffers.BitVector256>
;* V07 loc5 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[ubyte]>
-;* V08 loc6 [V08,T19] ( 0, 0 ) int -> zero-ref ptr
-; V09 loc7 [V09,T01] ( 5, 20 ) ubyte -> rsi
-; V10 loc8 [V10,T03] ( 4, 12 ) int -> r8
-; V11 loc9 [V11,T06] ( 3, 8 ) int -> rsi
-; V12 tmp0 [V12,T20] ( 1, 1 ) int -> [rbp-0x144] do-not-enreg[V] "GSCookie dummy"
-;# V13 OutArgs [V13 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V14 tmp2 [V14,T04] ( 3, 12 ) long -> rsi "dup spill"
-; V15 tmp3 [V15,T05] ( 3, 12 ) long -> rsi "dup spill"
-; V16 tmp4 [V16,T14] ( 2, 4 ) struct (192) [rbp-0xE8] do-not-enreg[SF] ld-addr-op unsafe-buffer "NewObj constructor temp" <System.Buffers.IndexOfAnyAsciiSearcher+AnyByteState>
-; V17 tmp5 [V17,T07] ( 2, 8 ) int -> r8 "Inline stloc first use temp"
-; V18 tmp6 [V18,T08] ( 2, 8 ) int -> r9 "Inline stloc first use temp"
-; V19 tmp7 [V19,T00] ( 3, 24 ) byref -> r8 "dup spill"
-; V20 tmp8 [V20,T21] ( 3, 6 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-; V21 tmp9 [V21,T22] ( 3, 6 ) simd16 -> mm1 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-; V22 tmp10 [V22,T15] ( 2, 4 ) struct (32) [rbp-0x108] do-not-enreg[S] unsafe-buffer "Inlining Arg" <System.Buffers.BitVector256>
-; V23 tmp11 [V23,T23] ( 3, 6 ) simd32 -> mm0 "spilled call-like call argument"
-;* V24 tmp12 [V24 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
-; V25 tmp13 [V25,T27] ( 1, 1 ) simd64 -> [rbp-0x1B0] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
-; V26 tmp14 [V26,T24] ( 3, 6 ) simd32 -> mm1 "spilled call-like call argument"
-;* V27 tmp15 [V27 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
-; V28 tmp16 [V28,T28] ( 1, 1 ) simd64 -> [rbp-0x1F0] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
-; V29 tmp17 [V29,T12] ( 2, 5 ) byref -> rax single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-; V30 tmp18 [V30,T09] ( 3, 6 ) int -> rcx "field V07._length (fldOffset=0x8)" P-INDEP
-; V31 tmp19 [V31,T25] ( 2, 2 ) simd64 -> mm0 "V16.[000..064)"
-; V32 tmp20 [V32,T26] ( 2, 2 ) simd64 -> mm1 "V16.[064..128)"
-; V33 GsCookie [V33 ] ( 1, 1 ) long -> [rbp-0x08] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V34 tmp22 [V34,T16] ( 3, 3 ) struct (16) [rbp-0x200] do-not-enreg[SA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ubyte]>
-; V35 tmp23 [V35,T13] ( 4, 4 ) byref -> rdx single-def "shadowVar"
-; V36 rat0 [V36,T02] ( 5, 17 ) long -> rdi "Widened IV V08"
+;* V08 loc6 [V08,T20] ( 0, 0 ) int -> zero-ref ptr
+; V09 loc7 [V09,T01] ( 7, 22 ) ubyte -> rsi
+; V10 tmp0 [V10,T21] ( 1, 1 ) int -> [rbp-0x144] do-not-enreg[V] "GSCookie dummy"
+;# V11 OutArgs [V11 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; V12 tmp2 [V12,T13] ( 2, 4 ) struct (192) [rbp-0xE8] do-not-enreg[SF] ld-addr-op unsafe-buffer "NewObj constructor temp" <System.Buffers.IndexOfAnyAsciiSearcher+AnyByteState>
+; V13 tmp3 [V13,T06] ( 2, 8 ) int -> r8 "Inline stloc first use temp"
+; V14 tmp4 [V14,T07] ( 2, 8 ) int -> r9 "Inline stloc first use temp"
+; V15 tmp5 [V15,T00] ( 3, 24 ) byref -> r8 "dup spill"
+; V16 tmp6 [V16,T14] ( 2, 4 ) int -> r8 "Inline stloc first use temp"
+;* V17 tmp7 [V17 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+; V18 tmp8 [V18,T03] ( 3, 12 ) long -> rsi "dup spill"
+; V19 tmp9 [V19,T04] ( 3, 12 ) int -> rsi "Inlining Arg"
+; V20 tmp10 [V20,T15] ( 2, 4 ) int -> r8 "Inline stloc first use temp"
+;* V21 tmp11 [V21 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+; V22 tmp12 [V22,T05] ( 3, 12 ) long -> rsi "dup spill"
+; V23 tmp13 [V23,T22] ( 3, 6 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V24 tmp14 [V24,T23] ( 3, 6 ) simd16 -> mm1 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V25 tmp15 [V25,T16] ( 2, 4 ) struct (32) [rbp-0x108] do-not-enreg[S] unsafe-buffer "Inlining Arg" <System.Buffers.BitVector256>
+; V26 tmp16 [V26,T24] ( 3, 6 ) simd32 -> mm0 "spilled call-like call argument"
+;* V27 tmp17 [V27 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+; V28 tmp18 [V28,T28] ( 1, 1 ) simd64 -> [rbp-0x1B0] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
+; V29 tmp19 [V29,T25] ( 3, 6 ) simd32 -> mm1 "spilled call-like call argument"
+;* V30 tmp20 [V30 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+; V31 tmp21 [V31,T29] ( 1, 1 ) simd64 -> [rbp-0x1F0] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
+; V32 tmp22 [V32,T11] ( 2, 5 ) byref -> rax single-def "field V07._reference (fldOffset=0x0)" P-INDEP
+; V33 tmp23 [V33,T08] ( 3, 6 ) int -> rcx "field V07._length (fldOffset=0x8)" P-INDEP
+; V34 tmp24 [V34,T26] ( 2, 2 ) simd64 -> mm0 "V12.[000..064)"
+; V35 tmp25 [V35,T27] ( 2, 2 ) simd64 -> mm1 "V12.[064..128)"
+; V36 GsCookie [V36 ] ( 1, 1 ) long -> [rbp-0x08] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V37 tmp27 [V37,T17] ( 3, 3 ) struct (16) [rbp-0x200] do-not-enreg[SA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ubyte]>
+; V38 tmp28 [V38,T12] ( 4, 4 ) byref -> rdx single-def "shadowVar"
+; V39 rat0 [V39,T02] ( 5, 17 ) long -> rdi "Widened IV V08"
;
; Lcl frame size = 512
G_M64303_IG01:
push rbp
sub rsp, 512
lea rbp, [rsp+0x200]
xor eax, eax
mov qword ptr [rbp-0x200], rax
mov qword ptr [rbp-0x08], 0xD1FFAB1E
mov bword ptr [rbp-0x118], rdi
mov qword ptr [rbp-0x110], rsi
;; size=47 bbWeight=1 PerfScore 6.00
G_M64303_IG02:
vmovdqu xmm0, xmmword ptr [rbp-0x118]
vmovdqu xmmword ptr [rbp-0x200], xmm0
;; size=16 bbWeight=1 PerfScore 4.00
G_M64303_IG03:
vxorps xmm0, xmm0, xmm0
vmovaps xmmword ptr [rbp-0x130], xmm0
vmovaps xmmword ptr [rbp-0x140], xmm0
vxorps ymm0, ymm0, ymm0
vmovdqu ymmword ptr [rbp-0x28], ymm0
mov rax, bword ptr [rbp-0x200]
mov ecx, dword ptr [rbp-0x1F8]
xor edi, edi
test ecx, ecx
- jle SHORT G_M64303_IG08
+ jle G_M64303_IG08
align [0 bytes for IG04]
- ;; size=48 bbWeight=1 PerfScore 7.17
+ ;; size=52 bbWeight=1 PerfScore 7.17
G_M64303_IG04:
movzx rsi, byte ptr [rax+rdi]
mov r8d, esi
sar r8d, 5
mov r9d, 1
shlx r9d, r9d, esi
lea r10, bword ptr [rbp-0x28]
lea r8, bword ptr [r10+4*r8]
or dword ptr [r8], r9d
- mov r8d, esi
- sar r8d, 4
- and esi, 15
- cmp r8d, 8
+ cmp esi, 128
jge SHORT G_M64303_IG06
- ;; size=50 bbWeight=4 PerfScore 39.00
+ ;; size=42 bbWeight=4 PerfScore 35.00
G_M64303_IG05:
+ mov r8d, esi
+ sar r8d, 4
lea r9, [rbp-0x130]
- mov esi, esi
+ and esi, 15
add rsi, r9
mov r9d, 1
shlx r8d, r9d, r8d
movzx r8, r8b
or byte ptr [rsi], r8b
jmp SHORT G_M64303_IG07
- ;; size=32 bbWeight=2 PerfScore 14.00
+ ;; size=40 bbWeight=2 PerfScore 15.50
G_M64303_IG06:
+ add esi, -128
+ mov r8d, esi
+ sar r8d, 4
lea r9, [rbp-0x140]
- mov esi, esi
+ and esi, 15
add rsi, r9
- add r8d, -8
mov r9d, 1
shlx r8d, r9d, r8d
movzx r8, r8b
or byte ptr [rsi], r8b
- ;; size=34 bbWeight=2 PerfScore 10.50
+ ;; size=41 bbWeight=2 PerfScore 12.00
G_M64303_IG07:
inc edi
cmp edi, ecx
- jl SHORT G_M64303_IG04
- ;; size=6 bbWeight=4 PerfScore 6.00
+ jl G_M64303_IG04
+ ;; size=10 bbWeight=4 PerfScore 6.00
G_M64303_IG08:
vmovaps xmm0, xmmword ptr [rbp-0x130]
vmovaps xmm1, xmmword ptr [rbp-0x140]
vmovdqu ymm2, ymmword ptr [rbp-0x28]
vmovdqu ymmword ptr [rbp-0x108], ymm2
vmovaps ymm2, ymm0
vinserti128 ymm0, ymm2, xmm0, 1
vmovups zmm2, zmmword ptr [rbp-0x1B0]
vinsertf64x4 zmm2, zmm2, ymm0, 0
vinsertf64x4 zmm0, zmm2, ymm0, 1
vmovaps ymm2, ymm1
vinserti128 ymm1, ymm2, xmm1, 1
vmovups zmm2, zmmword ptr [rbp-0x1F0]
vinsertf64x4 zmm2, zmm2, ymm1, 0
vinsertf64x4 zmm1, zmm2, ymm1, 1
vmovdqu ymm2, ymmword ptr [rbp-0x108]
vmovdqu ymmword ptr [rbp-0x68], ymm2
vmovups zmmword ptr [rdx], zmm0
vmovups zmmword ptr [rdx+0x40], zmm1
vmovups ymm0, ymmword ptr [rbp-0x68]
vmovups ymmword ptr [rdx+0x80], ymm0
cmp qword ptr [rbp-0x08], 0xD1FFAB1E
je SHORT G_M64303_IG09
call CORINFO_HELP_FAIL_FAST
;; size=151 bbWeight=1 PerfScore 48.50
G_M64303_IG09:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M64303_IG10:
vzeroupper
add rsp, 512
pop rbp
ret
;; size=12 bbWeight=1 PerfScore 2.75
-; Total bytes of code 397, prolog size 47, PerfScore 138.17, instruction count 81, allocated bytes for code 401 (MethodHash=97c904d0) for method System.Buffers.IndexOfAnyAsciiSearcher:ComputeAnyByteState(System.ReadOnlySpan`1[ubyte],byref) (FullOpts)
+; Total bytes of code 412, prolog size 47, PerfScore 137.17, instruction count 82, allocated bytes for code 412 (MethodHash=97c904d0) for method System.Buffers.IndexOfAnyAsciiSearcher:ComputeAnyByteState(System.ReadOnlySpan`1[ubyte],byref) (FullOpts)
1 (0.16 % of base) - System.DomainNameHelper:IsValid(System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte
; Assembly listing for method System.DomainNameHelper:IsValid(System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 59 single block inlinees; 21 inlinees without PGO data
+; 0 inlinees with PGO data; 63 single block inlinees; 21 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T17] ( 3, 3 ) struct (16) [rbp-0x40] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
; V01 arg1 [V01,T18] ( 3, 3 ) ubyte -> rdx single-def
; V02 arg2 [V02,T19] ( 3, 2.50) ubyte -> rbx single-def
; V03 arg3 [V03,T16] ( 3, 3 ) byref -> r8 single-def
;* V04 loc0 [V04 ] ( 0, 0 ) int -> zero-ref ptr
; V05 loc1 [V05,T25] ( 5, 2.50) ushort -> rcx
; V06 loc2 [V06,T32] ( 3, 1.50) ubyte -> rdi
; V07 loc3 [V07,T26] ( 4, 2 ) ubyte -> rdi
; V08 loc4 [V08,T27] ( 4, 2 ) ubyte -> rdi
; V09 loc5 [V09,T33] ( 3, 1.50) ubyte -> rdi
; V10 loc6 [V10,T11] ( 4, 10 ) ushort -> rdi
; V11 loc7 [V11,T06] ( 5, 18 ) int -> r15
; V12 loc8 [V12,T03] ( 7, 30 ) int -> registers ptr
;* V13 loc9 [V13 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ushort]>
;* V14 loc10 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[ushort]>
;* V15 loc11 [V15,T31] ( 0, 0 ) int -> zero-ref ptr
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V17 tmp1 [V17,T20] ( 7, 4 ) int -> rax
;* V18 tmp2 [V18 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V19 tmp3 [V19 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
; V20 tmp4 [V20,T13] ( 3, 8 ) int -> r15
; V21 tmp5 [V21,T14] ( 3, 8 ) int -> rbx
; V22 tmp6 [V22,T28] ( 2, 2 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.Buffers.AsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Default]>
;* V23 tmp7 [V23 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V24 tmp8 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V25 tmp9 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V26 tmp10 [V26 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V27 tmp11 [V27 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V28 tmp12 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V29 tmp13 [V29,T29] ( 2, 2 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
-;* V30 tmp14 [V30 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V31 tmp15 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp16 [V32 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V33 tmp17 [V33 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V34 tmp18 [V34 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp19 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V36 tmp20 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V37 tmp21 [V37 ] ( 0, 0 ) byref -> zero-ref ptr "Inlining Arg"
-;* V38 tmp22 [V38 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
-; V39 tmp23 [V39,T21] ( 2, 4 ) int -> rax "Inline return value spill temp"
+; V29 tmp13 [V29,T29] ( 2, 2 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.Buffers.AsciiWithSecondSetCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]>
+;* V30 tmp14 [V30 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V31 tmp15 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V32 tmp16 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V33 tmp17 [V33 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V34 tmp18 [V34 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V35 tmp19 [V35 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V36 tmp20 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V37 tmp21 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V38 tmp22 [V38 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V39 tmp23 [V39 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V40 tmp24 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V41 tmp25 [V41 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V42 tmp26 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V43 tmp27 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V44 tmp28 [V44,T22] ( 2, 4 ) int -> r15 "Inline return value spill temp"
+;* V41 tmp25 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V42 tmp26 [V42 ] ( 0, 0 ) byref -> zero-ref ptr "Inlining Arg"
+;* V43 tmp27 [V43 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+; V44 tmp28 [V44,T21] ( 2, 4 ) int -> rax "Inline return value spill temp"
;* V45 tmp29 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V46 tmp30 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V47 tmp31 [V47 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V48 tmp32 [V48 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V49 tmp33 [V49 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
-;* V50 tmp34 [V50 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
-;* V51 tmp35 [V51 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V52 tmp36 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V53 tmp37 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V54 tmp38 [V54 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
-;* V55 tmp39 [V55 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
-;* V56 tmp40 [V56 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
-;* V57 tmp41 [V57 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V58 tmp42 [V58 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V46 tmp30 [V46 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V47 tmp31 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V48 tmp32 [V48 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V49 tmp33 [V49,T22] ( 2, 4 ) int -> r15 "Inline return value spill temp"
+;* V50 tmp34 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V51 tmp35 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V52 tmp36 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V53 tmp37 [V53 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V54 tmp38 [V54 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
+;* V55 tmp39 [V55 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
+;* V56 tmp40 [V56 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V57 tmp41 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V58 tmp42 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V59 tmp43 [V59 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
;* V60 tmp44 [V60 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
;* V61 tmp45 [V61 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
-;* V62 tmp46 [V62 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V63 tmp47 [V63 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V64 tmp48 [V64 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V65 tmp49 [V65 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline return value spill temp"
-;* V66 tmp50 [V66 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
-;* V67 tmp51 [V67 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
-;* V68 tmp52 [V68 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
-;* V69 tmp53 [V69 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
-;* V70 tmp54 [V70 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
-;* V71 tmp55 [V71 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V72 tmp56 [V72 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V73 tmp57 [V73 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V74 tmp58 [V74 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V75 tmp59 [V75 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V76 tmp60 [V76 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V77 tmp61 [V77 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V78 tmp62 [V78 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V62 tmp46 [V62 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V63 tmp47 [V63 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V64 tmp48 [V64 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V65 tmp49 [V65 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V66 tmp50 [V66 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V67 tmp51 [V67 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V68 tmp52 [V68 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V69 tmp53 [V69 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V70 tmp54 [V70 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline return value spill temp"
+;* V71 tmp55 [V71 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V72 tmp56 [V72 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V73 tmp57 [V73 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V74 tmp58 [V74 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V75 tmp59 [V75 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V76 tmp60 [V76 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V77 tmp61 [V77 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V78 tmp62 [V78 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V79 tmp63 [V79 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V80 tmp64 [V80 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V81 tmp65 [V81 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V82 tmp66 [V82 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V83 tmp67 [V83 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V84 tmp68 [V84 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V85 tmp69 [V85 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
-;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
-;* V87 tmp71 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V88 tmp72 [V88 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.ReadOnlySpan`1[ushort]>
-;* V89 tmp73 [V89 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
-;* V90 tmp74 [V90 ] ( 0, 0 ) int -> zero-ref ld-addr-op ptr "Inline ldloca(s) first use temp"
-;* V91 tmp75 [V91 ] ( 0, 0 ) ubyte -> zero-ref ptr "Inline return value spill temp"
-;* V92 tmp76 [V92 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
-;* V93 tmp77 [V93 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
-;* V94 tmp78 [V94 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
-;* V95 tmp79 [V95 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V96 tmp80 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V97 tmp81 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V98 tmp82 [V98 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V99 tmp83 [V99 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V100 tmp84 [V100 ] ( 0, 0 ) struct (128) zero-ref do-not-enreg[XSF] addr-exposed ld-addr-op unsafe-buffer "Inline ldloca(s) first use temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
-;* V101 tmp85 [V101 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op ptr "Inline ldloca(s) first use temp"
-;* V102 tmp86 [V102 ] ( 0, 0 ) simd16 -> zero-ref "spilled call-like call argument"
-;* V103 tmp87 [V103 ] ( 0, 0 ) byref -> zero-ref
-;* V104 tmp88 [V104 ] ( 0, 0 ) byref -> zero-ref
-;* V105 tmp89 [V105 ] ( 0, 0 ) int -> zero-ref
-;* V106 tmp90 [V106 ] ( 0, 0 ) byref -> zero-ref
-;* V107 tmp91 [V107 ] ( 0, 0 ) byref -> zero-ref
-;* V108 tmp92 [V108 ] ( 0, 0 ) int -> zero-ref ptr
-; V109 tmp93 [V109,T34] ( 1, 1 ) int -> [rbp-0x44] do-not-enreg[V] "GSCookie dummy for inlinee"
-;* V110 tmp94 [V110 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V111 tmp95 [V111 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V112 tmp96 [V112 ] ( 0, 0 ) long -> zero-ref ptr "Inlining Arg"
-;* V113 tmp97 [V113 ] ( 0, 0 ) long -> zero-ref ptr "Inline stloc first use temp"
-;* V114 tmp98 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ushort]>
-;* V115 tmp99 [V115 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
-;* V116 tmp100 [V116 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
-;* V117 tmp101 [V117 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
-;* V118 tmp102 [V118 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V119 tmp103 [V119 ] ( 0, 0 ) long -> zero-ref ptr "dup spill"
-;* V120 tmp104 [V120 ] ( 0, 0 ) simd32 -> zero-ref "spilled call-like call argument"
-;* V121 tmp105 [V121 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
-;* V122 tmp106 [V122 ] ( 0, 0 ) simd64 -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
-;* V123 tmp107 [V123 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V124 tmp108 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V125 tmp109 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V126 tmp110 [V126 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V127 tmp111 [V127 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V83 tmp67 [V83 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V84 tmp68 [V84 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V85 tmp69 [V85 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V86 tmp70 [V86 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V87 tmp71 [V87 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V88 tmp72 [V88 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V89 tmp73 [V89 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V90 tmp74 [V90 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V91 tmp75 [V91 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V92 tmp76 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V93 tmp77 [V93 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V94 tmp78 [V94 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V95 tmp79 [V95 ] ( 0, 0 ) int -> zero-ref ld-addr-op ptr "Inline ldloca(s) first use temp"
+;* V96 tmp80 [V96 ] ( 0, 0 ) ubyte -> zero-ref ptr "Inline return value spill temp"
+;* V97 tmp81 [V97 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V98 tmp82 [V98 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
+;* V99 tmp83 [V99 ] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
+;* V100 tmp84 [V100 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V101 tmp85 [V101 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V102 tmp86 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V103 tmp87 [V103 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V104 tmp88 [V104 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V105 tmp89 [V105 ] ( 0, 0 ) struct (128) zero-ref do-not-enreg[XSF] addr-exposed ld-addr-op unsafe-buffer "Inline ldloca(s) first use temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
+;* V106 tmp90 [V106 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op ptr "Inline ldloca(s) first use temp"
+;* V107 tmp91 [V107 ] ( 0, 0 ) simd16 -> zero-ref "spilled call-like call argument"
+;* V108 tmp92 [V108 ] ( 0, 0 ) byref -> zero-ref
+;* V109 tmp93 [V109 ] ( 0, 0 ) byref -> zero-ref
+;* V110 tmp94 [V110 ] ( 0, 0 ) int -> zero-ref
+;* V111 tmp95 [V111 ] ( 0, 0 ) byref -> zero-ref
+;* V112 tmp96 [V112 ] ( 0, 0 ) byref -> zero-ref
+;* V113 tmp97 [V113 ] ( 0, 0 ) int -> zero-ref ptr
+; V114 tmp98 [V114,T34] ( 1, 1 ) int -> [rbp-0x44] do-not-enreg[V] "GSCookie dummy for inlinee"
+;* V115 tmp99 [V115 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V116 tmp100 [V116 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V117 tmp101 [V117 ] ( 0, 0 ) long -> zero-ref ptr "Inlining Arg"
+;* V118 tmp102 [V118 ] ( 0, 0 ) long -> zero-ref ptr "Inline stloc first use temp"
+;* V119 tmp103 [V119 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V120 tmp104 [V120 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+;* V121 tmp105 [V121 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V122 tmp106 [V122 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+;* V123 tmp107 [V123 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V124 tmp108 [V124 ] ( 0, 0 ) long -> zero-ref ptr "dup spill"
+;* V125 tmp109 [V125 ] ( 0, 0 ) simd32 -> zero-ref "spilled call-like call argument"
+;* V126 tmp110 [V126 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+;* V127 tmp111 [V127 ] ( 0, 0 ) simd64 -> zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ubyte]>
;* V128 tmp112 [V128 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V129 tmp113 [V129,T02] ( 4, 32 ) int -> r15 "Inlining Arg"
+;* V129 tmp113 [V129 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V130 tmp114 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V131 tmp115 [V131,T08] ( 2, 16 ) byref -> r14 "Inlining Arg"
-; V132 tmp116 [V132,T09] ( 2, 16 ) int -> r13 "Inlining Arg"
-;* V133 tmp117 [V133 ] ( 0, 0 ) byref -> zero-ref ptr "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V134 tmp118 [V134 ] ( 0, 0 ) int -> zero-ref ptr "field V13._length (fldOffset=0x8)" P-INDEP
-; V135 tmp119 [V135,T07] ( 2, 18 ) byref -> rcx "field V14._reference (fldOffset=0x0)" P-INDEP
-; V136 tmp120 [V136,T05] ( 3, 20 ) int -> rbx "field V14._length (fldOffset=0x8)" P-INDEP
-;* V137 tmp121 [V137 ] ( 0, 0 ) byref -> zero-ref ptr "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V138 tmp122 [V138 ] ( 0, 0 ) int -> zero-ref ptr "field V18._length (fldOffset=0x8)" P-INDEP
-;* V139 tmp123 [V139 ] ( 0, 0 ) byref -> zero-ref ptr "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V140 tmp124 [V140 ] ( 0, 0 ) int -> zero-ref ptr "field V19._length (fldOffset=0x8)" P-INDEP
-;* V141 tmp125 [V141 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V142 tmp126 [V142 ] ( 0, 0 ) int -> zero-ref ptr "field V23._length (fldOffset=0x8)" P-INDEP
-;* V143 tmp127 [V143 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref ptr "field V24._length (fldOffset=0x8)" P-INDEP
-;* V145 tmp129 [V145 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V146 tmp130 [V146 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
-;* V147 tmp131 [V147,T35] ( 0, 0 ) byref -> zero-ref single-def ptr "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V148 tmp132 [V148,T36] ( 0, 0 ) int -> zero-ref ptr "field V30._length (fldOffset=0x8)" P-INDEP
-;* V149 tmp133 [V149 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V150 tmp134 [V150 ] ( 0, 0 ) int -> zero-ref ptr "field V31._length (fldOffset=0x8)" P-INDEP
-;* V151 tmp135 [V151 ] ( 0, 0 ) byref -> zero-ref ptr "field V35._reference (fldOffset=0x0)" P-INDEP
-;* V152 tmp136 [V152 ] ( 0, 0 ) int -> zero-ref ptr "field V35._length (fldOffset=0x8)" P-INDEP
-;* V153 tmp137 [V153 ] ( 0, 0 ) byref -> zero-ref ptr "field V36._reference (fldOffset=0x0)" P-INDEP
-;* V154 tmp138 [V154 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
-;* V155 tmp139 [V155 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP
-;* V156 tmp140 [V156 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
-;* V157 tmp141 [V157 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V158 tmp142 [V158 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
-;* V159 tmp143 [V159,T30] ( 0, 0 ) byref -> zero-ref ptr "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V160 tmp144 [V160 ] ( 0, 0 ) int -> zero-ref ptr "field V42._length (fldOffset=0x8)" P-INDEP
-;* V161 tmp145 [V161 ] ( 0, 0 ) byref -> zero-ref ptr "field V45._reference (fldOffset=0x0)" P-INDEP
-;* V162 tmp146 [V162 ] ( 0, 0 ) int -> zero-ref ptr "field V45._length (fldOffset=0x8)" P-INDEP
-;* V163 tmp147 [V163 ] ( 0, 0 ) byref -> zero-ref ptr "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V164 tmp148 [V164 ] ( 0, 0 ) int -> zero-ref ptr "field V46._length (fldOffset=0x8)" P-INDEP
-;* V165 tmp149 [V165 ] ( 0, 0 ) byref -> zero-ref ptr "field V52._reference (fldOffset=0x0)" P-INDEP
-;* V166 tmp150 [V166 ] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP
-;* V167 tmp151 [V167 ] ( 0, 0 ) byref -> zero-ref ptr "field V53._reference (fldOffset=0x0)" P-INDEP
-;* V168 tmp152 [V168 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
-;* V169 tmp153 [V169 ] ( 0, 0 ) byref -> zero-ref ptr "field V87._reference (fldOffset=0x0)" P-INDEP
-;* V170 tmp154 [V170 ] ( 0, 0 ) int -> zero-ref ptr "field V87._length (fldOffset=0x8)" P-INDEP
-;* V171 tmp155 [V171 ] ( 0, 0 ) byref -> zero-ref ptr "field V88._reference (fldOffset=0x0)" P-INDEP
-;* V172 tmp156 [V172 ] ( 0, 0 ) int -> zero-ref ptr "field V88._length (fldOffset=0x8)" P-INDEP
-;* V173 tmp157 [V173 ] ( 0, 0 ) byref -> zero-ref ptr "field V96._reference (fldOffset=0x0)" P-INDEP
-;* V174 tmp158 [V174 ] ( 0, 0 ) int -> zero-ref ptr "field V96._length (fldOffset=0x8)" P-INDEP
-;* V175 tmp159 [V175 ] ( 0, 0 ) byref -> zero-ref ptr "field V97._reference (fldOffset=0x0)" P-INDEP
-;* V176 tmp160 [V176 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
-;* V177 tmp161 [V177 ] ( 0, 0 ) byref -> zero-ref ptr "field V114._reference (fldOffset=0x0)" P-INDEP
-;* V178 tmp162 [V178 ] ( 0, 0 ) int -> zero-ref ptr "field V114._length (fldOffset=0x8)" P-INDEP
-;* V179 tmp163 [V179 ] ( 0, 0 ) byref -> zero-ref "field V123._reference (fldOffset=0x0)" P-INDEP
-;* V180 tmp164 [V180 ] ( 0, 0 ) int -> zero-ref "field V123._length (fldOffset=0x8)" P-INDEP
-;* V181 tmp165 [V181 ] ( 0, 0 ) byref -> zero-ref "field V124._reference (fldOffset=0x0)" P-INDEP
-;* V182 tmp166 [V182 ] ( 0, 0 ) int -> zero-ref "field V124._length (fldOffset=0x8)" P-INDEP
-; V183 tmp167 [V183,T15] ( 3, 6 ) byref -> [rbp-0x60] spill-single-def ptr "field V125._reference (fldOffset=0x0)" P-INDEP
-; V184 tmp168 [V184,T12] ( 4, 8 ) int -> [rbp-0x48] spill-single-def ptr "field V125._length (fldOffset=0x8)" P-INDEP
-;* V185 tmp169 [V185 ] ( 0, 0 ) byref -> zero-ref ptr "field V127._reference (fldOffset=0x0)" P-INDEP
-;* V186 tmp170 [V186 ] ( 0, 0 ) int -> zero-ref ptr "field V127._length (fldOffset=0x8)" P-INDEP
-;* V187 tmp171 [V187 ] ( 0, 0 ) byref -> zero-ref ptr "field V128._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp172 [V188 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP
-;* V189 tmp173 [V189 ] ( 0, 0 ) byref -> zero-ref ptr "field V130._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp174 [V190 ] ( 0, 0 ) int -> zero-ref ptr "field V130._length (fldOffset=0x8)" P-INDEP
-; V191 tmp175 [V191,T04] ( 12, 21.50) byref -> r14 "V00.[000..008)"
-; V192 tmp176 [V192,T01] ( 16, 32 ) int -> r13 "V00.[008..012)"
-;* V193 tmp177 [V193 ] ( 0, 0 ) long -> zero-ref ptr "Cast away GC"
-; V194 GsCookie [V194 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V195 tmp179 [V195,T23] ( 3, 3 ) struct (16) [rbp-0x58] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ushort]>
-; V196 tmp180 [V196,T24] ( 4, 2.50) byref -> r15 single-def "shadowVar"
-; V197 cse0 [V197,T10] ( 5, 14 ) int -> r12 "CSE #01: moderate"
-; V198 rat0 [V198,T00] ( 5, 66 ) long -> rdx "Widened IV V15"
+;* V131 tmp115 [V131 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V132 tmp116 [V132 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V133 tmp117 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V134 tmp118 [V134,T02] ( 4, 32 ) int -> r15 "Inlining Arg"
+;* V135 tmp119 [V135 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V136 tmp120 [V136,T08] ( 2, 16 ) byref -> r14 "Inlining Arg"
+; V137 tmp121 [V137,T09] ( 2, 16 ) int -> r13 "Inlining Arg"
+;* V138 tmp122 [V138 ] ( 0, 0 ) byref -> zero-ref ptr "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V139 tmp123 [V139 ] ( 0, 0 ) int -> zero-ref ptr "field V13._length (fldOffset=0x8)" P-INDEP
+; V140 tmp124 [V140,T07] ( 2, 18 ) byref -> rcx "field V14._reference (fldOffset=0x0)" P-INDEP
+; V141 tmp125 [V141,T05] ( 3, 20 ) int -> rbx "field V14._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp126 [V142 ] ( 0, 0 ) byref -> zero-ref ptr "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp127 [V143 ] ( 0, 0 ) int -> zero-ref ptr "field V18._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp128 [V144 ] ( 0, 0 ) byref -> zero-ref ptr "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp129 [V145 ] ( 0, 0 ) int -> zero-ref ptr "field V19._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp130 [V146 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp131 [V147 ] ( 0, 0 ) int -> zero-ref ptr "field V23._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp132 [V148 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp133 [V149 ] ( 0, 0 ) int -> zero-ref ptr "field V24._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp134 [V150 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp135 [V151 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
+;* V152 tmp136 [V152 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V153 tmp137 [V153 ] ( 0, 0 ) int -> zero-ref ptr "field V30._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp138 [V154 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp139 [V155 ] ( 0, 0 ) int -> zero-ref ptr "field V31._length (fldOffset=0x8)" P-INDEP
+;* V156 tmp140 [V156 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V157 tmp141 [V157 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
+;* V158 tmp142 [V158 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V159 tmp143 [V159 ] ( 0, 0 ) int -> zero-ref ptr "field V36._length (fldOffset=0x8)" P-INDEP
+;* V160 tmp144 [V160 ] ( 0, 0 ) byref -> zero-ref ptr "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp145 [V161 ] ( 0, 0 ) int -> zero-ref ptr "field V40._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp146 [V162 ] ( 0, 0 ) byref -> zero-ref ptr "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp147 [V163 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
+;* V164 tmp148 [V164 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V165 tmp149 [V165 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+;* V166 tmp150 [V166 ] ( 0, 0 ) byref -> zero-ref "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V167 tmp151 [V167 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
+;* V168 tmp152 [V168,T30] ( 0, 0 ) byref -> zero-ref ptr "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V169 tmp153 [V169 ] ( 0, 0 ) int -> zero-ref ptr "field V47._length (fldOffset=0x8)" P-INDEP
+;* V170 tmp154 [V170 ] ( 0, 0 ) byref -> zero-ref ptr "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V171 tmp155 [V171 ] ( 0, 0 ) int -> zero-ref ptr "field V50._length (fldOffset=0x8)" P-INDEP
+;* V172 tmp156 [V172 ] ( 0, 0 ) byref -> zero-ref ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V173 tmp157 [V173 ] ( 0, 0 ) int -> zero-ref ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V174 tmp158 [V174 ] ( 0, 0 ) byref -> zero-ref ptr "field V57._reference (fldOffset=0x0)" P-INDEP
+;* V175 tmp159 [V175 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0x8)" P-INDEP
+;* V176 tmp160 [V176 ] ( 0, 0 ) byref -> zero-ref ptr "field V58._reference (fldOffset=0x0)" P-INDEP
+;* V177 tmp161 [V177 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP
+;* V178 tmp162 [V178 ] ( 0, 0 ) byref -> zero-ref ptr "field V92._reference (fldOffset=0x0)" P-INDEP
+;* V179 tmp163 [V179 ] ( 0, 0 ) int -> zero-ref ptr "field V92._length (fldOffset=0x8)" P-INDEP
+;* V180 tmp164 [V180 ] ( 0, 0 ) byref -> zero-ref ptr "field V93._reference (fldOffset=0x0)" P-INDEP
+;* V181 tmp165 [V181 ] ( 0, 0 ) int -> zero-ref ptr "field V93._length (fldOffset=0x8)" P-INDEP
+;* V182 tmp166 [V182 ] ( 0, 0 ) byref -> zero-ref ptr "field V101._reference (fldOffset=0x0)" P-INDEP
+;* V183 tmp167 [V183 ] ( 0, 0 ) int -> zero-ref ptr "field V101._length (fldOffset=0x8)" P-INDEP
+;* V184 tmp168 [V184 ] ( 0, 0 ) byref -> zero-ref ptr "field V102._reference (fldOffset=0x0)" P-INDEP
+;* V185 tmp169 [V185 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
+;* V186 tmp170 [V186 ] ( 0, 0 ) byref -> zero-ref ptr "field V119._reference (fldOffset=0x0)" P-INDEP
+;* V187 tmp171 [V187 ] ( 0, 0 ) int -> zero-ref ptr "field V119._length (fldOffset=0x8)" P-INDEP
+;* V188 tmp172 [V188 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP
+;* V189 tmp173 [V189 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP
+;* V190 tmp174 [V190 ] ( 0, 0 ) byref -> zero-ref "field V129._reference (fldOffset=0x0)" P-INDEP
+;* V191 tmp175 [V191 ] ( 0, 0 ) int -> zero-ref "field V129._length (fldOffset=0x8)" P-INDEP
+; V192 tmp176 [V192,T15] ( 3, 6 ) byref -> [rbp-0x60] spill-single-def ptr "field V130._reference (fldOffset=0x0)" P-INDEP
+; V193 tmp177 [V193,T12] ( 4, 8 ) int -> [rbp-0x48] spill-single-def ptr "field V130._length (fldOffset=0x8)" P-INDEP
+;* V194 tmp178 [V194 ] ( 0, 0 ) byref -> zero-ref ptr "field V132._reference (fldOffset=0x0)" P-INDEP
+;* V195 tmp179 [V195 ] ( 0, 0 ) int -> zero-ref ptr "field V132._length (fldOffset=0x8)" P-INDEP
+;* V196 tmp180 [V196 ] ( 0, 0 ) byref -> zero-ref ptr "field V133._reference (fldOffset=0x0)" P-INDEP
+;* V197 tmp181 [V197 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP
+;* V198 tmp182 [V198 ] ( 0, 0 ) byref -> zero-ref ptr "field V135._reference (fldOffset=0x0)" P-INDEP
+;* V199 tmp183 [V199 ] ( 0, 0 ) int -> zero-ref ptr "field V135._length (fldOffset=0x8)" P-INDEP
+; V200 tmp184 [V200,T04] ( 12, 21.50) byref -> r14 "V00.[000..008)"
+; V201 tmp185 [V201,T01] ( 16, 32 ) int -> r13 "V00.[008..012)"
+;* V202 tmp186 [V202 ] ( 0, 0 ) long -> zero-ref ptr "Cast away GC"
+; V203 GsCookie [V203 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V204 tmp188 [V204,T23] ( 3, 3 ) struct (16) [rbp-0x58] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ushort]>
+; V205 tmp189 [V205,T24] ( 4, 2.50) byref -> r15 single-def "shadowVar"
+; V206 cse0 [V206,T10] ( 5, 14 ) int -> r12 "CSE #01: moderate"
+; V207 rat0 [V207,T00] ( 5, 66 ) long -> rdx "Widened IV V15"
;
; Lcl frame size = 56
G_M60693_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
lea rbp, [rsp+0x60]
xor eax, eax
mov qword ptr [rbp-0x58], rax
mov qword ptr [rbp-0x30], 0xD1FFAB1E
mov bword ptr [rbp-0x40], rdi
mov qword ptr [rbp-0x38], rsi
mov ebx, ecx
;; size=43 bbWeight=1 PerfScore 11.25
G_M60693_IG02:
mov r15, r8
;; size=3 bbWeight=1 PerfScore 0.25
G_M60693_IG03:
vmovdqu xmm0, xmmword ptr [rbp-0x40]
vmovdqu xmmword ptr [rbp-0x58], xmm0
;; size=10 bbWeight=1 PerfScore 4.00
G_M60693_IG04:
mov r14, bword ptr [rbp-0x58]
mov r13d, dword ptr [rbp-0x50]
movzx r12, dl
test r12d, r12d
jne SHORT G_M60693_IG06
;; size=17 bbWeight=1 PerfScore 3.50
G_M60693_IG05:
mov rdx, 0xD1FFAB1E ; const ptr
mov rdx, gword ptr [rdx]
add rdx, 8
mov rdi, r14
mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+Negate,System.Buffers.IndexOfAnyAsciiSearcher+Default,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int
call [rax]System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+Negate,System.Buffers.IndexOfAnyAsciiSearcher+Default,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int
jmp SHORT G_M60693_IG07
- align [3 bytes for IG35]
- ;; size=40 bbWeight=0.50 PerfScore 4.12
+ align [0 bytes for IG35]
+ ;; size=37 bbWeight=0.50 PerfScore 4.12
G_M60693_IG06:
- mov rsi, 0xD1FFAB1E ; const ptr
- mov rdi, gword ptr [rsi]
- mov rsi, r14
- mov edx, r13d
- mov rax, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]:IndexOfAny(System.ReadOnlySpan`1[ushort]):int:this
- call [rax]System.Buffers.ProbabilisticWithAsciiCharSearchValues`1[System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle]:IndexOfAny(System.ReadOnlySpan`1[ushort]):int:this
- ;; size=31 bbWeight=0.50 PerfScore 3.00
+ mov rdx, 0xD1FFAB1E ; const ptr
+ mov rdx, gword ptr [rdx]
+ add rdx, 8
+ mov rdi, r14
+ mov esi, r13d
+ mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int
+ call [rax]System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int
+ ;; size=35 bbWeight=0.50 PerfScore 3.12
G_M60693_IG07:
test eax, eax
jl G_M60693_IG21
;; size=8 bbWeight=1 PerfScore 1.25
G_M60693_IG08:
cmp eax, r13d
jae G_M60693_IG43
mov edi, eax
movzx rcx, word ptr [r14+2*rdi]
cmp ecx, 47
je SHORT G_M60693_IG09
cmp ecx, 92
jne SHORT G_M60693_IG10
;; size=26 bbWeight=0.50 PerfScore 3.00
G_M60693_IG09:
mov edi, 1
jmp SHORT G_M60693_IG11
;; size=7 bbWeight=0.50 PerfScore 1.12
G_M60693_IG10:
xor edi, edi
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M60693_IG11:
test edi, edi
jne SHORT G_M60693_IG15
movzx rdi, bl
test edi, edi
je SHORT G_M60693_IG15
cmp ecx, 63
ja SHORT G_M60693_IG14
;; size=17 bbWeight=0.50 PerfScore 2.00
G_M60693_IG12:
mov rdx, 0xD1FFAB1E
bt rdx, rcx
jb SHORT G_M60693_IG14
;; size=16 bbWeight=0.50 PerfScore 0.87
G_M60693_IG13:
mov edi, 1
jmp SHORT G_M60693_IG15
;; size=7 bbWeight=0.50 PerfScore 1.12
G_M60693_IG14:
xor edi, edi
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M60693_IG15:
test edi, edi
je SHORT G_M60693_IG16
cmp eax, r13d
jbe SHORT G_M60693_IG20
jmp G_M60693_IG42
;; size=14 bbWeight=0.50 PerfScore 2.25
G_M60693_IG16:
xor eax, eax
mov dword ptr [r15], eax
;; size=5 bbWeight=0.50 PerfScore 0.62
G_M60693_IG17:
xor eax, eax
cmp qword ptr [rbp-0x30], 0xD1FFAB1E
je SHORT G_M60693_IG18
call CORINFO_HELP_FAIL_FAST
;; size=17 bbWeight=0.50 PerfScore 2.12
G_M60693_IG18:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
G_M60693_IG19:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M60693_IG20:
mov r13d, eax
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M60693_IG21:
mov dword ptr [r15], r13d
cmp dword ptr [r15], 0
je SHORT G_M60693_IG17
;; size=9 bbWeight=0.50 PerfScore 2.50
G_M60693_IG22:
test r13d, r13d
je G_M60693_IG43
movzx rdi, word ptr [r14]
test r12d, r12d
je SHORT G_M60693_IG24
;; size=18 bbWeight=4 PerfScore 18.00
G_M60693_IG23:
cmp edi, 160
jge SHORT G_M60693_IG27
;; size=8 bbWeight=2 PerfScore 2.50
G_M60693_IG24:
mov edx, edi
or edx, 32
add edx, -97
cmp edx, 25
setbe dl
movzx rdx, dl
add edi, -48
cmp edi, 9
setbe dil
movzx rdi, dil
or edi, edx
je SHORT G_M60693_IG17
;; size=35 bbWeight=2 PerfScore 10.50
G_M60693_IG25:
test r12d, r12d
jne SHORT G_M60693_IG27
;; size=5 bbWeight=4 PerfScore 5.00
G_M60693_IG26:
mov rdi, r14
mov edx, r13d
mov esi, 46
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r15d, eax
jmp SHORT G_M60693_IG28
;; size=28 bbWeight=2 PerfScore 12.50
G_M60693_IG27:
mov r8d, -159
mov esi, 46
mov edx, 0x3002
mov ecx, -242
mov rdi, r14
mov r9d, r13d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
call [rax]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
mov r15d, eax
;; size=42 bbWeight=2 PerfScore 10.00
G_M60693_IG28:
test r15d, r15d
jl SHORT G_M60693_IG30
;; size=5 bbWeight=4 PerfScore 5.00
G_M60693_IG29:
mov ebx, r15d
jmp SHORT G_M60693_IG31
;; size=5 bbWeight=2 PerfScore 4.50
G_M60693_IG30:
mov ebx, r13d
;; size=3 bbWeight=2 PerfScore 0.50
G_M60693_IG31:
test r12d, r12d
je SHORT G_M60693_IG33
;; size=5 bbWeight=4 PerfScore 5.00
G_M60693_IG32:
cmp ebx, r13d
jbe SHORT G_M60693_IG34
jmp G_M60693_IG42
;; size=10 bbWeight=2 PerfScore 6.50
G_M60693_IG33:
mov eax, ebx
jmp SHORT G_M60693_IG38
;; size=4 bbWeight=2 PerfScore 4.50
G_M60693_IG34:
mov rax, r14
mov bword ptr [rbp-0x60], rax
mov ecx, ebx
mov dword ptr [rbp-0x48], ecx
mov rdi, rax
mov esi, ecx
mov rdx, 0xD1FFAB1E ; code for System.Text.Ascii:IsValidCore[ushort](byref,int):ubyte
call [rdx]System.Text.Ascii:IsValidCore[ushort](byref,int):ubyte
test eax, eax
mov eax, ebx
jne SHORT G_M60693_IG38
mov ebx, dword ptr [rbp-0x48]
lea eax, [rbx+0x04]
mov rcx, bword ptr [rbp-0x60]
xor edx, edx
test ebx, ebx
jle SHORT G_M60693_IG38
;; size=51 bbWeight=2 PerfScore 23.50
G_M60693_IG35:
cmp word ptr [rcx+2*rdx], 255
jbe SHORT G_M60693_IG37
;; size=8 bbWeight=16 PerfScore 64.00
G_M60693_IG36:
inc eax
;; size=2 bbWeight=8 PerfScore 2.00
G_M60693_IG37:
inc edx
cmp edx, ebx
jl SHORT G_M60693_IG35
;; size=6 bbWeight=16 PerfScore 24.00
G_M60693_IG38:
dec eax
cmp eax, 62
ja G_M60693_IG17
test r15d, r15d
jl SHORT G_M60693_IG39
inc r15d
cmp r15d, r13d
ja SHORT G_M60693_IG42
mov eax, r15d
lea r14, bword ptr [r14+2*rax]
sub r13d, r15d
jne G_M60693_IG22
;; size=40 bbWeight=4 PerfScore 25.00
G_M60693_IG39:
mov eax, 1
cmp qword ptr [rbp-0x30], 0xD1FFAB1E
je SHORT G_M60693_IG40
call CORINFO_HELP_FAIL_FAST
;; size=20 bbWeight=0.50 PerfScore 2.12
G_M60693_IG40:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
G_M60693_IG41:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M60693_IG42:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M60693_IG43:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 623, prolog size 43, PerfScore 273.00, instruction count 189, allocated bytes for code 623 (MethodHash=4ba112ea) for method System.DomainNameHelper:IsValid(System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
+; Total bytes of code 624, prolog size 43, PerfScore 273.12, instruction count 190, allocated bytes for code 624 (MethodHash=4ba112ea) for method System.DomainNameHelper:IsValid(System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)