Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JitDiff X64] [EgorBo] Revert potential UB due to aliasing + more WB removals #929

Open
MihuBot opened this issue Jan 23, 2025 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jan 23, 2025

Job completed in 14 minutes 22 seconds.
dotnet/runtime#111733

Diffs

Diffs
Found 267 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 40347013
Total bytes of diff: 40347533
Total bytes of delta: 520 (0.00 % of base)
Total relative delta: 5.77
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
         724 : System.Memory.dasm (0.25 % of base)
         407 : System.Text.RegularExpressions.dasm (0.05 % of base)
          44 : System.Private.CoreLib.dasm (0.00 % of base)
          40 : System.Text.Json.dasm (0.00 % of base)
           5 : System.Security.Cryptography.dasm (0.00 % of base)

Top file improvements (bytes):
        -700 : System.Numerics.Tensors.dasm (-0.04 % of base)

6 total files with Code Size differences (1 improved, 5 regressed), 253 unchanged.

Top method regressions (bytes):
          99 (5.43 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:.ctor(System.Buffers.ReadOnlySequence`1[ubyte],ubyte,System.Text.Json.JsonReaderState):this (FullOpts)
          69 (53.08 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
          68 (47.55 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:GetNextSpan():this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:GetNextSpan():this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:GetNextSpan():this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:GetNextSpan():this (FullOpts)
          53 (7.48 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:GetNextSpan():this (FullOpts)
          53 (7.52 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:GetNextSpan():this (FullOpts)
          53 (51.46 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
          47 (120.51 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueMatchEnumerator:this (FullOpts)
          44 (133.33 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase+StackAllocatedArguments:.ctor(System.Object,System.Object,System.Object,System.Object):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:.ctor(System.Buffers.ReadOnlySequence`1[double]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:.ctor(System.Buffers.ReadOnlySequence`1[int]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:.ctor(System.Buffers.ReadOnlySequence`1[long]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:.ctor(System.Buffers.ReadOnlySequence`1[short]):this (FullOpts)
          40 (6.73 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:.ctor(System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          40 (6.97 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:.ctor(System.Buffers.ReadOnlySequence`1[ubyte]):this (FullOpts)
          35 (112.90 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueMatchEnumerator:this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:ResetReader():this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:ResetReader():this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:ResetReader():this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:ResetReader():this (FullOpts)
          27 (3.87 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:ResetReader():this (FullOpts)
          27 (3.90 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:ResetReader():this (FullOpts)
          24 (16.00 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],System.String,int,System.TimeSpan):System.Text.RegularExpressions.Regex+ValueSplitEnumerator (FullOpts)
          24 (15.29 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],System.String,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator (FullOpts)
          24 (16.67 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],System.String):System.Text.RegularExpressions.Regex+ValueSplitEnumerator (FullOpts)
          21 (25.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],System.String,int,System.TimeSpan):System.Text.RegularExpressions.Regex+ValueMatchEnumerator (FullOpts)
          21 (23.86 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],System.String,int):System.Text.RegularExpressions.Regex+ValueMatchEnumerator (FullOpts)
          21 (28.00 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],System.String):System.Text.RegularExpressions.Regex+ValueMatchEnumerator (FullOpts)
          20 (1.78 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this (FullOpts)
           5 (3.68 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEnumerator:Utf16(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.PemEnumerator`1[ushort] (FullOpts)
           2 (0.60 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:.ctor(System.ReadOnlySpan`1[ubyte],ubyte,System.Text.Json.JsonReaderState):this (FullOpts)
           2 (8.00 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:set_ValueSequence(System.Buffers.ReadOnlySequence`1[ubyte]):this (FullOpts)
           1 (0.13 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:SkipOrConsumeCommentMultiSegmentWithRollback():ubyte:this (FullOpts)

Top method improvements (bytes):
         -25 (-3.92 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
         -20 (-5.01 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeNegativeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
         -18 (-1.88 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:TryGetNumberMultiSegment(System.ReadOnlySpan`1[ubyte],byref):ubyte:this (FullOpts)
         -12 (-3.06 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeDecimalDigitsMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(int[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(int[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(int[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(long[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(long[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(long[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(short[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(short[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(short[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(ulong,long):this (FullOpts)
          -5 (-2.72 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.83 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.__Canon[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.70 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.__Canon[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.02 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.__Canon[]):this (FullOpts)
          -5 (-0.56 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.56 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.ReadOnlySpan`1[System.__Canon],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.ReadOnlySpan`1[System.Nullable`1[int]],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.99 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ubyte[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.85 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ubyte[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ubyte[]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(double[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(double[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(System.Span`1[double],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(int[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(int[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(int[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(System.Span`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(ulong,long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(long[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(long[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(long[]):this (FullOpts)
          -5 (-0.58 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(System.Array,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.59 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(System.Array,System.ReadOnlySpan`1[System.Buffers.NIndex],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(System.Span`1[long],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)

Top method regressions (percentages):
          44 (133.33 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase+StackAllocatedArguments:.ctor(System.Object,System.Object,System.Object,System.Object):this (FullOpts)
          47 (120.51 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueMatchEnumerator:this (FullOpts)
          35 (112.90 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueMatchEnumerator:this (FullOpts)
          69 (53.08 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
          53 (51.46 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
          68 (47.55 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
          21 (28.00 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],System.String):System.Text.RegularExpressions.Regex+ValueMatchEnumerator (FullOpts)
          21 (25.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],System.String,int,System.TimeSpan):System.Text.RegularExpressions.Regex+ValueMatchEnumerator (FullOpts)
          21 (23.86 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateMatches(System.ReadOnlySpan`1[ushort],System.String,int):System.Text.RegularExpressions.Regex+ValueMatchEnumerator (FullOpts)
          24 (16.67 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],System.String):System.Text.RegularExpressions.Regex+ValueSplitEnumerator (FullOpts)
          24 (16.00 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],System.String,int,System.TimeSpan):System.Text.RegularExpressions.Regex+ValueSplitEnumerator (FullOpts)
          24 (15.29 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],System.String,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator (FullOpts)
           2 (8.00 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:set_ValueSequence(System.Buffers.ReadOnlySequence`1[ubyte]):this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:GetNextSpan():this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:GetNextSpan():this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:GetNextSpan():this (FullOpts)
          54 (7.68 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:GetNextSpan():this (FullOpts)
          53 (7.52 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:GetNextSpan():this (FullOpts)
          53 (7.48 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:GetNextSpan():this (FullOpts)
          40 (6.97 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:.ctor(System.Buffers.ReadOnlySequence`1[ubyte]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:.ctor(System.Buffers.ReadOnlySequence`1[double]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:.ctor(System.Buffers.ReadOnlySequence`1[int]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:.ctor(System.Buffers.ReadOnlySequence`1[long]):this (FullOpts)
          40 (6.93 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:.ctor(System.Buffers.ReadOnlySequence`1[short]):this (FullOpts)
          40 (6.73 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:.ctor(System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          99 (5.43 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:.ctor(System.Buffers.ReadOnlySequence`1[ubyte],ubyte,System.Text.Json.JsonReaderState):this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:ResetReader():this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:ResetReader():this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:ResetReader():this (FullOpts)
          27 (3.91 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:ResetReader():this (FullOpts)
          27 (3.90 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:ResetReader():this (FullOpts)
          27 (3.87 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:ResetReader():this (FullOpts)
           5 (3.68 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEnumerator:Utf16(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.PemEnumerator`1[ushort] (FullOpts)
          20 (1.78 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this (FullOpts)
           2 (0.60 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:.ctor(System.ReadOnlySpan`1[ubyte],ubyte,System.Text.Json.JsonReaderState):this (FullOpts)
           1 (0.13 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:SkipOrConsumeCommentMultiSegmentWithRollback():ubyte:this (FullOpts)

Top method improvements (percentages):
          -5 (-12.20 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:RollBackState(byref,ubyte):this (FullOpts)
         -20 (-5.01 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeNegativeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
         -25 (-3.92 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-3.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
         -12 (-3.06 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeDecimalDigitsMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
          -5 (-2.72 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
          -5 (-2.72 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.__Canon]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
         -18 (-1.88 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:TryGetNumberMultiSegment(System.ReadOnlySpan`1[ubyte],byref):ubyte:this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.35 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(ulong,long):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(int[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(long[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(short[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ubyte[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(double[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(int[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(long[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(short[]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][]):this (FullOpts)
          -5 (-1.21 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(ubyte[]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.ReadOnlySpan`1[System.__Canon],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.ReadOnlySpan`1[System.Nullable`1[int]],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(System.Span`1[double],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(System.Span`1[int],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(System.Span`1[long],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(System.Span`1[short],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.__Canon]:.ctor(System.Span`1[System.__Canon],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:.ctor(System.Span`1[System.Nullable`1[int]],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Span`1[System.Numerics.Vector`1[float]],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.18 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(System.Span`1[ubyte],System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(ulong,long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-1.02 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:.ctor(System.__Canon[]):this (FullOpts)
          -5 (-1.02 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.__Canon]:.ctor(System.__Canon[]):this (FullOpts)
          -4 (-1.01 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:ConsumeZeroMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
          -5 (-0.99 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ubyte[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.99 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(ubyte[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(short[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(short[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(int[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:.ctor(long[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:.ctor(int[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:.ctor(long[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.98 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.85 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:.ctor(ubyte[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.85 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:.ctor(ubyte[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:.ctor(short[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
          -5 (-0.84 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:.ctor(short[],System.Index,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)

182 total methods with Code Size differences (146 improved, 36 regressed), 235212 unchanged.

--------------------------------------------------------------------------------

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 23, 2025

Top method regressions

69 (53.08 % of base) - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this
 ; Assembly listing for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  4,  4   )     ref  ->  rdi         this class-hnd single-def <System.Text.RegularExpressions.Regex>
-;  V01 RetBuf       [V01,T00] ( 11, 11   )   byref  ->  rsi         single-def
+;  V00 this         [V00,T02] (  4,  4   )     ref  ->  [rbp-0x38]  this class-hnd single-def <System.Text.RegularExpressions.Regex>
+;  V01 RetBuf       [V01,T00] ( 11, 11   )   byref  ->  rbx         single-def
 ;* V02 arg1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg2         [V03,T01] (  5,  5   )     int  ->   r8         single-def
-;  V04 arg3         [V04,T03] (  4,  4   )     int  ->   r9         single-def
+;  V04 arg3         [V04,T03] (  4,  4   )     int  ->  r15         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V07 tmp2         [V07,T09] (  0,  0   )  struct (48) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Text.RegularExpressions.Regex+ValueSplitEnumerator>
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V09 tmp4         [V09,T06] (  2,  4   )   ubyte  ->  rax         "Inlining Arg"
+;  V09 tmp4         [V09,T06] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
 ;* V10 tmp5         [V10    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V11 tmp6         [V11    ] (  0,  0   )   byref  ->  zero-ref   
-;  V12 tmp7         [V12,T07] (  2,  2   )     int  ->  rax        
+;  V12 tmp7         [V12,T07] (  2,  2   )     int  ->  r12        
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[int,int]>
 ;* V14 tmp9         [V14    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V15 tmp10        [V15    ] (  0,  0   )   byref  ->  zero-ref   
-;  V16 tmp11        [V16,T08] (  2,  2   )     int  ->   r8        
-;  V17 tmp12        [V17,T05] (  2,  2   )   byref  ->  rdx         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V18 tmp13        [V18,T04] (  4,  4   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V16 tmp11        [V16,T08] (  2,  2   )     int  ->  [rbp-0x2C]  spill-single-def
+;  V17 tmp12        [V17,T05] (  2,  2   )   byref  ->  r13         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp13        [V18,T04] (  4,  4   )     int  ->  r14         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V19 tmp14        [V19    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V20 tmp15        [V20    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;* V21 tmp16        [V21    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V22 tmp17        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V23 tmp18        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V13.Item1 (fldOffset=0x0)" P-INDEP
 ;* V24 tmp19        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V13.Item2 (fldOffset=0x4)" P-INDEP
 ;* V25 tmp20        [V25    ] (  0,  0   )     ref  ->  zero-ref    single-def "V07.[000..008)"
 ;* V26 tmp21        [V26    ] (  0,  0   )     int  ->  zero-ref    "V07.[008..012)"
 ;* V27 tmp22        [V27    ] (  0,  0   )     int  ->  zero-ref    "V07.[012..016)"
 ;* V28 tmp23        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "V07.[016..024)"
 ;* V29 tmp24        [V29    ] (  0,  0   )     int  ->  zero-ref    "V07.[024..028)"
 ;* V30 tmp25        [V30    ] (  0,  0   )     int  ->  zero-ref    "V07.[032..036)"
 ;* V31 tmp26        [V31    ] (  0,  0   )     int  ->  zero-ref    "V07.[036..040)"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 24
 
 G_M22749_IG01:
        push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+       push     r15
+       push     r14
+       push     r13
+       push     r12
+       push     rbx
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
+       mov      rbx, rsi
+       mov      r13, rdx
+       mov      r14d, ecx
+       mov      r15d, r9d
+						;; size=31 bbWeight=1 PerfScore 7.75
 G_M22749_IG02:
        test     r8d, r8d
-       jl       SHORT G_M22749_IG05
-       cmp      r9d, ecx
+       jl       G_M22749_IG05
+       cmp      r15d, r14d
        ja       SHORT G_M22749_IG04
+       mov      gword ptr [rbp-0x38], rdi
        test     byte  ptr [rdi+0x40], 64
-       setne    al
-       movzx    rax, al
-       xor      r10d, r10d
-       test     eax, eax
-       mov      eax, r10d
-       cmovne   eax, ecx
-       mov      r10d, 0xD1FFAB1E
-       test     r8d, r8d
-       cmove    r8d, r10d
-       mov      gword ptr [rsi], rdi
-       mov      dword ptr [rsi+0x08], r9d
-       mov      dword ptr [rsi+0x0C], r8d
-       mov      bword ptr [rsi+0x10], rdx
-       mov      dword ptr [rsi+0x18], ecx
-       mov      dword ptr [rsi+0x20], eax
-       mov      dword ptr [rsi+0x24], -1
+       setne    sil
+       movzx    rsi, sil
        xor      eax, eax
-       mov      qword ptr [rsi+0x28], rax
-       mov      rax, rsi
-						;; size=81 bbWeight=1 PerfScore 17.00
+       test     esi, esi
+       mov      r12d, eax
+       cmovne   r12d, r14d
+       mov      esi, 0xD1FFAB1E
+       test     r8d, r8d
+       mov      eax, esi
+       cmovne   eax, r8d
+       mov      dword ptr [rbp-0x2C], eax
+       mov      rsi, gword ptr [rbp-0x38]
+       mov      rdi, rbx
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       mov      dword ptr [rbx+0x08], r15d
+       mov      r15d, dword ptr [rbp-0x2C]
+       mov      dword ptr [rbx+0x0C], r15d
+       mov      bword ptr [rbx+0x10], r13
+       mov      dword ptr [rbx+0x18], r14d
+       mov      dword ptr [rbx+0x20], r12d
+       mov      dword ptr [rbx+0x24], -1
+       xor      eax, eax
+       mov      qword ptr [rbx+0x28], rax
+       mov      rax, rbx
+						;; size=110 bbWeight=1 PerfScore 21.50
 G_M22749_IG03:
+       add      rsp, 24
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
        pop      rbp
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=15 bbWeight=1 PerfScore 4.25
 G_M22749_IG04:
        mov      edi, 14
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=20 bbWeight=0.50 PerfScore 2.00
 G_M22749_IG05:
        mov      edi, 3
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=23 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 130, prolog size 4, PerfScore 23.75, instruction count 38, allocated bytes for code 130 (MethodHash=9224a722) for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
+; Total bytes of code 199, prolog size 19, PerfScore 37.50, instruction count 60, allocated bytes for code 199 (MethodHash=9224a722) for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int,int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
 ; ============================================================
68 (47.55 % of base) - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this
 ; Assembly listing for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4,  4   )     ref  ->  rdi         this class-hnd single-def <System.Text.RegularExpressions.Regex>
-;  V01 RetBuf       [V01,T00] ( 11, 11   )   byref  ->  rsi         single-def
+;  V00 this         [V00,T03] (  4,  4   )     ref  ->  [rbp-0x38]  this class-hnd single-def <System.Text.RegularExpressions.Regex>
+;  V01 RetBuf       [V01,T00] ( 11, 11   )   byref  ->  rbx         single-def
 ;* V02 arg1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg2         [V03,T01] (  5,  5   )     int  ->   r8         single-def
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V06 tmp2         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V08 tmp4         [V08    ] (  0,  0   )     int  ->  zero-ref   
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp6         [V10    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp7         [V11    ] (  0,  0   )     int  ->  zero-ref   
-;  V12 tmp8         [V12,T06] (  3,  3   )     int  ->   r9        
+;  V12 tmp8         [V12,T06] (  3,  3   )     int  ->  r13        
 ;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp11        [V15,T10] (  0,  0   )  struct (48) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Text.RegularExpressions.Regex+ValueSplitEnumerator>
 ;* V16 tmp12        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp13        [V17,T05] (  2,  4   )   ubyte  ->  rax         "Inlining Arg"
+;  V17 tmp13        [V17,T05] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
 ;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V19 tmp15        [V19    ] (  0,  0   )   byref  ->  zero-ref   
-;  V20 tmp16        [V20,T08] (  2,  2   )     int  ->  rax        
+;  V20 tmp16        [V20,T08] (  2,  2   )     int  ->  r12        
 ;* V21 tmp17        [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[int,int]>
 ;* V22 tmp18        [V22    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V23 tmp19        [V23    ] (  0,  0   )   byref  ->  zero-ref   
-;  V24 tmp20        [V24,T09] (  2,  2   )     int  ->   r8        
-;  V25 tmp21        [V25,T04] (  2,  2   )   byref  ->  rdx         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V26 tmp22        [V26,T02] (  5,  5   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V24 tmp20        [V24,T09] (  2,  2   )     int  ->  [rbp-0x2C]  spill-single-def
+;  V25 tmp21        [V25,T04] (  2,  2   )   byref  ->  r14         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+;  V26 tmp22        [V26,T02] (  5,  5   )     int  ->  r15         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V27 tmp23        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V28 tmp24        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V29 tmp25        [V29    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V30 tmp26        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V31 tmp27        [V31    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V32 tmp28        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V33 tmp29        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V34 tmp30        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;* V35 tmp31        [V35    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V36 tmp32        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V37 tmp33        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V38 tmp34        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V21.Item1 (fldOffset=0x0)" P-INDEP
 ;* V40 tmp36        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V21.Item2 (fldOffset=0x4)" P-INDEP
 ;* V41 tmp37        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
 ;* V42 tmp38        [V42    ] (  0,  0   )     int  ->  zero-ref    "V15.[008..012)"
 ;* V43 tmp39        [V43    ] (  0,  0   )     int  ->  zero-ref    "V15.[012..016)"
 ;* V44 tmp40        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "V15.[016..024)"
 ;* V45 tmp41        [V45    ] (  0,  0   )     int  ->  zero-ref    "V15.[024..028)"
 ;* V46 tmp42        [V46    ] (  0,  0   )     int  ->  zero-ref    "V15.[032..036)"
 ;* V47 tmp43        [V47    ] (  0,  0   )     int  ->  zero-ref    "V15.[036..040)"
-;  V48 cse0         [V48,T07] (  3,  3   )     int  ->  rax         "CSE #02: moderate"
+;  V48 cse0         [V48,T07] (  3,  3   )     int  ->  rsi         "CSE #02: moderate"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 24
 
 G_M53762_IG01:
        push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
+       push     r15
+       push     r14
+       push     r13
+       push     r12
+       push     rbx
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
+       mov      rbx, rsi
+       mov      r14, rdx
+       mov      r15d, ecx
+						;; size=28 bbWeight=1 PerfScore 7.50
 G_M53762_IG02:
-       mov      eax, dword ptr [rdi+0x40]
-       and      eax, 64
-       xor      r9d, r9d
-       test     eax, eax
-       cmovne   r9d, ecx
-       test     r8d, r8d
-       jl       SHORT G_M53762_IG05
-       cmp      r9d, ecx
-       ja       SHORT G_M53762_IG04
-       test     eax, eax
-       setne    al
-       movzx    rax, al
-       xor      r10d, r10d
-       test     eax, eax
-       mov      eax, r10d
-       cmovne   eax, ecx
-       mov      r10d, 0xD1FFAB1E
-       test     r8d, r8d
-       cmove    r8d, r10d
-       mov      gword ptr [rsi], rdi
-       mov      dword ptr [rsi+0x08], r9d
-       mov      dword ptr [rsi+0x0C], r8d
-       mov      bword ptr [rsi+0x10], rdx
-       mov      dword ptr [rsi+0x18], ecx
-       mov      dword ptr [rsi+0x20], eax
-       mov      dword ptr [rsi+0x24], -1
+       mov      gword ptr [rbp-0x38], rdi
+       mov      esi, dword ptr [rdi+0x40]
+       and      esi, 64
        xor      eax, eax
-       mov      qword ptr [rsi+0x28], rax
-       mov      rax, rsi
-						;; size=94 bbWeight=1 PerfScore 17.25
+       test     esi, esi
+       mov      r13d, eax
+       cmovne   r13d, r15d
+       test     r8d, r8d
+       jl       G_M53762_IG05
+       cmp      r13d, r15d
+       ja       SHORT G_M53762_IG04
+       test     esi, esi
+       setne    sil
+       movzx    rsi, sil
+       xor      eax, eax
+       test     esi, esi
+       mov      r12d, eax
+       cmovne   r12d, r15d
+       mov      esi, 0xD1FFAB1E
+       test     r8d, r8d
+       mov      eax, esi
+       cmovne   eax, r8d
+       mov      dword ptr [rbp-0x2C], eax
+       mov      rsi, gword ptr [rbp-0x38]
+       mov      rdi, rbx
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       mov      dword ptr [rbx+0x08], r13d
+       mov      r13d, dword ptr [rbp-0x2C]
+       mov      dword ptr [rbx+0x0C], r13d
+       mov      bword ptr [rbx+0x10], r14
+       mov      dword ptr [rbx+0x18], r15d
+       mov      dword ptr [rbx+0x20], r12d
+       mov      dword ptr [rbx+0x24], -1
+       xor      eax, eax
+       mov      qword ptr [rbx+0x28], rax
+       mov      rax, rbx
+						;; size=125 bbWeight=1 PerfScore 22.00
 G_M53762_IG03:
+       add      rsp, 24
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
        pop      rbp
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=15 bbWeight=1 PerfScore 4.25
 G_M53762_IG04:
        mov      edi, 14
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=20 bbWeight=0.50 PerfScore 2.00
 G_M53762_IG05:
        mov      edi, 3
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=23 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 143, prolog size 4, PerfScore 24.00, instruction count 43, allocated bytes for code 143 (MethodHash=08172dfd) for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
+; Total bytes of code 211, prolog size 19, PerfScore 37.75, instruction count 65, allocated bytes for code 211 (MethodHash=08172dfd) for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort],int):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
 ; ============================================================
54 (7.68 % of base) - System.Buffers.SequenceReader`1[double]:GetNextSpan():this
 ; Assembly listing for method System.Buffers.SequenceReader`1[double]:GetNextSpan():this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 24 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 18, 46   )   byref  ->  rbx         this single-def
 ;* V01 loc0         [V01    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Buffers.ReadOnlySequence`1[double]>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    <System.SequencePosition>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlyMemory`1[double]>
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[double]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[double]>
-;  V07 tmp2         [V07,T02] (  4, 28   )   byref  ->  [rbp-0x48]  spill-single-def "Inlining Arg"
+;  V07 tmp2         [V07,T02] (  4, 28   )   byref  ->  [rbp-0x50]  spill-single-def "Inlining Arg"
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.SequencePosition>
-;  V09 tmp4         [V09,T24] (  2,  8   )     int  ->  rdx        
+;  V09 tmp4         [V09,T24] (  2,  8   )     int  ->  [rbp-0x2C]  spill-single-def
 ;* V10 tmp5         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;  V11 tmp6         [V11,T21] (  3,  8   )   ubyte  ->  registers   "Inline return value spill temp"
 ;  V12 tmp7         [V12,T10] (  4, 12   )     ref  ->  rsi         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V13 tmp8         [V13,T32] (  3,  6   )     int  ->  rdi         "Inline stloc first use temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Object>
-;  V15 tmp10        [V15,T01] ( 14, 28   )     int  ->  [rbp-0x2C]  spill-single-def "Inline stloc first use temp"
+;  V15 tmp10        [V15,T01] ( 14, 28   )     int  ->  [rbp-0x30]  spill-single-def "Inline stloc first use temp"
 ;  V16 tmp11        [V16,T19] (  4,  8   )     int  ->  r12         "Inline stloc first use temp"
 ;* V17 tmp12        [V17    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.Memory`1[double]>
 ;  V18 tmp13        [V18    ] (  4,  8   )  struct (16) [rbp-0x40]  do-not-enreg[SBR] multireg-ret must-init ld-addr-op "Inline stloc first use temp" <System.Memory`1[double]>
 ;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[double]>
 ;* V20 tmp15        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[double]>
 ;  V21 tmp16        [V21,T09] (  6, 12   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Buffers.ReadOnlySequenceSegment`1[double]>
 ;* V22 tmp17        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlyMemory`1[double]>
 ;  V23 tmp18        [V23,T30] (  3,  6   )     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Buffers.ReadOnlySequenceSegment`1[double]>
 ;* V24 tmp19        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.SequencePosition>
 ;* V25 tmp20        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp21        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[double]>
 ;* V27 tmp22        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
-;  V28 tmp23        [V28,T25] (  2,  8   )     int  ->  rax         "Inlining Arg"
-;  V29 tmp24        [V29,T26] (  2,  8   )     int  ->  rdx         "Inlining Arg"
+;  V28 tmp23        [V28,T25] (  2,  8   )     int  ->  rdi         "Inlining Arg"
+;  V29 tmp24        [V29,T26] (  2,  8   )     int  ->  rsi         "Inlining Arg"
 ;  V30 tmp25        [V30,T13] (  3, 12   )     int  ->  r12         "Inlining Arg"
 ;* V31 tmp26        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[double]>
 ;* V32 tmp27        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
-;  V33 tmp28        [V33,T27] (  2,  8   )     int  ->  rcx         "Inlining Arg"
-;  V34 tmp29        [V34,T04] (  4, 16   )     ref  ->  rdi         class-hnd "Inlining Arg" <double[]>
+;  V33 tmp28        [V33,T27] (  2,  8   )     int  ->  rdi         "Inlining Arg"
+;  V34 tmp29        [V34,T04] (  4, 16   )     ref  ->   r8         class-hnd "Inlining Arg" <double[]>
 ;  V35 tmp30        [V35,T05] (  4, 16   )     int  ->  r12         "Inlining Arg"
 ;  V36 tmp31        [V36,T14] (  3, 12   )     int  ->  r12         "Inlining Arg"
 ;* V37 tmp32        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[double]>
 ;* V38 tmp33        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
 ;  V39 tmp34        [V39,T28] (  2,  8   )     int  ->  r15         "Inlining Arg"
 ;* V40 tmp35        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[double]>
 ;* V41 tmp36        [V41    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[double]>
-;  V42 tmp37        [V42,T51] (  6,  3   )   byref  ->  r14         "Inline stloc first use temp"
-;  V43 tmp38        [V43,T52] (  6,  3   )     int  ->  r13         "Inline stloc first use temp"
+;  V42 tmp37        [V42,T51] (  6,  3   )   byref  ->  r13         "Inline stloc first use temp"
+;  V43 tmp38        [V43,T52] (  6,  3   )     int  ->  rax         "Inline stloc first use temp"
 ;* V44 tmp39        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V45 tmp40        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[double]>
 ;* V46 tmp41        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Buffers.MemoryManager`1[double]>
 ;* V47 tmp42        [V47    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[double]>
 ;* V48 tmp43        [V48    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[double]>
-;  V49 tmp44        [V49,T56] (  3,  1.50)    long  ->  rax         "Inline stloc first use temp"
+;  V49 tmp44        [V49,T56] (  3,  1.50)    long  ->  rcx         "Inline stloc first use temp"
 ;* V50 tmp45        [V50    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V51 tmp46        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "updating class info" <double[]>
 ;* V52 tmp47        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <double[]>
-;  V53 tmp48        [V53,T53] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V53 tmp48        [V53,T53] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V54 tmp49        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[double]>
 ;* V55 tmp50        [V55    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[double]>
 ;  V56 tmp51        [V56,T54] (  2,  2   )     ref  ->  rsi         single-def "field V01._startObject (fldOffset=0x0)" P-INDEP
 ;  V57 tmp52        [V57,T03] ( 11, 20.50)     ref  ->  r15         "field V01._endObject (fldOffset=0x8)" P-INDEP
 ;  V58 tmp53        [V58,T35] (  2,  6   )     int  ->  rdi         "field V01._startInteger (fldOffset=0x10)" P-INDEP
 ;  V59 tmp54        [V59,T22] (  3,  8   )     int  ->  r12         "field V01._endInteger (fldOffset=0x14)" P-INDEP
 ;  V60 tmp55        [V60,T23] (  2,  8   )     ref  ->  r14         "field V02._object (fldOffset=0x0)" P-INDEP
 ;  V61 tmp56        [V61,T29] (  2,  8   )     int  ->  r13         "field V02._integer (fldOffset=0x8)" P-INDEP
-;  V62 tmp57        [V62,T08] ( 11, 13   )     ref  ->  rdi         "field V03._object (fldOffset=0x0)" P-INDEP
+;  V62 tmp57        [V62,T08] ( 11, 13   )     ref  ->  registers   "field V03._object (fldOffset=0x0)" P-INDEP
 ;  V63 tmp58        [V63,T15] (  6, 10.50)     int  ->  r15         "field V03._index (fldOffset=0x8)" P-INDEP
-;  V64 tmp59        [V64,T06] (  8, 15   )     int  ->  registers   "field V03._length (fldOffset=0xc)" P-INDEP
+;  V64 tmp59        [V64,T06] (  8, 15   )     int  ->  [rbp-0x44]  "field V03._length (fldOffset=0xc)" P-INDEP
 ;* V65 tmp60        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V66 tmp61        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp62        [V67    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp63        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V69 tmp64        [V69,T17] (  3, 10   )     ref  ->  [rbp-0x50]  "field V08._object (fldOffset=0x0)" P-INDEP
+;  V69 tmp64        [V69,T17] (  3, 10   )     ref  ->  [rbp-0x58]  "field V08._object (fldOffset=0x0)" P-INDEP
 ;* V70 tmp65        [V70,T36] (  0,  0   )     int  ->  zero-ref    "field V08._integer (fldOffset=0x8)" P-INDEP
 ;  V71 tmp66        [V71,T38] (  2,  4   )     ref  ->  [rbp-0x40]  do-not-enreg[] "field V18._object (fldOffset=0x0)" P-DEP
 ;  V72 tmp67        [V72,T43] (  2,  4   )     int  ->  [rbp-0x38]  do-not-enreg[] "field V18._index (fldOffset=0x8)" P-DEP
 ;  V73 tmp68        [V73,T44] (  2,  4   )     int  ->  [rbp-0x34]  do-not-enreg[] "field V18._length (fldOffset=0xc)" P-DEP
 ;* V74 tmp69        [V74    ] (  0,  0   )     ref  ->  zero-ref    "field V19._object (fldOffset=0x0)" P-INDEP
 ;* V75 tmp70        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V19._index (fldOffset=0x8)" P-INDEP
 ;* V76 tmp71        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0xc)" P-INDEP
-;  V77 tmp72        [V77,T31] (  3,  6   )     ref  ->  rdi         "field V20._object (fldOffset=0x0)" P-INDEP
+;  V77 tmp72        [V77,T31] (  3,  6   )     ref  ->   r8         "field V20._object (fldOffset=0x0)" P-INDEP
 ;  V78 tmp73        [V78,T33] (  3,  6   )     int  ->  r15         "field V20._index (fldOffset=0x8)" P-INDEP
 ;  V79 tmp74        [V79,T34] (  3,  6   )     int  ->  r12         "field V20._length (fldOffset=0xc)" P-INDEP
-;  V80 tmp75        [V80,T18] (  4,  8   )     ref  ->  rdi         "field V22._object (fldOffset=0x0)" P-INDEP
-;  V81 tmp76        [V81,T20] (  4,  8   )     int  ->  rcx         "field V22._index (fldOffset=0x8)" P-INDEP
-;  V82 tmp77        [V82,T16] (  5, 10   )     int  ->  rdx         "field V22._length (fldOffset=0xc)" P-INDEP
+;  V80 tmp75        [V80,T18] (  4,  8   )     ref  ->   r8         "field V22._object (fldOffset=0x0)" P-INDEP
+;  V81 tmp76        [V81,T20] (  4,  8   )     int  ->  rdi         "field V22._index (fldOffset=0x8)" P-INDEP
+;  V82 tmp77        [V82,T16] (  5, 10   )     int  ->  rsi         "field V22._length (fldOffset=0xc)" P-INDEP
 ;  V83 tmp78        [V83,T39] (  2,  4   )     ref  ->  rcx         "field V24._object (fldOffset=0x0)" P-INDEP
 ;* V84 tmp79        [V84,T55] (  0,  0   )     int  ->  zero-ref    "field V24._integer (fldOffset=0x8)" P-INDEP
-;  V85 tmp80        [V85,T40] (  2,  4   )     ref  ->  rdi         "field V26._object (fldOffset=0x0)" P-INDEP
+;  V85 tmp80        [V85,T40] (  2,  4   )     ref  ->  rax         "field V26._object (fldOffset=0x0)" P-INDEP
 ;  V86 tmp81        [V86,T45] (  2,  4   )     int  ->  r15         "field V26._index (fldOffset=0x8)" P-INDEP
-;  V87 tmp82        [V87,T46] (  2,  4   )     int  ->  rdx         "field V26._length (fldOffset=0xc)" P-INDEP
-;  V88 tmp83        [V88,T41] (  2,  4   )     ref  ->  rdi         "field V31._object (fldOffset=0x0)" P-INDEP
+;  V87 tmp82        [V87,T46] (  2,  4   )     int  ->  rsi         "field V26._length (fldOffset=0xc)" P-INDEP
+;  V88 tmp83        [V88,T41] (  2,  4   )     ref  ->   r8         "field V31._object (fldOffset=0x0)" P-INDEP
 ;  V89 tmp84        [V89,T47] (  2,  4   )     int  ->  r15         "field V31._index (fldOffset=0x8)" P-INDEP
 ;  V90 tmp85        [V90,T48] (  2,  4   )     int  ->  r12         "field V31._length (fldOffset=0xc)" P-INDEP
-;  V91 tmp86        [V91,T42] (  2,  4   )     ref  ->  rdi         "field V37._object (fldOffset=0x0)" P-INDEP
+;  V91 tmp86        [V91,T42] (  2,  4   )     ref  ->  rax         "field V37._object (fldOffset=0x0)" P-INDEP
 ;  V92 tmp87        [V92,T49] (  2,  4   )     int  ->  r15         "field V37._index (fldOffset=0x8)" P-INDEP
 ;  V93 tmp88        [V93,T50] (  2,  4   )     int  ->  r12         "field V37._length (fldOffset=0xc)" P-INDEP
 ;* V94 tmp89        [V94    ] (  0,  0   )     ref  ->  zero-ref    "field V40._object (fldOffset=0x0)" P-INDEP
 ;* V95 tmp90        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V40._index (fldOffset=0x8)" P-INDEP
 ;* V96 tmp91        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0xc)" P-INDEP
 ;* V97 tmp92        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp93        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;  V99 tmp94        [V99,T57] (  2,  1   )   byref  ->  r14         single-def "field V45._reference (fldOffset=0x0)" P-INDEP
-;  V100 tmp95       [V100,T59] (  2,  1   )     int  ->  r13         "field V45._length (fldOffset=0x8)" P-INDEP
+;  V99 tmp94        [V99,T57] (  2,  1   )   byref  ->  r13         single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;  V100 tmp95       [V100,T59] (  2,  1   )     int  ->  rax         "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V101 tmp96       [V101    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-DEP
 ;* V102 tmp97       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-DEP
-;  V103 tmp98       [V103,T58] (  2,  1   )   byref  ->  r14         "field V48._reference (fldOffset=0x0)" P-INDEP
-;  V104 tmp99       [V104,T60] (  2,  1   )     int  ->  r13         "field V48._length (fldOffset=0x8)" P-INDEP
+;  V103 tmp98       [V103,T58] (  2,  1   )   byref  ->  r13         "field V48._reference (fldOffset=0x0)" P-INDEP
+;  V104 tmp99       [V104,T60] (  2,  1   )     int  ->  rax         "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V105 tmp100      [V105    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V106 tmp101      [V106    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp102      [V107    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp103      [V108    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;  V109 tmp104      [V109,T11] (  3, 12   )     ref  ->  rax         "argument with side effect"
 ;  V110 cse0        [V110,T12] (  3, 12   )     ref  ->  rsi         "CSE #01: moderate"
-;  V111 rat0        [V111,T07] (  5, 15   )     ref  ->  rdi         "replacement local"
-;  V112 rat1        [V112,T37] (  3,  5   )    long  ->   r8         "CSE for expectedClsNode"
+;  V111 rat0        [V111,T07] (  5, 15   )     ref  ->   r8         "replacement local"
+;  V112 rat1        [V112,T37] (  3,  5   )    long  ->  rdi         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 56
 
 G_M42350_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      rbx, rdi
 						;; size=28 bbWeight=1 PerfScore 8.25
 G_M42350_IG02:
        mov      rsi, gword ptr [rbx+0x38]
        mov      r15, gword ptr [rbx+0x40]
        cmp      rsi, r15
-       jne      G_M42350_IG22
+       jne      G_M42350_IG24
 						;; size=17 bbWeight=1 PerfScore 5.25
 G_M42350_IG03:
        mov      byte  ptr [rbx+0x14], 0
        jmp      SHORT G_M42350_IG08
 						;; size=6 bbWeight=0.50 PerfScore 1.50
 G_M42350_IG04:
-       xor      r14, r14
-       xor      r13d, r13d
-       test     rdi, rdi
+       xor      r13, r13
+       xor      eax, eax
+       test     r12, r12
        je       SHORT G_M42350_IG07
-       mov      rax, qword ptr [rdi]
-       test     dword ptr [rax], 0xD1FFAB1E
+       mov      rdi, qword ptr [r12]
+       test     dword ptr [rdi], 0xD1FFAB1E
        jne      SHORT G_M42350_IG05
-       mov      rax, qword ptr [rdi]
+       mov      rdi, r12
+       mov      rax, qword ptr [r12]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.Buffers.MemoryManager`1[double]:GetSpan():System.Span`1[double]:this
-       mov      r14, rax
-       mov      r13d, edx
+       mov      r13, rax
+       mov      eax, edx
        jmp      SHORT G_M42350_IG06
-						;; size=40 bbWeight=0.50 PerfScore 8.62
+						;; size=43 bbWeight=0.50 PerfScore 8.75
 G_M42350_IG05:
-       lea      r14, bword ptr [rdi+0x10]
-       mov      r13d, dword ptr [rdi+0x08]
-						;; size=8 bbWeight=0.50 PerfScore 1.25
+       lea      r13, bword ptr [r12+0x10]
+       mov      eax, dword ptr [r12+0x08]
+						;; size=10 bbWeight=0.50 PerfScore 1.25
 G_M42350_IG06:
        and      r15d, 0xD1FFAB1E
-       mov      eax, r15d
-       mov      ecx, r12d
-       add      rcx, rax
-       mov      edx, r13d
-       cmp      rcx, rdx
+       mov      ecx, r15d
+       mov      edx, r14d
+       add      rdx, rcx
+       mov      eax, eax
+       cmp      rdx, rax
        ja       SHORT G_M42350_IG09
-       lea      r14, bword ptr [r14+8*rax]
-       mov      r13d, r12d
-						;; size=31 bbWeight=0.50 PerfScore 1.62
+       lea      r13, bword ptr [r13+8*rcx]
+       mov      eax, r14d
+						;; size=31 bbWeight=0.50 PerfScore 2.38
 G_M42350_IG07:
-       mov      bword ptr [rbx+0x50], r14
-       mov      dword ptr [rbx+0x58], r13d
+       mov      bword ptr [rbx+0x50], r13
+       mov      dword ptr [rbx+0x58], eax
        xor      eax, eax
        mov      dword ptr [rbx+0x10], eax
-						;; size=13 bbWeight=0.50 PerfScore 1.62
+						;; size=12 bbWeight=0.50 PerfScore 1.62
 G_M42350_IG08:
-       add      rsp, 40
+       add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M42350_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M42350_IG10:
-       mov      rdi, r15
-       test     rdi, rdi
+       mov      r8, r15
+       test     r8, r8
        je       SHORT G_M42350_IG13
 						;; size=8 bbWeight=2 PerfScore 3.00
 G_M42350_IG11:
-       mov      r8, 0xD1FFAB1E      ; double[]
-       cmp      qword ptr [rdi], r8
+       mov      rdi, 0xD1FFAB1E      ; double[]
+       cmp      qword ptr [r8], rdi
        je       SHORT G_M42350_IG13
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M42350_IG12:
        mov      rsi, r15
-       mov      rdi, r8
        mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTARRAY
        call     [r8]CORINFO_HELP_CHKCASTARRAY
-       mov      rdi, rax
-						;; size=22 bbWeight=0.50 PerfScore 2.00
+       mov      r8, rax
+       mov      rax, bword ptr [rbp-0x50]
+						;; size=23 bbWeight=0.50 PerfScore 2.38
 G_M42350_IG13:
-       mov      edx, dword ptr [rbp-0x2C]
+       mov      edx, dword ptr [rbp-0x30]
        sub      r12d, edx
-       test     rdi, rdi
+       test     r8, r8
        je       SHORT G_M42350_IG14
        mov      esi, edx
-       mov      r8d, r12d
-       add      rsi, r8
-       mov      r8d, dword ptr [rdi+0x08]
-       cmp      rsi, r8
+       mov      edi, r12d
+       add      rsi, rdi
+       mov      edi, dword ptr [r8+0x08]
+       cmp      rsi, rdi
        ja       SHORT G_M42350_IG09
        mov      r15d, edx
        jmp      SHORT G_M42350_IG15
 						;; size=33 bbWeight=2 PerfScore 17.50
 G_M42350_IG14:
-       mov      edi, edx
-       or       edi, r12d
+       mov      r8d, edx
+       or       r8d, r12d
        jne      SHORT G_M42350_IG09
-       xor      rdi, rdi
+       xor      r8, r8
        xor      r15d, r15d
        xor      r12d, r12d
-						;; size=15 bbWeight=2 PerfScore 4.50
+						;; size=17 bbWeight=2 PerfScore 4.50
 G_M42350_IG15:
-       mov      eax, r12d
-       mov      r12, gword ptr [rbp-0x50]
+       mov      rax, r8
+       mov      ecx, r12d
+       mov      r12, gword ptr [rbp-0x58]
        jmp      G_M42350_IG18
-						;; size=12 bbWeight=2 PerfScore 6.50
+						;; size=15 bbWeight=2 PerfScore 7.00
 G_M42350_IG16:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ReadOnlySequenceSegment`1[double]
        mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [r8]CORINFO_HELP_CHKCASTCLASS
        cmp      rax, r15
        jne      SHORT G_M42350_IG17
-       mov      rdi, gword ptr [r15+0x18]
-       mov      ecx, dword ptr [r15+0x20]
-       mov      edx, dword ptr [r15+0x24]
-       mov      r15d, dword ptr [rbp-0x2C]
+       mov      r8, gword ptr [r15+0x18]
+       mov      edi, dword ptr [r15+0x20]
+       mov      esi, dword ptr [r15+0x24]
+       mov      r15d, dword ptr [rbp-0x30]
        sub      r12d, r15d
        mov      eax, r15d
-       mov      esi, r12d
-       add      rax, rsi
-       cmp      rax, rdx
-       ja       G_M42350_IG24
-       add      ecx, r15d
-       mov      r15d, ecx
-       mov      eax, r12d
-       mov      r12, gword ptr [rbp-0x50]
+       mov      ecx, r12d
+       add      rax, rcx
+       cmp      rax, rsi
+       ja       G_M42350_IG26
+       add      edi, r15d
+       mov      r15d, edi
+       mov      rax, r8
+       mov      ecx, r12d
+       mov      r12, gword ptr [rbp-0x58]
        jmp      SHORT G_M42350_IG18
-						;; size=80 bbWeight=2 PerfScore 35.50
+						;; size=83 bbWeight=2 PerfScore 36.00
 G_M42350_IG17:
        mov      rcx, gword ptr [rax+0x08]
        test     rcx, rcx
-       je       G_M42350_IG25
+       je       G_M42350_IG27
        mov      r12, rcx
-       mov      rdi, gword ptr [rax+0x18]
-       mov      ecx, dword ptr [rax+0x20]
-       mov      edx, dword ptr [rax+0x24]
-       mov      r15d, dword ptr [rbp-0x2C]
-       cmp      r15d, edx
-       ja       G_M42350_IG24
-       lea      eax, [rcx+r15]
-       sub      edx, r15d
-       mov      r15d, eax
-       mov      eax, edx
-						;; size=51 bbWeight=2 PerfScore 26.00
+       mov      r8, gword ptr [rax+0x18]
+       mov      edi, dword ptr [rax+0x20]
+       mov      esi, dword ptr [rax+0x24]
+       mov      r15d, dword ptr [rbp-0x30]
+       cmp      r15d, esi
+       ja       G_M42350_IG26
+       add      edi, r15d
+       sub      esi, r15d
+       mov      rax, r8
+       mov      r15d, edi
+       mov      ecx, esi
+						;; size=53 bbWeight=2 PerfScore 26.00
 G_M42350_IG18:
-       mov      ecx, 1
-       mov      gword ptr [rbp-0x50], r12
-       mov      edx, ecx
-       mov      r12d, eax
-       mov      rax, bword ptr [rbp-0x48]
-       jmp      SHORT G_M42350_IG20
-						;; size=20 bbWeight=2 PerfScore 9.50
+       mov      edx, 1
+       mov      dword ptr [rbp-0x44], ecx
+       mov      rcx, r12
+       mov      r8d, edx
+       mov      r12, rax
+       mov      rax, bword ptr [rbp-0x50]
+       jmp      SHORT G_M42350_IG22
+						;; size=23 bbWeight=2 PerfScore 10.00
 G_M42350_IG19:
-       xor      rdi, rdi
-       xor      r15d, r15d
-       xor      edx, edx
-       xor      r12d, r12d
-						;; size=10 bbWeight=2 PerfScore 2.00
+       mov      rcx, gword ptr [rbp-0x58]
+       xor      rdx, rdx
+       xor      r12, r12
+						;; size=9 bbWeight=2 PerfScore 3.00
 G_M42350_IG20:
-       mov      rcx, gword ptr [rbp-0x50]
-       mov      gword ptr [rax], rcx
-       xor      ecx, ecx
-       mov      dword ptr [rax+0x08], ecx
-       test     dl, dl
+       xor      r15d, r15d
+						;; size=3 bbWeight=2 PerfScore 0.50
+G_M42350_IG21:
+       mov      dword ptr [rbp-0x44], edx
+       xor      edi, edi
+       xor      r8d, r8d
+						;; size=8 bbWeight=2 PerfScore 3.00
+G_M42350_IG22:
+       mov      dword ptr [rbp-0x2C], r8d
+       mov      rdi, rax
+       mov      rsi, rcx
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       xor      edi, edi
+       mov      rax, bword ptr [rbp-0x50]
+       mov      dword ptr [rax+0x08], edi
+       cmp      byte  ptr [rbp-0x2C], 0
        je       G_M42350_IG03
        mov      gword ptr [rbx+0x18], r14
        mov      dword ptr [rbx+0x20], r13d
-       test     r12d, r12d
+       mov      r14d, dword ptr [rbp-0x44]
+       test     r14d, r14d
        jg       G_M42350_IG04
        xor      edi, edi
        mov      qword ptr [rbx+0x50], rdi
        mov      qword ptr [rbx+0x58], rdi
-						;; size=47 bbWeight=4 PerfScore 40.00
-G_M42350_IG21:
+						;; size=65 bbWeight=4 PerfScore 57.00
+G_M42350_IG23:
        mov      dword ptr [rbx+0x10], edi
 						;; size=3 bbWeight=4 PerfScore 4.00
-G_M42350_IG22:
+G_M42350_IG24:
        mov      rsi, gword ptr [rbx+0x28]
        mov      r14, rsi
        mov      r13d, dword ptr [rbx+0x30]
        mov      r15, gword ptr [rbx+0x40]
        mov      edi, dword ptr [rbx+0x48]
        mov      r12d, dword ptr [rbx+0x4C]
        lea      rax, bword ptr [rbx+0x28]
-       mov      bword ptr [rbp-0x48], rax
+       mov      bword ptr [rbp-0x50], rax
        xor      rcx, rcx
-       mov      gword ptr [rbp-0x50], rcx
+       mov      gword ptr [rbp-0x58], rcx
        test     rsi, rsi
-       je       SHORT G_M42350_IG19
-						;; size=41 bbWeight=4 PerfScore 57.00
-G_M42350_IG23:
+       je       G_M42350_IG19
+						;; size=45 bbWeight=4 PerfScore 57.00
+G_M42350_IG25:
        sar      edi, 31
        mov      edx, r12d
        sar      edx, 31
        lea      edi, [rdx+2*rdi]
        neg      edi
        mov      edx, dword ptr [rax+0x08]
-       mov      dword ptr [rbp-0x2C], edx
+       mov      dword ptr [rbp-0x30], edx
        and      r12d, 0xD1FFAB1E
        test     edi, edi
        je       G_M42350_IG16
+       mov      rax, bword ptr [rbp-0x50]
        cmp      rsi, r15
-       jne      SHORT G_M42350_IG25
+       jne      SHORT G_M42350_IG27
        cmp      edi, 1
        je       G_M42350_IG10
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.MemoryManager`1[double]
        mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [r8]CORINFO_HELP_CHKCASTCLASS
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x20]System.Buffers.MemoryManager`1[double]:get_Memory():System.Memory`1[double]:this
        mov      gword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0x38], rdx
-       mov      r15d, dword ptr [rbp-0x2C]
+       mov      r15d, dword ptr [rbp-0x30]
        sub      r12d, r15d
        mov      esi, r15d
        mov      edi, r12d
        add      rsi, rdi
        mov      edi, dword ptr [rbp-0x34]
        cmp      rsi, rdi
        ja       G_M42350_IG09
        add      r15d, dword ptr [rbp-0x38]
-       mov      rdi, gword ptr [rbp-0x40]
-       mov      eax, r12d
-       mov      r12, gword ptr [rbp-0x50]
+       mov      rax, gword ptr [rbp-0x40]
+       mov      ecx, r12d
+       mov      r12, gword ptr [rbp-0x58]
        jmp      G_M42350_IG18
-						;; size=144 bbWeight=2 PerfScore 65.00
-G_M42350_IG24:
+						;; size=148 bbWeight=2 PerfScore 67.00
+G_M42350_IG26:
        mov      edi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0.50 PerfScore 1.88
-G_M42350_IG25:
+G_M42350_IG27:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException_EndPositionNotReached()
        call     [rax]System.ThrowHelper:ThrowInvalidOperationException_EndPositionNotReached()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 
-; Total bytes of code 703, prolog size 28, PerfScore 314.50, instruction count 202, allocated bytes for code 703 (MethodHash=a2155a91) for method System.Buffers.SequenceReader`1[double]:GetNextSpan():this (FullOpts)
+; Total bytes of code 757, prolog size 28, PerfScore 340.75, instruction count 215, allocated bytes for code 757 (MethodHash=a2155a91) for method System.Buffers.SequenceReader`1[double]:GetNextSpan():this (FullOpts)
 ; ============================================================
53 (51.46 % of base) - System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this
 ; Assembly listing for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  4,  4   )     ref  ->  rdi         this class-hnd single-def <System.Text.RegularExpressions.Regex>
-;  V01 RetBuf       [V01,T00] ( 11, 11   )   byref  ->  rsi         single-def
+;  V00 this         [V00,T02] (  4,  4   )     ref  ->  [rsp+0x08]  this class-hnd single-def <System.Text.RegularExpressions.Regex>
+;  V01 RetBuf       [V01,T00] ( 11, 11   )   byref  ->  rbx         single-def
 ;* V02 arg1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V08 tmp5         [V08    ] (  0,  0   )     int  ->  zero-ref   
 ;* V09 tmp6         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp7         [V10    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp8         [V11    ] (  0,  0   )     int  ->  zero-ref   
-;  V12 tmp9         [V12,T05] (  3,  3   )     int  ->   r8        
+;  V12 tmp9         [V12,T05] (  3,  3   )     int  ->  r13        
 ;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V14 tmp11        [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp12        [V15,T08] (  0,  0   )  struct (48) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Text.RegularExpressions.Regex+ValueSplitEnumerator>
 ;* V16 tmp13        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp14        [V17,T04] (  2,  4   )   ubyte  ->  rax         "Inlining Arg"
+;  V17 tmp14        [V17,T04] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
 ;* V18 tmp15        [V18    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V19 tmp16        [V19    ] (  0,  0   )   byref  ->  zero-ref   
-;  V20 tmp17        [V20,T07] (  2,  2   )     int  ->  rax        
+;  V20 tmp17        [V20,T07] (  2,  2   )     int  ->  r12        
 ;* V21 tmp18        [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[int,int]>
 ;* V22 tmp19        [V22    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V23 tmp20        [V23    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V24 tmp21        [V24    ] (  0,  0   )     int  ->  zero-ref   
-;  V25 tmp22        [V25,T03] (  2,  2   )   byref  ->  rdx         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V26 tmp23        [V26,T01] (  5,  5   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;  V25 tmp22        [V25,T03] (  2,  2   )   byref  ->  r14         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+;  V26 tmp23        [V26,T01] (  5,  5   )     int  ->  r15         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V27 tmp24        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V28 tmp25        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0x8)" P-INDEP
 ;* V29 tmp26        [V29    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V30 tmp27        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V31 tmp28        [V31    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V32 tmp29        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V33 tmp30        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V34 tmp31        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V35 tmp32        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V36 tmp33        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;* V37 tmp34        [V37    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V38 tmp35        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V39 tmp36        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V40 tmp37        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V41 tmp38        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V21.Item1 (fldOffset=0x0)" P-INDEP
 ;* V42 tmp39        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V21.Item2 (fldOffset=0x4)" P-INDEP
 ;* V43 tmp40        [V43    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
 ;* V44 tmp41        [V44    ] (  0,  0   )     int  ->  zero-ref    "V15.[008..012)"
 ;* V45 tmp42        [V45    ] (  0,  0   )     int  ->  zero-ref    "V15.[012..016)"
 ;* V46 tmp43        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "V15.[016..024)"
 ;* V47 tmp44        [V47    ] (  0,  0   )     int  ->  zero-ref    "V15.[024..028)"
 ;* V48 tmp45        [V48    ] (  0,  0   )     int  ->  zero-ref    "V15.[032..036)"
 ;* V49 tmp46        [V49    ] (  0,  0   )     int  ->  zero-ref    "V15.[036..040)"
-;  V50 cse0         [V50,T06] (  3,  3   )     int  ->  rax         "CSE #02: aggressive"
+;  V50 cse0         [V50,T06] (  3,  3   )     int  ->  rsi         "CSE #02: aggressive"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M4189_IG01:
-       push     rax
-						;; size=1 bbWeight=1 PerfScore 1.00
+       push     r15
+       push     r14
+       push     r13
+       push     r12
+       push     rbx
+       sub      rsp, 16
+       mov      rbx, rsi
+       mov      r14, rdx
+       mov      r15d, ecx
+						;; size=22 bbWeight=1 PerfScore 6.00
 G_M4189_IG02:
-       mov      eax, dword ptr [rdi+0x40]
-       and      eax, 64
-       xor      r8d, r8d
-       test     eax, eax
-       cmovne   r8d, ecx
-       cmp      r8d, ecx
-       ja       SHORT G_M4189_IG05
-       test     eax, eax
-       setne    al
-       movzx    rax, al
-       xor      r9d, r9d
-       test     eax, eax
-       mov      eax, r9d
-       cmovne   eax, ecx
-       mov      gword ptr [rsi], rdi
-       mov      dword ptr [rsi+0x08], r8d
-       mov      dword ptr [rsi+0x0C], 0xD1FFAB1E
-       mov      bword ptr [rsi+0x10], rdx
-       mov      dword ptr [rsi+0x18], ecx
-       mov      dword ptr [rsi+0x20], eax
-       mov      dword ptr [rsi+0x24], -1
-						;; size=70 bbWeight=1 PerfScore 13.75
+       mov      gword ptr [rsp+0x08], rdi
+       mov      esi, dword ptr [rdi+0x40]
+       and      esi, 64
+       xor      eax, eax
+       test     esi, esi
+       mov      r13d, eax
+       cmovne   r13d, r15d
+       cmp      r13d, r15d
+       ja       SHORT G_M4189_IG04
+       test     esi, esi
+       setne    sil
+       movzx    rsi, sil
+       xor      eax, eax
+       test     esi, esi
+       mov      r12d, eax
+       cmovne   r12d, r15d
+       mov      rsi, gword ptr [rsp+0x08]
+       mov      rdi, rbx
+       call     CORINFO_HELP_CHECKED_ASSIGN_REF
+       mov      dword ptr [rbx+0x08], r13d
+       mov      dword ptr [rbx+0x0C], 0xD1FFAB1E
+       mov      bword ptr [rbx+0x10], r14
+       mov      dword ptr [rbx+0x18], r15d
+       mov      dword ptr [rbx+0x20], r12d
+       mov      dword ptr [rbx+0x24], -1
+       xor      eax, eax
+       mov      qword ptr [rbx+0x28], rax
+       mov      rax, rbx
+						;; size=100 bbWeight=1 PerfScore 17.75
 G_M4189_IG03:
-       mov      qword ptr [rsi+0x28], r9
-       mov      rax, rsi
-						;; size=7 bbWeight=1 PerfScore 1.25
-G_M4189_IG04:
-       add      rsp, 8
+       add      rsp, 16
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
        ret      
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M4189_IG05:
+						;; size=14 bbWeight=1 PerfScore 3.75
+G_M4189_IG04:
        mov      edi, 14
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.Text.RegularExpressions.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=20 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 103, prolog size 1, PerfScore 19.25, instruction count 31, allocated bytes for code 103 (MethodHash=5bc6efa2) for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
+; Total bytes of code 156, prolog size 13, PerfScore 29.50, instruction count 49, allocated bytes for code 156 (MethodHash=5bc6efa2) for method System.Text.RegularExpressions.Regex:EnumerateSplits(System.ReadOnlySpan`1[ushort]):System.Text.RegularExpressions.Regex+ValueSplitEnumerator:this (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

Larger list of diffs: https://gist.github.com/MihuBot/4567601e05ea8aff0343c58b51d1eb51

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 23, 2025

Top method improvements

-25 (-3.92 % of base) - System.Text.Json.Utf8JsonReader:ConsumeSignMultiSegment(byref,byref,byref):ubyte:this
 ; Assembly listing for method System.Text.Json.Utf8JsonReader:ConsumeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 3 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 46, 24   )   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T03] ( 10,  6.50)   byref  ->  r13         single-def
 ;  V02 arg2         [V02,T02] ( 11,  7   )   byref  ->  r14         single-def
 ;  V03 arg3         [V03,T01] ( 17,  9.50)   byref  ->  r15         single-def
 ;  V04 loc0         [V04,T05] (  6,  3   )   ubyte  ->  rdx        
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T06] (  3,  3   )     int  ->  rax         "Span.get_Item index"
 ;  V08 tmp2         [V08,T07] (  3,  3   )     int  ->  rax         "Span.get_Item index"
 ;  V09 tmp3         [V09,T10] (  2,  1   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V10 tmp4         [V10,T11] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V11 tmp5         [V11,T12] (  2,  1   )   ubyte  ->  rdi         "Inline return value spill temp"
-;  V12 tmp6         [V12,T13] (  2,  1   )   ubyte  ->  rdi         "Inline return value spill temp"
+;  V12 tmp6         [V12,T13] (  2,  1   )   ubyte  ->  rcx         "Inline return value spill temp"
 ;  V13 tmp7         [V13,T04] ( 10,  5   )   byref  ->  rcx         "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V14 tmp8         [V14,T08] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;  V15 cse0         [V15,T09] (  3,  1.50)     int  ->  rdi         "CSE #03: moderate"
 ;
 ; Lcl frame size = 0
 
 G_M61387_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        mov      r13, rsi
        mov      r14, rdx
        mov      r15, rcx
 						;; size=25 bbWeight=1 PerfScore 6.50
 G_M61387_IG02:
        mov      edi, dword ptr [r14]
        cmp      edi, dword ptr [r13+0x08]
        jl       SHORT G_M61387_IG06
 						;; size=9 bbWeight=1 PerfScore 6.00
 G_M61387_IG03:
        cmp      byte  ptr [rbx+0x24], 0
        je       SHORT G_M61387_IG04
        cmp      byte  ptr [rbx+0x2B], 0
-       je       G_M61387_IG21
+       je       G_M61387_IG29
        movzx    rdi, byte  ptr [rbx+0x2A]
        test     edi, edi
-       jne      G_M61387_IG21
+       jne      G_M61387_IG29
 						;; size=29 bbWeight=0.50 PerfScore 5.62
 G_M61387_IG04:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        call     [rax]System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        test     eax, eax
-       je       G_M61387_IG17
+       je       G_M61387_IG23
        movsxd   rdi, dword ptr [r14]
        add      qword ptr [rbx+0x10], rdi
        mov      byte  ptr [rbx+0x2D], 1
        xor      edi, edi
        mov      dword ptr [r14], edi
 						;; size=39 bbWeight=0.50 PerfScore 7.00
 G_M61387_IG05:
        vmovdqu  xmm0, xmmword ptr [rbx+0x30]
        vmovdqu  xmmword ptr [r13], xmm0
 						;; size=11 bbWeight=0.50 PerfScore 3.00
 G_M61387_IG06:
        mov      edi, dword ptr [r14]
        mov      eax, edi
        cmp      eax, dword ptr [r13+0x08]
-       jae      G_M61387_IG22
+       jae      G_M61387_IG32
        mov      rcx, bword ptr [r13]
        movzx    rdx, byte  ptr [rcx+rax]
        cmp      edx, 43
        je       SHORT G_M61387_IG07
        cmp      edx, 45
        jne      SHORT G_M61387_IG11
 						;; size=33 bbWeight=0.50 PerfScore 6.38
 G_M61387_IG07:
        inc      edi
        mov      dword ptr [r14], edi
        inc      qword ptr [rbx+0x08]
        mov      edi, dword ptr [r14]
        cmp      edi, dword ptr [r13+0x08]
        jl       SHORT G_M61387_IG10
        cmp      byte  ptr [rbx+0x24], 0
        je       SHORT G_M61387_IG08
        cmp      byte  ptr [rbx+0x2B], 0
-       je       G_M61387_IG16
+       je       G_M61387_IG20
        movzx    rdi, byte  ptr [rbx+0x2A]
        test     edi, edi
-       jne      G_M61387_IG16
+       jne      G_M61387_IG20
 						;; size=47 bbWeight=0.50 PerfScore 10.75
 G_M61387_IG08:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        call     [rax]System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        test     eax, eax
-       je       G_M61387_IG14
+       je       SHORT G_M61387_IG16
        movsxd   rax, dword ptr [r14]
        add      qword ptr [rbx+0x10], rax
        mov      byte  ptr [rbx+0x2D], 1
        xor      eax, eax
        mov      dword ptr [r14], eax
-						;; size=39 bbWeight=0.50 PerfScore 7.00
+						;; size=35 bbWeight=0.50 PerfScore 7.00
 G_M61387_IG09:
        vmovdqu  xmm0, xmmword ptr [rbx+0x30]
        vmovdqu  xmmword ptr [r13], xmm0
 						;; size=11 bbWeight=0.50 PerfScore 3.00
 G_M61387_IG10:
        mov      eax, dword ptr [r14]
        cmp      eax, dword ptr [r13+0x08]
-       jae      G_M61387_IG22
-       mov      rdi, bword ptr [r13]
-       movzx    rdx, byte  ptr [rdi+rax]
+       jae      G_M61387_IG32
+       mov      rcx, bword ptr [r13]
+       movzx    rdx, byte  ptr [rcx+rax]
 						;; size=21 bbWeight=0.50 PerfScore 5.00
 G_M61387_IG11:
        lea      eax, [rdx-0x30]
        cmp      eax, 9
        ja       SHORT G_M61387_IG13
        mov      eax, 1
 						;; size=13 bbWeight=0.50 PerfScore 1.00
 G_M61387_IG12:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M61387_IG13:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG14:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG15:
        xor      rcx, rcx
        xor      r8d, r8d
        mov      rdi, rbx
        mov      esi, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        int3     
-						;; size=55 bbWeight=0.50 PerfScore 6.75
-G_M61387_IG14:
-       cmp      byte  ptr [rbx+0x24], 0
-       je       G_M61387_IG18
-       cmp      byte  ptr [rbx+0x2B], 0
-       je       SHORT G_M61387_IG15
-       movzx    rdi, byte  ptr [rbx+0x2A]
-       test     edi, edi
-       je       G_M61387_IG18
-						;; size=29 bbWeight=0.50 PerfScore 5.62
-G_M61387_IG15:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
-       xor      rcx, rcx
-       xor      r8d, r8d
-       mov      rdi, rbx
-       mov      esi, 5
-       xor      edx, edx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
+						;; size=26 bbWeight=0.50 PerfScore 2.25
 G_M61387_IG16:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
+       cmp      byte  ptr [rbx+0x24], 0
+       je       G_M61387_IG24
+       cmp      byte  ptr [rbx+0x2B], 0
+       je       SHORT G_M61387_IG17
+       movzx    rcx, byte  ptr [rbx+0x2A]
+       test     ecx, ecx
+       je       G_M61387_IG24
+						;; size=28 bbWeight=0.50 PerfScore 5.62
+G_M61387_IG17:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG18:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG19:
        xor      rcx, rcx
        xor      r8d, r8d
        mov      rdi, rbx
        mov      esi, 5
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
-G_M61387_IG17:
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M61387_IG20:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG21:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG22:
+       xor      rcx, rcx
+       xor      r8d, r8d
+       mov      rdi, rbx
+       mov      esi, 5
+       xor      edx, edx
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       int3     
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M61387_IG23:
        cmp      byte  ptr [rbx+0x24], 0
-       je       SHORT G_M61387_IG18
+       je       SHORT G_M61387_IG24
        cmp      byte  ptr [rbx+0x2B], 0
-       je       SHORT G_M61387_IG20
+       je       SHORT G_M61387_IG26
        movzx    rax, byte  ptr [rbx+0x2A]
        test     eax, eax
-       jne      SHORT G_M61387_IG20
+       jne      SHORT G_M61387_IG26
 						;; size=20 bbWeight=0.50 PerfScore 5.62
-G_M61387_IG18:
+G_M61387_IG24:
        mov      eax, 2
 						;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M61387_IG19:
+G_M61387_IG25:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=0.50 PerfScore 1.75
-G_M61387_IG20:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
+G_M61387_IG26:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG27:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG28:
        xor      rcx, rcx
        xor      r8d, r8d
        mov      rdi, rbx
        mov      esi, 5
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
-G_M61387_IG21:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M61387_IG29:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG30:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M61387_IG31:
        xor      rcx, rcx
        xor      r8d, r8d
        mov      rdi, rbx
        mov      esi, 5
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
-G_M61387_IG22:
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M61387_IG32:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 638, prolog size 13, PerfScore 110.38, instruction count 184, allocated bytes for code 638 (MethodHash=64fa1034) for method System.Text.Json.Utf8JsonReader:ConsumeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 613, prolog size 13, PerfScore 117.88, instruction count 174, allocated bytes for code 613 (MethodHash=64fa1034) for method System.Text.Json.Utf8JsonReader:ConsumeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
 ; ============================================================
-20 (-5.01 % of base) - System.Text.Json.Utf8JsonReader:ConsumeNegativeSignMultiSegment(byref,byref,byref):ubyte:this
 ; Assembly listing for method System.Text.Json.Utf8JsonReader:ConsumeNegativeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 27, 14.50)   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T03] (  8,  6   )   byref  ->  r13         single-def
 ;  V02 arg2         [V02,T02] (  9,  6   )   byref  ->  r14         single-def
 ;  V03 arg3         [V03,T01] ( 11,  6.50)   byref  ->  r15         single-def
 ;  V04 loc0         [V04,T07] (  3,  1.50)   ubyte  ->  rdx        
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T04] (  3,  6   )     int  ->  rdi         "Span.get_Item index"
 ;  V08 tmp2         [V08,T06] (  3,  3   )     int  ->  rax         "Span.get_Item index"
 ;  V09 tmp3         [V09,T09] (  2,  1   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V10 tmp4         [V10,T10] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V11 tmp5         [V11,T05] (  6,  3   )   byref  ->  rcx         "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V12 tmp6         [V12,T08] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M28488_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        mov      r13, rsi
        mov      r14, rdx
        mov      r15, rcx
 						;; size=25 bbWeight=1 PerfScore 6.50
 G_M28488_IG02:
        mov      edi, dword ptr [r14]
        cmp      edi, dword ptr [r13+0x08]
-       jae      G_M28488_IG15
+       jae      G_M28488_IG21
        mov      rax, bword ptr [r13]
        cmp      byte  ptr [rax+rdi], 45
-       jne      G_M28488_IG07
-						;; size=27 bbWeight=1 PerfScore 12.00
+       jne      SHORT G_M28488_IG07
+						;; size=23 bbWeight=1 PerfScore 12.00
 G_M28488_IG03:
        inc      dword ptr [r14]
        inc      qword ptr [rbx+0x08]
        mov      edi, dword ptr [r14]
        cmp      edi, dword ptr [r13+0x08]
        jl       SHORT G_M28488_IG06
        cmp      byte  ptr [rbx+0x24], 0
        je       SHORT G_M28488_IG04
        cmp      byte  ptr [rbx+0x2B], 0
-       je       G_M28488_IG14
+       je       G_M28488_IG18
        movzx    rdi, byte  ptr [rbx+0x2A]
        test     edi, edi
-       jne      G_M28488_IG14
+       jne      G_M28488_IG18
 						;; size=45 bbWeight=0.50 PerfScore 11.62
 G_M28488_IG04:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        call     [rax]System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        test     eax, eax
-       je       G_M28488_IG10
+       je       SHORT G_M28488_IG12
        movsxd   rax, dword ptr [r14]
        add      qword ptr [rbx+0x10], rax
        mov      byte  ptr [rbx+0x2D], 1
        xor      eax, eax
        mov      dword ptr [r14], eax
-						;; size=39 bbWeight=0.50 PerfScore 7.00
+						;; size=35 bbWeight=0.50 PerfScore 7.00
 G_M28488_IG05:
        vmovdqu  xmm0, xmmword ptr [rbx+0x30]
        vmovdqu  xmmword ptr [r13], xmm0
 						;; size=11 bbWeight=0.50 PerfScore 3.00
 G_M28488_IG06:
        mov      eax, dword ptr [r14]
        cmp      eax, dword ptr [r13+0x08]
-       jae      G_M28488_IG15
-       mov      rdi, bword ptr [r13]
-       movzx    rdx, byte  ptr [rdi+rax]
+       jae      G_M28488_IG21
+       mov      rcx, bword ptr [r13]
+       movzx    rdx, byte  ptr [rcx+rax]
        lea      eax, [rdx-0x30]
        cmp      eax, 9
        ja       SHORT G_M28488_IG09
 						;; size=29 bbWeight=0.50 PerfScore 5.88
 G_M28488_IG07:
        mov      eax, 1
 						;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M28488_IG08:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M28488_IG09:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M28488_IG10:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M28488_IG11:
        xor      rcx, rcx
        xor      r8d, r8d
        mov      rdi, rbx
        mov      esi, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        int3     
-						;; size=55 bbWeight=0.50 PerfScore 6.75
-G_M28488_IG10:
+						;; size=26 bbWeight=0.50 PerfScore 2.25
+G_M28488_IG12:
        cmp      byte  ptr [rbx+0x24], 0
-       je       SHORT G_M28488_IG11
-       cmp      byte  ptr [rbx+0x2B], 0
        je       SHORT G_M28488_IG13
+       cmp      byte  ptr [rbx+0x2B], 0
+       je       SHORT G_M28488_IG15
        movzx    rax, byte  ptr [rbx+0x2A]
        test     eax, eax
-       jne      SHORT G_M28488_IG13
+       jne      SHORT G_M28488_IG15
 						;; size=20 bbWeight=0.50 PerfScore 5.62
-G_M28488_IG11:
+G_M28488_IG13:
        mov      eax, 2
 						;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M28488_IG12:
+G_M28488_IG14:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=0.50 PerfScore 1.75
-G_M28488_IG13:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
-       xor      rcx, rcx
-       xor      r8d, r8d
-       mov      rdi, rbx
-       mov      esi, 5
-       xor      edx, edx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
-G_M28488_IG14:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
-       xor      rcx, rcx
-       xor      r8d, r8d
-       mov      rdi, rbx
-       mov      esi, 5
-       xor      edx, edx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
 G_M28488_IG15:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M28488_IG16:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M28488_IG17:
+       xor      rcx, rcx
+       xor      r8d, r8d
+       mov      rdi, rbx
+       mov      esi, 5
+       xor      edx, edx
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       int3     
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M28488_IG18:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M28488_IG19:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M28488_IG20:
+       xor      rcx, rcx
+       xor      r8d, r8d
+       mov      rdi, rbx
+       mov      esi, 5
+       xor      edx, edx
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       int3     
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M28488_IG21:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 399, prolog size 13, PerfScore 75.88, instruction count 118, allocated bytes for code 399 (MethodHash=2b9c90b7) for method System.Text.Json.Utf8JsonReader:ConsumeNegativeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 379, prolog size 13, PerfScore 80.38, instruction count 112, allocated bytes for code 379 (MethodHash=2b9c90b7) for method System.Text.Json.Utf8JsonReader:ConsumeNegativeSignMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
 ; ============================================================
-12 (-3.06 % of base) - System.Text.Json.Utf8JsonReader:ConsumeDecimalDigitsMultiSegment(byref,byref,byref):ubyte:this
 ; Assembly listing for method System.Text.Json.Utf8JsonReader:ConsumeDecimalDigitsMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 28, 15   )   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T03] (  7,  5   )   byref  ->  r13         single-def
 ;  V02 arg2         [V02,T02] (  8,  5.50)   byref  ->  r14         single-def
 ;  V03 arg3         [V03,T01] ( 11,  6.50)   byref  ->  r15         single-def
 ;  V04 loc0         [V04,T06] (  3,  1.50)   ubyte  ->  rdx        
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T05] (  3,  3   )     int  ->  rsi         "Span.get_Item index"
 ;  V08 tmp2         [V08,T09] (  2,  1   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V09 tmp3         [V09,T10] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V10 tmp4         [V10,T04] (  6,  3   )   byref  ->  rcx         "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V11 tmp5         [V11,T07] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;  V12 cse0         [V12,T08] (  3,  1.50)     int  ->  rdi         "CSE #03: moderate"
 ;
 ; Lcl frame size = 0
 
 G_M49655_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        mov      r13, rsi
        mov      r14, rdx
        mov      r15, rcx
 						;; size=25 bbWeight=1 PerfScore 6.50
 G_M49655_IG02:
        mov      edi, dword ptr [r14]
        cmp      edi, dword ptr [r13+0x08]
        jl       SHORT G_M49655_IG06
 						;; size=9 bbWeight=1 PerfScore 6.00
 G_M49655_IG03:
        cmp      byte  ptr [rbx+0x24], 0
        je       SHORT G_M49655_IG04
        cmp      byte  ptr [rbx+0x2B], 0
-       je       G_M49655_IG13
+       je       G_M49655_IG17
        movzx    rdi, byte  ptr [rbx+0x2A]
        test     edi, edi
-       jne      G_M49655_IG13
+       jne      G_M49655_IG17
 						;; size=29 bbWeight=0.50 PerfScore 5.62
 G_M49655_IG04:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        call     [rax]System.Text.Json.Utf8JsonReader:GetNextSpan():ubyte:this
        test     eax, eax
-       je       G_M49655_IG09
+       je       G_M49655_IG11
        movsxd   rdi, dword ptr [r14]
        add      qword ptr [rbx+0x10], rdi
        mov      byte  ptr [rbx+0x2D], 1
        xor      edi, edi
        mov      dword ptr [r14], edi
 						;; size=39 bbWeight=0.50 PerfScore 7.00
 G_M49655_IG05:
        vmovdqu  xmm0, xmmword ptr [rbx+0x30]
        vmovdqu  xmmword ptr [r13], xmm0
 						;; size=11 bbWeight=0.50 PerfScore 3.00
 G_M49655_IG06:
        mov      edi, dword ptr [r14]
        mov      esi, edi
        cmp      esi, dword ptr [r13+0x08]
-       jae      G_M49655_IG14
+       jae      G_M49655_IG20
        mov      rdx, bword ptr [r13]
        movzx    rdx, byte  ptr [rdx+rsi]
        lea      esi, [rdx-0x30]
        cmp      esi, 9
        ja       SHORT G_M49655_IG08
        inc      edi
        mov      dword ptr [r14], edi
        inc      qword ptr [rbx+0x08]
        mov      rdi, rbx
        mov      rsi, r13
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:ConsumeIntegerDigitsMultiSegment(byref,byref):ubyte:this
 						;; size=59 bbWeight=0.50 PerfScore 8.62
 G_M49655_IG07:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Text.Json.Utf8JsonReader:ConsumeIntegerDigitsMultiSegment(byref,byref):ubyte:this
 						;; size=11 bbWeight=0.50 PerfScore 2.25
 G_M49655_IG08:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M49655_IG09:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M49655_IG10:
        xor      rcx, rcx
        xor      r8d, r8d
        mov      rdi, rbx
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
        int3     
-						;; size=55 bbWeight=0.50 PerfScore 6.75
-G_M49655_IG09:
+						;; size=26 bbWeight=0.50 PerfScore 2.25
+G_M49655_IG11:
        cmp      byte  ptr [rbx+0x24], 0
-       je       SHORT G_M49655_IG10
-       cmp      byte  ptr [rbx+0x2B], 0
        je       SHORT G_M49655_IG12
+       cmp      byte  ptr [rbx+0x2B], 0
+       je       SHORT G_M49655_IG14
        movzx    rax, byte  ptr [rbx+0x2A]
        test     eax, eax
-       jne      SHORT G_M49655_IG12
+       jne      SHORT G_M49655_IG14
 						;; size=20 bbWeight=0.50 PerfScore 5.62
-G_M49655_IG10:
+G_M49655_IG12:
        mov      eax, 2
 						;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M49655_IG11:
+G_M49655_IG13:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=0.50 PerfScore 1.75
-G_M49655_IG12:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
-       xor      rcx, rcx
-       xor      r8d, r8d
-       mov      rdi, rbx
-       mov      esi, 5
-       xor      edx, edx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
-G_M49655_IG13:
-       mov      rdi, qword ptr [r15]
-       mov      qword ptr [rbx+0x10], rdi
-       mov      edi, dword ptr [r15+0x10]
-       mov      dword ptr [rbx+0x20], edi
-       lea      rsi, bword ptr [r15+0x18]
-       lea      rdi, bword ptr [rbx+0x70]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       movsq    
-       xor      rcx, rcx
-       xor      r8d, r8d
-       mov      rdi, rbx
-       mov      esi, 5
-       xor      edx, edx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
-       int3     
-						;; size=57 bbWeight=0.50 PerfScore 6.88
 G_M49655_IG14:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M49655_IG15:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M49655_IG16:
+       xor      rcx, rcx
+       xor      r8d, r8d
+       mov      rdi, rbx
+       mov      esi, 5
+       xor      edx, edx
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       int3     
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M49655_IG17:
+       mov      rcx, qword ptr [r15]
+       mov      qword ptr [rbx+0x10], rcx
+       mov      ecx, dword ptr [r15+0x10]
+       mov      dword ptr [rbx+0x20], ecx
+						;; size=14 bbWeight=0.50 PerfScore 3.00
+G_M49655_IG18:
+       vmovdqu  xmm0, xmmword ptr [r15+0x18]
+       vmovdqu  xmmword ptr [rbx+0x70], xmm0
+						;; size=11 bbWeight=0.50 PerfScore 3.00
+G_M49655_IG19:
+       xor      rcx, rcx
+       xor      r8d, r8d
+       mov      rdi, rbx
+       mov      esi, 5
+       xor      edx, edx
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       call     [rax]System.Text.Json.ThrowHelper:ThrowJsonReaderException(byref,int,ubyte,System.ReadOnlySpan`1[ubyte])
+       int3     
+						;; size=28 bbWeight=0.50 PerfScore 2.38
+G_M49655_IG20:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 392, prolog size 25, PerfScore 67.00, instruction count 117, allocated bytes for code 392 (MethodHash=27983e08) for method System.Text.Json.Utf8JsonReader:ConsumeDecimalDigitsMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 380, prolog size 25, PerfScore 71.50, instruction count 111, allocated bytes for code 380 (MethodHash=27983e08) for method System.Text.Json.Utf8JsonReader:ConsumeDecimalDigitsMultiSegment(byref,byref,byref):ubyte:this (FullOpts)
 ; ============================================================
-5 (-3.21 % of base) - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this
 ; Assembly listing for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  4,  4   )   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T06] (  3,  3   )   byref  ->  r15         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[long]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[long]>
 ;  V04 arg4         [V04,T11] (  1,  1   )    long  ->  [rbp+0x10]  single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06    ] (  2,  4   )  struct (104) [rbp-0x78]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Numerics.Tensors.TensorShape>
 ;* V07 tmp2         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
 ;  V09 tmp4         [V09,T04] (  4,  8.75)    long  ->  rdi         "Inline stloc first use temp"
 ;* V10 tmp5         [V10,T12] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V11 tmp6         [V11,T02] (  3,  6   )   byref  ->  rdx         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T03] (  4,  7   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;  V13 tmp8         [V13,T07] (  2,  2   )   byref  ->   r8         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V14 tmp9         [V14,T08] (  2,  2   )     int  ->   r9         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V15 tmp10        [V15,T10] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;  V16 tmp11        [V16,T09] (  2,  2   )     int  ->  rdi         "field V08._length (fldOffset=0x8)" P-INDEP
 ;  V17 cse0         [V17,T01] (  3, 12   )    long  ->  rax         "CSE #03: aggressive"
 ;  V18 rat0         [V18,T00] (  5, 16.25)    long  ->  rsi         "Widened IV V10"
 ;
 ; Lcl frame size = 112
 
 G_M38717_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 112
        lea      rbp, [rsp+0x80]
        xor      eax, eax
        mov      qword ptr [rbp-0x78], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0x70], zmm8
        vmovdqa  xmmword ptr [rbp-0x30], xmm8
        vmovdqa  xmmword ptr [rbp-0x20], xmm8
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=53 bbWeight=1 PerfScore 11.83
 G_M38717_IG02:
        mov      edi, ecx
        test     edi, edi
        je       SHORT G_M38717_IG06
 						;; size=6 bbWeight=1 PerfScore 1.50
 G_M38717_IG03:
        mov      edi, 1
        xor      esi, esi
        align    [0 bytes for IG04]
 						;; size=7 bbWeight=0.25 PerfScore 0.12
 G_M38717_IG04:
        mov      rax, qword ptr [rdx+8*rsi]
        test     rax, rax
        jl       SHORT G_M38717_IG08
        imul     rdi, rax
        inc      esi
        cmp      esi, ecx
        jl       SHORT G_M38717_IG04
 						;; size=19 bbWeight=4 PerfScore 27.00
 G_M38717_IG05:
        test     rdi, rdi
        jl       SHORT G_M38717_IG08
 						;; size=5 bbWeight=0.50 PerfScore 0.62
 G_M38717_IG06:
        lea      rdi, [rbp-0x78]
        mov      rsi, qword ptr [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.Tensors.TensorShape:.ctor(long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
        call     [rax]System.Numerics.Tensors.TensorShape:.ctor(long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
        lea      rdi, bword ptr [rbx+0x08]
        lea      rsi, bword ptr [rbp-0x78]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       mov      ecx, 12
+       mov      ecx, 13
        rep movsq 
        mov      bword ptr [rbx], r15
-						;; size=44 bbWeight=1 PerfScore 33.00
+						;; size=39 bbWeight=1 PerfScore 32.00
 G_M38717_IG07:
        add      rsp, 112
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
 G_M38717_IG08:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 
-; Total bytes of code 156, prolog size 53, PerfScore 78.58, instruction count 46, allocated bytes for code 156 (MethodHash=04f268c2) for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
+; Total bytes of code 151, prolog size 53, PerfScore 77.58, instruction count 45, allocated bytes for code 151 (MethodHash=04f268c2) for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
 ; ============================================================
-5 (-0.98 % of base) - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
 ; Assembly listing for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 6 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T12] (  5,  3.50)   byref  ->  [rbp-0xA8]  this single-def
 ;  V01 arg1         [V01,T08] (  7,  5   )     ref  ->  r14         class-hnd single-def <double[]>
 ;  V02 arg2         [V02,T11] (  6,  4   )     int  ->  [rbp-0x2C]  single-def
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[long]>
 ;* V04 arg4         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[long]>
 ;* V05 loc0         [V05    ] (  0,  0   )    long  ->  zero-ref    single-def
 ;* V06 loc1         [V06    ] (  0,  0   )    long  ->  zero-ref    single-def
 ;  V07 loc2         [V07    ] (  2,  1   )    long  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[long]>
 ;  V10 tmp2         [V10    ] (  2,  2   )  struct (104) [rbp-0xA0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Numerics.Tensors.TensorShape>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[long]>
 ;  V12 tmp4         [V12,T15] (  4,  2   )    long  ->  rdx         "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
 ;  V14 tmp6         [V14,T06] (  5,  9.25)    long  ->  rdi         "Inline stloc first use temp"
 ;* V15 tmp7         [V15,T28] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V16 tmp8         [V16,T13] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <long[]>
 ;* V17 tmp9         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[long]>
 ;  V18 tmp10        [V18,T07] (  4,  9   )    long  ->  rsi         "Inline stloc first use temp"
 ;  V19 tmp11        [V19,T00] (  6, 20.50)     int  ->  rdx         "Inline stloc first use temp"
 ;* V20 tmp12        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
 ;* V21 tmp13        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
 ;  V22 tmp14        [V22,T03] (  7, 11   )   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V23 tmp15        [V23,T02] ( 10, 13.50)     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V24 tmp16        [V24,T10] (  5,  6   )   byref  ->  r12         "field V04._reference (fldOffset=0x0)" P-INDEP
 ;  V25 tmp17        [V25,T09] (  6,  6.50)     int  ->  r13         "field V04._length (fldOffset=0x8)" P-INDEP
 ;  V26 tmp18        [V26,T17] (  3,  1.50)   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
 ;  V27 tmp19        [V27,T19] (  3,  1.50)     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V28 tmp20        [V28,T22] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V29 tmp21        [V29,T25] (  0,  0   )     int  ->  zero-ref    single-def "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp22        [V30,T21] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V31 tmp23        [V31,T16] (  2,  2   )     int  ->  rdi         single-def "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V32 tmp24        [V32,T18] (  3,  1.50)   byref  ->  rdi         "field V17._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp25        [V33,T20] (  3,  1.50)     int  ->  rsi         "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp26        [V34,T23] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp27        [V35,T26] (  0,  0   )     int  ->  zero-ref    single-def "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp28        [V36,T24] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp29        [V37,T27] (  0,  0   )     int  ->  zero-ref    single-def "field V21._length (fldOffset=0x8)" P-INDEP
 ;  V38 cse0         [V38,T04] (  3, 12   )    long  ->  rdx         "CSE #03: aggressive"
 ;  V39 cse1         [V39,T14] (  6,  3   )     int  ->   r8         multi-def "CSE #05: moderate"
 ;  V40 cse2         [V40,T05] (  3, 12   )    long  ->  rcx         "CSE #04: aggressive"
 ;  V41 rat0         [V41,T01] (  5, 16.25)    long  ->  rsi         "Widened IV V15"
 ;
 ; Lcl frame size = 136
 
 G_M63805_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 136
        lea      rbp, [rsp+0xB0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
        vmovdqa  xmmword ptr [rbp-0x60], xmm8
        vmovdqa  xmmword ptr [rbp-0x50], xmm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        mov      bword ptr [rbp-0xA8], rdi
        mov      dword ptr [rbp-0x2C], edx
        mov      r14, rsi
        mov      r15, rcx
        mov      ebx, r8d
        mov      r12, bword ptr [rbp+0x10]
        mov      r13d, dword ptr [rbp+0x18]
 						;; size=82 bbWeight=1 PerfScore 19.83
 G_M63805_IG02:
        test     ebx, ebx
        jne      SHORT G_M63805_IG04
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M63805_IG03:
        test     r14, r14
        je       SHORT G_M63805_IG04
        mov      r8d, dword ptr [r14+0x08]
        mov      edi, r8d
        mov      qword ptr [rbp-0x38], rdi
        lea      r15, bword ptr [rbp-0x38]
        mov      ebx, 1
 						;; size=25 bbWeight=0.50 PerfScore 2.62
 G_M63805_IG04:
        mov      edi, ebx
        test     edi, edi
        je       SHORT G_M63805_IG08
 						;; size=6 bbWeight=1 PerfScore 1.50
 G_M63805_IG05:
        mov      edi, 1
        xor      esi, esi
        align    [4 bytes for IG06]
 						;; size=11 bbWeight=0.25 PerfScore 0.19
 G_M63805_IG06:
        mov      rdx, qword ptr [r15+8*rsi]
        test     rdx, rdx
        jl       G_M63805_IG21
        imul     rdi, rdx
        inc      esi
        cmp      esi, ebx
        jl       SHORT G_M63805_IG06
 						;; size=23 bbWeight=4 PerfScore 27.00
 G_M63805_IG07:
        test     rdi, rdi
        jl       G_M63805_IG21
        mov      rdx, rdi
        jmp      SHORT G_M63805_IG09
        align    [0 bytes for IG15]
 						;; size=14 bbWeight=0.50 PerfScore 1.75
 G_M63805_IG08:
        xor      edx, edx
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M63805_IG09:
        test     r14, r14
        je       G_M63805_IG19
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M63805_IG10:
        test     r13d, r13d
        jne      SHORT G_M63805_IG13
        mov      rdi, r15
        mov      esi, ebx
        mov      r8, 0xD1FFAB1E      ; code for System.Numerics.Tensors.TensorSpanHelpers:CalculateStrides(System.ReadOnlySpan`1[long],long):long[]
        call     [r8]System.Numerics.Tensors.TensorSpanHelpers:CalculateStrides(System.ReadOnlySpan`1[long],long):long[]
        test     rax, rax
        je       SHORT G_M63805_IG11
        lea      rdi, bword ptr [rax+0x10]
        mov      esi, dword ptr [rax+0x08]
        jmp      SHORT G_M63805_IG12
 						;; size=37 bbWeight=0.50 PerfScore 5.38
 G_M63805_IG11:
        xor      rdi, rdi
        xor      esi, esi
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M63805_IG12:
        jmp      SHORT G_M63805_IG14
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M63805_IG13:
        mov      rdi, r12
        mov      esi, r13d
 						;; size=6 bbWeight=0.50 PerfScore 0.25
 G_M63805_IG14:
        mov      r12, rdi
        mov      r13d, esi
        mov      rdi, r12
        mov      esi, r13d
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, 0xD1FFAB1E      ; code for System.Numerics.Tensors.TensorSpanHelpers:ValidateStrides(System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long])
        call     [r8]System.Numerics.Tensors.TensorSpanHelpers:ValidateStrides(System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long])
        xor      esi, esi
        xor      edx, edx
        test     ebx, ebx
        jle      SHORT G_M63805_IG16
 						;; size=38 bbWeight=0.50 PerfScore 3.25
 G_M63805_IG15:
        cmp      edx, r13d
        jae      G_M63805_IG22
        mov      ecx, edx
        mov      r8, qword ptr [r12+8*rcx]
        mov      rcx, qword ptr [r15+8*rcx]
        dec      rcx
        imul     rcx, r8
        add      rsi, rcx
        inc      edx
        cmp      edx, ebx
        jl       SHORT G_M63805_IG15
 						;; size=35 bbWeight=4 PerfScore 38.00
 G_M63805_IG16:
        mov      eax, dword ptr [rbp-0x2C]
        mov      edx, eax
        mov      esi, esi
        add      rsi, rdx
        mov      r8d, dword ptr [r14+0x08]
        mov      edx, r8d
        cmp      rsi, rdx
        jb       SHORT G_M63805_IG17
        test     r8d, r8d
        jne      SHORT G_M63805_IG18
 						;; size=27 bbWeight=0.50 PerfScore 3.25
 G_M63805_IG17:
        mov      dword ptr [rbp-0x2C], eax
        sub      r8d, eax
        movsxd   rsi, r8d
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, r12
        mov      r9d, r13d
        lea      rdi, [rbp-0xA0]
        mov      r10, 0xD1FFAB1E      ; code for System.Numerics.Tensors.TensorShape:.ctor(long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
        call     [r10]System.Numerics.Tensors.TensorShape:.ctor(long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
        mov      rbx, bword ptr [rbp-0xA8]
        lea      rdi, bword ptr [rbx+0x08]
        lea      rsi, bword ptr [rbp-0xA0]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       mov      ecx, 12
+       mov      ecx, 13
        rep movsq 
        add      r14, 16
        mov      eax, dword ptr [rbp-0x2C]
        shl      rax, 3
        add      rax, r14
        mov      bword ptr [rbx], rax
        jmp      SHORT G_M63805_IG20
-						;; size=90 bbWeight=0.50 PerfScore 19.75
+						;; size=85 bbWeight=0.50 PerfScore 19.25
 G_M63805_IG18:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgument_InvalidStridesAndLengths()
        call     [rax]System.ThrowHelper:ThrowArgument_InvalidStridesAndLengths()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M63805_IG19:
        cmp      dword ptr [rbp-0x2C], 0
        jne      SHORT G_M63805_IG21
        test     rdx, rdx
        jne      SHORT G_M63805_IG21
        xor      eax, eax
        mov      rcx, bword ptr [rbp-0xA8]
        mov      qword ptr [rcx], rax
        mov      qword ptr [rcx+0x08], rax
        vxorps   xmm0, xmm0, xmm0
        vmovdqu32 zmmword ptr [rcx+0x10], zmm0
        vmovdqu  ymmword ptr [rcx+0x50], ymm0
 						;; size=46 bbWeight=0.50 PerfScore 5.92
 G_M63805_IG20:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M63805_IG21:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M63805_IG22:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 511, prolog size 82, PerfScore 140.31, instruction count 148, allocated bytes for code 511 (MethodHash=1a3806c2) for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
+; Total bytes of code 506, prolog size 82, PerfScore 139.81, instruction count 147, allocated bytes for code 506 (MethodHash=1a3806c2) for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:.ctor(double[],int,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this (FullOpts)
 ; ============================================================
-5 (-3.21 % of base) - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this
 ; Assembly listing for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] (  4,  4   )   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T06] (  3,  3   )   byref  ->  r15         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[long]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[long]>
 ;  V04 arg4         [V04,T11] (  1,  1   )    long  ->  [rbp+0x10]  single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06    ] (  2,  4   )  struct (104) [rbp-0x78]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Numerics.Tensors.TensorShape>
 ;* V07 tmp2         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
 ;  V09 tmp4         [V09,T04] (  4,  8.75)    long  ->  rdi         "Inline stloc first use temp"
 ;* V10 tmp5         [V10,T12] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V11 tmp6         [V11,T02] (  3,  6   )   byref  ->  rdx         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T03] (  4,  7   )     int  ->  rcx         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;  V13 tmp8         [V13,T07] (  2,  2   )   byref  ->   r8         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V14 tmp9         [V14,T08] (  2,  2   )     int  ->   r9         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V15 tmp10        [V15,T10] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;  V16 tmp11        [V16,T09] (  2,  2   )     int  ->  rdi         "field V08._length (fldOffset=0x8)" P-INDEP
 ;  V17 cse0         [V17,T01] (  3, 12   )    long  ->  rax         "CSE #03: aggressive"
 ;  V18 rat0         [V18,T00] (  5, 16.25)    long  ->  rsi         "Widened IV V10"
 ;
 ; Lcl frame size = 112
 
 G_M12315_IG01:
        push     rbp
        push     r15
        push     rbx
        sub      rsp, 112
        lea      rbp, [rsp+0x80]
        xor      eax, eax
        mov      qword ptr [rbp-0x78], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0x70], zmm8
        vmovdqa  xmmword ptr [rbp-0x30], xmm8
        vmovdqa  xmmword ptr [rbp-0x20], xmm8
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=53 bbWeight=1 PerfScore 11.83
 G_M12315_IG02:
        mov      edi, ecx
        test     edi, edi
        je       SHORT G_M12315_IG06
 						;; size=6 bbWeight=1 PerfScore 1.50
 G_M12315_IG03:
        mov      edi, 1
        xor      esi, esi
        align    [0 bytes for IG04]
 						;; size=7 bbWeight=0.25 PerfScore 0.12
 G_M12315_IG04:
        mov      rax, qword ptr [rdx+8*rsi]
        test     rax, rax
        jl       SHORT G_M12315_IG08
        imul     rdi, rax
        inc      esi
        cmp      esi, ecx
        jl       SHORT G_M12315_IG04
 						;; size=19 bbWeight=4 PerfScore 27.00
 G_M12315_IG05:
        test     rdi, rdi
        jl       SHORT G_M12315_IG08
 						;; size=5 bbWeight=0.50 PerfScore 0.62
 G_M12315_IG06:
        lea      rdi, [rbp-0x78]
        mov      rsi, qword ptr [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Numerics.Tensors.TensorShape:.ctor(long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
        call     [rax]System.Numerics.Tensors.TensorShape:.ctor(long,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):this
        lea      rdi, bword ptr [rbx+0x08]
        lea      rsi, bword ptr [rbp-0x78]
-       call     CORINFO_HELP_ASSIGN_BYREF
-       mov      ecx, 12
+       mov      ecx, 13
        rep movsq 
        mov      bword ptr [rbx], r15
-						;; size=44 bbWeight=1 PerfScore 33.00
+						;; size=39 bbWeight=1 PerfScore 32.00
 G_M12315_IG07:
        add      rsp, 112
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 2.75
 G_M12315_IG08:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 
-; Total bytes of code 156, prolog size 53, PerfScore 78.58, instruction count 46, allocated bytes for code 156 (MethodHash=8acacfe4) for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
+; Total bytes of code 151, prolog size 53, PerfScore 77.58, instruction count 45, allocated bytes for code 151 (MethodHash=8acacfe4) for method System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:.ctor(byref,System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long],long):this (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

Larger list of diffs: https://gist.github.com/MihuBot/f6c9468f1686c033cdecdd07602283f7

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 23, 2025

@EgorBo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant