MihuBot / runtime-utils

0 stars 0 forks source link

[X64] MihaZupan/runtime/unsafe-bitcast-fromConstraint #272

Open MihuBot opened 6 months ago

MihuBot commented 6 months ago

Build completed in 22 minutes. https://github.com/MihaZupan/runtime/tree/unsafe-bitcast-fromConstraint

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6824115
Total bytes of diff: 6823615
Total bytes of delta: -500 (-0.01 % of base)
Total relative delta: -6.73
    diff is an improvement.
    relative diff is an improvement.

Total byte diff includes 46 bytes from reconciling methods
    Base had    0 unique methods,        0 unique bytes
    Diff had    8 unique methods,       46 unique bytes

Top file improvements (bytes):
        -500 : System.Private.CoreLib.dasm (-0.007% of base)

1 total files with Code Size differences (1 improved, 0 regressed), 0 unchanged.

Top method regressions (bytes):
          66 (3.922% of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
          17 (1.499% of base) : System.Private.CoreLib.dasm - System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this (FullOpts)
          14 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,long](System.__Canon):long (FullOpts) (0 base, 1 diff methods)
          14 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],long](System.Nullable`1[int]):long (FullOpts) (0 base, 1 diff methods)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[int](int):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[long](long):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[short](short):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[ubyte](ubyte):ubyte (FullOpts) (0 base, 1 diff methods)

Top method improvements (bytes):
         -44 (-4.288% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -43 (-4.699% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts)
         -40 (-33.898% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts)
         -38 (-4.144% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[],int,int):int:this (FullOpts)
         -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts)
         -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts)
         -36 (-4.534% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[]):int:this (FullOpts)
         -33 (-3.784% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -32 (-3.544% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts)
         -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts)
         -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts)
         -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.__Canon](System.__Canon):ubyte (FullOpts)
         -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Nullable`1[int]](System.Nullable`1[int]):ubyte (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,int):int (FullOpts)
          -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,int):int (FullOpts)
          -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -5 (-26.316% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts)
          -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[int](int):ubyte (FullOpts)
          -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[long](long):ubyte (FullOpts)

Top method regressions (percentages):
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[int](int):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[long](long):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[short](short):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[ubyte](ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          14 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,long](System.__Canon):long (FullOpts) (0 base, 1 diff methods)
          14 (     ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],long](System.Nullable`1[int]):long (FullOpts) (0 base, 1 diff methods)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
          66 (3.922% of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
          17 (1.499% of base) : System.Private.CoreLib.dasm - System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this (FullOpts)

Top method improvements (percentages):
         -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts)
         -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts)
         -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.__Canon](System.__Canon):ubyte (FullOpts)
         -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Nullable`1[int]](System.Nullable`1[int]):ubyte (FullOpts)
         -40 (-33.898% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int):int (FullOpts)
          -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,int):int (FullOpts)
         -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts)
         -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts)
          -5 (-26.316% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts)
          -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.Span`1[short],short,short):ubyte (FullOpts)
          -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[int](int):ubyte (FullOpts)
          -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[long](long):ubyte (FullOpts)
         -43 (-4.699% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts)
         -36 (-4.534% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[]):int:this (FullOpts)
         -44 (-4.288% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -38 (-4.144% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[],int,int):int:this (FullOpts)
         -33 (-3.784% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -32 (-3.544% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)

50 total methods with Code Size differences (32 improved, 18 regressed), 56465 unchanged.

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

Frameworks diffs

Diffs ``` Found 333 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38254228 Total bytes of diff: 38255508 Total bytes of delta: 1280 (0.00 % of base) Total relative delta: -2.56 diff is a regression. relative diff is an improvement. Total byte diff includes 46 bytes from reconciling methods Base had 0 unique methods, 0 unique bytes Diff had 8 unique methods, 46 unique bytes Top file regressions (bytes): 2270 : System.Security.Cryptography.dasm (0.211% of base) 57 : System.Reflection.MetadataLoadContext.dasm (0.024% of base) 56 : System.IO.Packaging.dasm (0.058% of base) 17 : System.Net.Mail.dasm (0.009% of base) 6 : Microsoft.Extensions.Logging.Abstractions.dasm (0.008% of base) 3 : System.Reflection.Metadata.dasm (0.001% of base) Top file improvements (bytes): -500 : System.Private.CoreLib.dasm (-0.007% of base) -350 : System.Text.RegularExpressions.dasm (-0.047% of base) -219 : System.Memory.dasm (-0.077% of base) -38 : System.IO.Pipes.dasm (-0.098% of base) -20 : Microsoft.VisualBasic.Core.dasm (-0.004% of base) -1 : ILCompiler.Reflection.ReadyToRun.dasm (-0.000% of base) -1 : System.Private.Xml.dasm (-0.000% of base) 13 total files with Code Size differences (7 improved, 6 regressed), 243 unchanged. Top method regressions (bytes): 73 (8.680% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts) 66 (3.922% of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts) 59 (3.345% of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts) 56 (15.864% of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts) 52 (2.708% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 49 (1.590% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 47 (10.398% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 46 (12.202% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 46 (8.200% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 46 (8.679% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 46 (14.465% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 46 (14.744% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 45 (6.560% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ExtractPrivateKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int,System.Security.Cryptography.AsymmetricAlgorithm[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[]):this (FullOpts) 44 (3.960% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 44 (5.308% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 42 (12.963% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 42 (12.923% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 42 (8.235% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 42 (11.538% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 42 (8.077% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 42 (12.069% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 41 (3.414% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequestPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts) 38 (1.120% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 32 (3.725% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts) 32 (4.520% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 30 (7.026% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 28 (6.074% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeKeys(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int):System.ArraySegment`1[ubyte] (FullOpts) 27 (4.376% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[int](System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.RSA+TryFunc`1[int],ubyte):ubyte[]:this (FullOpts) 27 (4.376% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[long](System.ReadOnlySpan`1[ubyte],long,System.Security.Cryptography.RSA+TryFunc`1[long],ubyte):ubyte[]:this (FullOpts) 27 (4.362% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[short](System.ReadOnlySpan`1[ubyte],short,System.Security.Cryptography.RSA+TryFunc`1[short],ubyte):ubyte[]:this (FullOpts) 27 (4.405% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.__Canon](System.ReadOnlySpan`1[ubyte],System.__Canon,System.Security.Cryptography.RSA+TryFunc`1[System.__Canon],ubyte):ubyte[]:this (FullOpts) 27 (4.362% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.RSA+TryFunc`1[ubyte],ubyte):ubyte[]:this (FullOpts) 26 (15.758% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 26 (4.745% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[double,System.Nullable`1[int]](double,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[double,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.779% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[int,System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[int,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.779% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[long,System.Nullable`1[int]](long,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[long,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.771% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[short,System.Nullable`1[int]](short,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[short,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.815% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.__Canon,System.Nullable`1[int]](System.__Canon,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.__Canon,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.842% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Nullable`1[int],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.685% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.771% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[ubyte,System.Nullable`1[int]](ubyte,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[ubyte,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.869% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.869% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.842% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.842% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[ubyte](ubyte,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[ubyte],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.685% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:TryDecrypt(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.RSAEncryptionPadding,byref):ubyte:this (FullOpts) 26 (1.422% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (FullOpts) 26 (1.852% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeAuthSafe(System.Formats.Asn1.AsnWriter,System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte],ubyte,System.String,System.String,System.Span`1[ubyte],System.Span`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 26 (4.569% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 25 (3.748% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts) 25 (10.373% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 25 (4.209% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 24 (6.761% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 23 (3.704% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[double](System.ReadOnlySpan`1[ubyte],double,System.Security.Cryptography.RSA+TryFunc`1[double],ubyte):ubyte[]:this (FullOpts) 23 (3.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Nullable`1[int]](System.ReadOnlySpan`1[ubyte],System.Nullable`1[int],System.Security.Cryptography.RSA+TryFunc`1[System.Nullable`1[int]],ubyte):ubyte[]:this (FullOpts) 23 (3.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ubyte],System.Numerics.Vector`1[float],System.Security.Cryptography.RSA+TryFunc`1[System.Numerics.Vector`1[float]],ubyte):ubyte[]:this (FullOpts) 23 (2.184% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeCerts(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[],int,System.Span`1[ubyte],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref,byref,byref):System.ArraySegment`1[ubyte] (FullOpts) 22 (1.222% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Asn1.Pkcs12.PfxAsn:DecryptContentInfo(System.Security.Cryptography.Asn1.Pkcs7.ContentInfoAsn,byref):System.ArraySegment`1[ubyte] (FullOpts) 22 (0.694% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts) 22 (2.081% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) 22 (5.432% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 22 (3.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 22 (1.202% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:Derive(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,ubyte,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 22 (4.622% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:VerifyData(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding):ubyte:this (FullOpts) 22 (4.508% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 22 (1.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 22 (2.857% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 22 (2.254% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 21 (5.949% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 21 (1.714% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 21 (13.462% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 20 (10.695% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 17 (1.499% of base) : System.Private.CoreLib.dasm - System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this (FullOpts) 17 (2.819% of base) : System.Net.Mail.dasm - System.Net.Mail.Message:set_Subject(System.String):this (FullOpts) 15 (2.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Numerics.Vector`1[float]],System.Span`1[ushort],byref):ubyte (FullOpts) 14 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,long](System.__Canon):long (FullOpts) (0 base, 1 diff methods) 14 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],long](System.Nullable`1[int]):long (FullOpts) (0 base, 1 diff methods) 9 (1.619% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[double](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[double],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[double]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[int](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[int],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[int]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[long](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[long],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[long]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[short](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[short],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[short]) (FullOpts) 8 (0.876% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.__Canon](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.__Canon],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.__Canon]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Nullable`1[int]]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Numerics.Vector`1[float]]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[ubyte](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[ubyte]) (FullOpts) 6 (0.457% of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:.ctor(System.String):this (FullOpts) 6 (2.985% of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:PeekUtf8NullTerminated(int,ubyte[],System.Reflection.Metadata.MetadataStringDecoder,byref,ushort):System.String:this (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[int](int):ubyte (FullOpts) (0 base, 1 diff methods) Top method improvements (bytes): -350 (-3.168% of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods) -100 (-6.671% of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAny(byref,System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) (2 methods) -74 (-3.006% of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAnyInternal(byref,System.ReadOnlySpan`1[short],ubyte,int):ubyte:this (FullOpts) -45 (-4.036% of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryAdvanceToAny(System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) -44 (-4.288% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -43 (-4.699% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts) -40 (-33.898% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts) -38 (-4.194% of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:GetPipePath(System.String,System.String):System.String (FullOpts) -38 (-4.144% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[],int,int):int:this (FullOpts) -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts) -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts) -36 (-4.534% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[]):int:this (FullOpts) -33 (-3.784% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -32 (-3.544% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.Span`1[short],short,short):ubyte (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.Span`1[short],short,short):ubyte (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts) -20 (-4.040% of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateDelimiters(System.String[]):this (FullOpts) -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts) -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts) -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.__Canon](System.__Canon):ubyte (FullOpts) -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Nullable`1[int]](System.Nullable`1[int]):ubyte (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,int):int (FullOpts) -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,int):int (FullOpts) -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -5 (-26.316% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[int](int):ubyte (FullOpts) -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[long](long):ubyte (FullOpts) -2 (-0.380% of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaAssembly:GetManifestResourceNames():System.String[]:this (FullOpts) -1 (-0.149% of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:EnsureManifestReferenceAssemblies():this (FullOpts) -1 (-0.299% of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:Utf8NullTerminatedEquals(int,System.String,System.Reflection.Metadata.MetadataStringDecoder,ushort,ubyte):ubyte:this (FullOpts) -1 (-0.282% of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:Utf8NullTerminatedStartsWith(int,System.String,System.Reflection.Metadata.MetadataStringDecoder,ushort,ubyte):ubyte:this (FullOpts) -1 (-0.207% of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:Equals(System.Reflection.Metadata.StringHandle,System.String,System.Reflection.Metadata.MetadataStringDecoder,ubyte):ubyte:this (FullOpts) -1 (-0.685% of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F2C424F1C4B7D29C389F7EC38EE62AE57FCBDD62A5B68FF3A430755969BF89E94__EncodeCharRegex_1+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (FullOpts) Top method regressions (percentages): 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[int](int):ubyte (FullOpts) (0 base, 1 diff methods) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[long](long):ubyte (FullOpts) (0 base, 1 diff methods) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[short](short):ubyte (FullOpts) (0 base, 1 diff methods) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods) 3 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[ubyte](ubyte):ubyte (FullOpts) (0 base, 1 diff methods) 14 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,long](System.__Canon):long (FullOpts) (0 base, 1 diff methods) 14 ( ∞ of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],long](System.Nullable`1[int]):long (FullOpts) (0 base, 1 diff methods) 56 (15.864% of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts) 26 (15.758% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 46 (14.744% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 46 (14.465% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 21 (13.462% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.333% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 42 (12.963% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 42 (12.923% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 46 (12.202% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 42 (12.069% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.765% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 42 (11.538% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 20 (10.695% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 47 (10.398% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 25 (10.373% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 73 (8.680% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts) 46 (8.679% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 42 (8.235% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 46 (8.200% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 42 (8.077% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 30 (7.026% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 24 (6.761% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 45 (6.560% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ExtractPrivateKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int,System.Security.Cryptography.AsymmetricAlgorithm[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[]):this (FullOpts) 28 (6.074% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeKeys(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int):System.ArraySegment`1[ubyte] (FullOpts) 21 (5.949% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 22 (5.432% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 44 (5.308% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 26 (4.869% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.869% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[ubyte](ubyte,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[ubyte],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.842% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Nullable`1[int],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.842% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.842% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.815% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.__Canon,System.Nullable`1[int]](System.__Canon,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.__Canon,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.779% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[int,System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[int,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.779% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[long,System.Nullable`1[int]](long,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[long,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.771% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[short,System.Nullable`1[int]](short,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[short,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.771% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[ubyte,System.Nullable`1[int]](ubyte,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[ubyte,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.745% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[double,System.Nullable`1[int]](double,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[double,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.685% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 26 (4.685% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:TryDecrypt(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.RSAEncryptionPadding,byref):ubyte:this (FullOpts) 22 (4.622% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:VerifyData(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding):ubyte:this (FullOpts) 26 (4.569% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 32 (4.520% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 22 (4.508% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 27 (4.405% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.__Canon](System.ReadOnlySpan`1[ubyte],System.__Canon,System.Security.Cryptography.RSA+TryFunc`1[System.__Canon],ubyte):ubyte[]:this (FullOpts) 27 (4.376% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[int](System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.RSA+TryFunc`1[int],ubyte):ubyte[]:this (FullOpts) 27 (4.376% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[long](System.ReadOnlySpan`1[ubyte],long,System.Security.Cryptography.RSA+TryFunc`1[long],ubyte):ubyte[]:this (FullOpts) 27 (4.362% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[short](System.ReadOnlySpan`1[ubyte],short,System.Security.Cryptography.RSA+TryFunc`1[short],ubyte):ubyte[]:this (FullOpts) 27 (4.362% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.RSA+TryFunc`1[ubyte],ubyte):ubyte[]:this (FullOpts) 25 (4.209% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 44 (3.960% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 66 (3.922% of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts) 22 (3.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 25 (3.748% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts) 32 (3.725% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts) 23 (3.704% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[double](System.ReadOnlySpan`1[ubyte],double,System.Security.Cryptography.RSA+TryFunc`1[double],ubyte):ubyte[]:this (FullOpts) 23 (3.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Nullable`1[int]](System.ReadOnlySpan`1[ubyte],System.Nullable`1[int],System.Security.Cryptography.RSA+TryFunc`1[System.Nullable`1[int]],ubyte):ubyte[]:this (FullOpts) 23 (3.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ubyte],System.Numerics.Vector`1[float],System.Security.Cryptography.RSA+TryFunc`1[System.Numerics.Vector`1[float]],ubyte):ubyte[]:this (FullOpts) 41 (3.414% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequestPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts) 59 (3.345% of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts) 6 (2.985% of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:PeekUtf8NullTerminated(int,ubyte[],System.Reflection.Metadata.MetadataStringDecoder,byref,ushort):System.String:this (FullOpts) 22 (2.857% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 17 (2.819% of base) : System.Net.Mail.dasm - System.Net.Mail.Message:set_Subject(System.String):this (FullOpts) 52 (2.708% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 15 (2.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Numerics.Vector`1[float]],System.Span`1[ushort],byref):ubyte (FullOpts) 22 (2.254% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 23 (2.184% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeCerts(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[],int,System.Span`1[ubyte],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref,byref,byref):System.ArraySegment`1[ubyte] (FullOpts) 22 (2.081% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) 26 (1.852% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeAuthSafe(System.Formats.Asn1.AsnWriter,System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte],ubyte,System.String,System.String,System.Span`1[ubyte],System.Span`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 21 (1.714% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 22 (1.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 9 (1.619% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts) 49 (1.590% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 17 (1.499% of base) : System.Private.CoreLib.dasm - System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this (FullOpts) 26 (1.422% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (FullOpts) 22 (1.222% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Asn1.Pkcs12.PfxAsn:DecryptContentInfo(System.Security.Cryptography.Asn1.Pkcs7.ContentInfoAsn,byref):System.ArraySegment`1[ubyte] (FullOpts) 22 (1.202% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:Derive(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,ubyte,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 38 (1.120% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[double](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[double],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[double]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[int](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[int],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[int]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[long](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[long],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[long]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[short](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[short],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[short]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Nullable`1[int]]) (FullOpts) 8 (0.877% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Numerics.Vector`1[float]]) (FullOpts) Top method improvements (percentages): -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts) -14 (-50.000% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts) -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.__Canon](System.__Canon):ubyte (FullOpts) -13 (-48.148% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Nullable`1[int]](System.Nullable`1[int]):ubyte (FullOpts) -40 (-33.898% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int):int (FullOpts) -6 (-31.579% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,int):int (FullOpts) -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts) -37 (-31.356% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts) -5 (-26.316% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -6 (-23.077% of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.800% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.Span`1[short],short,short):ubyte (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -26 (-20.155% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.Span`1[short],short,short):ubyte (FullOpts) -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[int](int):ubyte (FullOpts) -3 (-17.647% of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[long](long):ubyte (FullOpts) -100 (-6.671% of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAny(byref,System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) (2 methods) -43 (-4.699% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts) -36 (-4.534% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[]):int:this (FullOpts) -44 (-4.288% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -38 (-4.194% of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:GetPipePath(System.String,System.String):System.String (FullOpts) -38 (-4.144% of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[],int,int):int:this (FullOpts) -20 (-4.040% of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateDelimiters(System.String[]):this (FullOpts) -45 (-4.036% of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryAdvanceToAny(System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) -33 (-3.784% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -32 (-3.544% of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -350 (-3.168% of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods) -74 (-3.006% of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAnyInternal(byref,System.ReadOnlySpan`1[short],ubyte,int):ubyte:this (FullOpts) -1 (-0.685% of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F2C424F1C4B7D29C389F7EC38EE62AE57FCBDD62A5B68FF3A430755969BF89E94__EncodeCharRegex_1+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (FullOpts) -2 (-0.380% of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaAssembly:GetManifestResourceNames():System.String[]:this (FullOpts) -1 (-0.299% of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:Utf8NullTerminatedEquals(int,System.String,System.Reflection.Metadata.MetadataStringDecoder,ushort,ubyte):ubyte:this (FullOpts) -1 (-0.282% of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:Utf8NullTerminatedStartsWith(int,System.String,System.Reflection.Metadata.MetadataStringDecoder,ushort,ubyte):ubyte:this (FullOpts) -1 (-0.207% of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:Equals(System.Reflection.Metadata.StringHandle,System.String,System.Reflection.Metadata.MetadataStringDecoder,ubyte):ubyte:this (FullOpts) -1 (-0.149% of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:EnsureManifestReferenceAssemblies():this (FullOpts) 148 total methods with Code Size differences (44 improved, 104 regressed), 239273 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 6 months ago

Top method regressions

4 (11.765% of base) - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte ```diff ; Assembly listing for method System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def ; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V06 tmp3 [V06,T03] ( 2, 4 ) ubyte -> rsi ld-addr-op "Inlining Arg" -; V07 tmp4 [V07,T04] ( 2, 4 ) ubyte -> rdx ld-addr-op "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V09 tmp6 [V09 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -;* V10 tmp7 [V10 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V11 tmp8 [V11 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V12 tmp9 [V12 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V14 tmp11 [V14 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V15 tmp12 [V15 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V17 tmp14 [V17,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V18 tmp15 [V18,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref single-def "field V08._reference (fldOffset=0x0)" P-INDEP -;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP -;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-INDEP -;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP +;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V10 tmp7 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V11 tmp8 [V11,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V12 tmp9 [V12,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP +;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP +;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M24801_IG01: push rax - mov eax, esi - ;; size=3 bbWeight=1 PerfScore 1.25 + mov r8d, esi + mov eax, edx + ;; size=6 bbWeight=1 PerfScore 1.50 G_M24801_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int not eax shr eax, 31 - ;; size=26 bbWeight=1 PerfScore 4.75 + ;; size=27 bbWeight=1 PerfScore 4.75 G_M24801_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 -; Total bytes of code 34, prolog size 1, PerfScore 7.25, instruction count 11, allocated bytes for code 34 (MethodHash=ed259f1e) for method System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) +; Total bytes of code 38, prolog size 1, PerfScore 7.50, instruction count 12, allocated bytes for code 38 (MethodHash=ed259f1e) for method System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ```
4 (11.765% of base) - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte ```diff ; Assembly listing for method System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def ; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# 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 "spilled call-like call argument" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V10 tmp7 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V11 tmp8 [V11,T03] ( 2, 4 ) ubyte -> rsi ld-addr-op "Inlining Arg" -; V12 tmp9 [V12,T04] ( 2, 4 ) ubyte -> rdx ld-addr-op "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -;* V15 tmp12 [V15 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V16 tmp13 [V16 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V19 tmp16 [V19 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V20 tmp17 [V20 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V21 tmp18 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V22 tmp19 [V22,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V23 tmp20 [V23,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP -;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP -;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V30 tmp27 [V30 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP -;* V31 tmp28 [V31 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP -;* V32 tmp29 [V32 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP -;* V33 tmp30 [V33 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP -;* V34 tmp31 [V34 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP -;* V35 tmp32 [V35 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V16 tmp13 [V16,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V17 tmp14 [V17,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP +;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP +;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M3879_IG01: push rax - mov eax, esi - ;; size=3 bbWeight=1 PerfScore 1.25 + mov r8d, esi + mov eax, edx + ;; size=6 bbWeight=1 PerfScore 1.50 G_M3879_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int not eax shr eax, 31 - ;; size=26 bbWeight=1 PerfScore 4.75 + ;; size=27 bbWeight=1 PerfScore 4.75 G_M3879_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 -; Total bytes of code 34, prolog size 1, PerfScore 7.25, instruction count 11, allocated bytes for code 34 (MethodHash=7b01f0d8) for method System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) +; Total bytes of code 38, prolog size 1, PerfScore 7.50, instruction count 12, allocated bytes for code 38 (MethodHash=7b01f0d8) for method System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ```
4 (11.765% of base) - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte ```diff ; Assembly listing for method System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def ; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V06 tmp3 [V06,T03] ( 2, 4 ) ubyte -> rsi ld-addr-op "Inlining Arg" -; V07 tmp4 [V07,T04] ( 2, 4 ) ubyte -> rdx ld-addr-op "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V09 tmp6 [V09 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -;* V10 tmp7 [V10 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V11 tmp8 [V11 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V12 tmp9 [V12 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V14 tmp11 [V14 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V15 tmp12 [V15 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V17 tmp14 [V17,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V18 tmp15 [V18,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref single-def "field V08._reference (fldOffset=0x0)" P-INDEP -;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP -;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-INDEP -;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP +;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V10 tmp7 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V11 tmp8 [V11,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V12 tmp9 [V12,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP +;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP +;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M52798_IG01: push rax - mov eax, esi - ;; size=3 bbWeight=1 PerfScore 1.25 + mov r8d, esi + mov eax, edx + ;; size=6 bbWeight=1 PerfScore 1.50 G_M52798_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int not eax shr eax, 31 - ;; size=26 bbWeight=1 PerfScore 4.75 + ;; size=27 bbWeight=1 PerfScore 4.75 G_M52798_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 -; Total bytes of code 34, prolog size 1, PerfScore 7.25, instruction count 11, allocated bytes for code 34 (MethodHash=d4f431c1) for method System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) +; Total bytes of code 38, prolog size 1, PerfScore 7.50, instruction count 12, allocated bytes for code 38 (MethodHash=d4f431c1) for method System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ```
4 (11.765% of base) - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte ```diff ; Assembly listing for method System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def ; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# 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 "spilled call-like call argument" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V10 tmp7 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V11 tmp8 [V11,T03] ( 2, 4 ) ubyte -> rsi ld-addr-op "Inlining Arg" -; V12 tmp9 [V12,T04] ( 2, 4 ) ubyte -> rdx ld-addr-op "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -;* V15 tmp12 [V15 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V16 tmp13 [V16 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V19 tmp16 [V19 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V20 tmp17 [V20 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V21 tmp18 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V22 tmp19 [V22,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V23 tmp20 [V23,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP -;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP -;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V30 tmp27 [V30 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP -;* V31 tmp28 [V31 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP -;* V32 tmp29 [V32 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP -;* V33 tmp30 [V33 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP -;* V34 tmp31 [V34 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP -;* V35 tmp32 [V35 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V16 tmp13 [V16,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V17 tmp14 [V17,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP +;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP +;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M35832_IG01: push rax - mov eax, esi - ;; size=3 bbWeight=1 PerfScore 1.25 + mov r8d, esi + mov eax, edx + ;; size=6 bbWeight=1 PerfScore 1.50 G_M35832_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int not eax shr eax, 31 - ;; size=26 bbWeight=1 PerfScore 4.75 + ;; size=27 bbWeight=1 PerfScore 4.75 G_M35832_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 -; Total bytes of code 34, prolog size 1, PerfScore 7.25, instruction count 11, allocated bytes for code 34 (MethodHash=f7bb7407) for method System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) +; Total bytes of code 38, prolog size 1, PerfScore 7.50, instruction count 12, allocated bytes for code 38 (MethodHash=f7bb7407) for method System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) ```
4 (13.333% of base) - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int ```diff ; Assembly listing for method System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx ld-addr-op single-def -; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx ld-addr-op single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def +; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# 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" ;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -; V06 tmp3 [V06,T03] ( 2, 4 ) ubyte -> rsi "Inlining Arg" -; V07 tmp4 [V07,T04] ( 2, 4 ) ubyte -> rdx "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V10 tmp7 [V10 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V11 tmp8 [V11 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V13 tmp10 [V13,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V14 tmp11 [V14,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V06 tmp3 [V06 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V09 tmp6 [V09,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V10 tmp7 [V10,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP +;* V12 tmp9 [V12 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 0 G_M53401_IG01: push rbp mov rbp, rsp - mov eax, esi - ;; size=6 bbWeight=1 PerfScore 1.50 + mov r8d, esi + mov eax, edx + ;; size=9 bbWeight=1 PerfScore 1.75 G_M53401_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int nop - ;; size=22 bbWeight=1 PerfScore 4.25 + ;; size=23 bbWeight=1 PerfScore 4.25 G_M53401_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 -; Total bytes of code 30, prolog size 4, PerfScore 7.25, instruction count 11, allocated bytes for code 30 (MethodHash=199b2f66) for method System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) +; Total bytes of code 34, prolog size 4, PerfScore 7.50, instruction count 12, allocated bytes for code 34 (MethodHash=199b2f66) for method System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) ```
4 (13.333% of base) - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int ```diff ; Assembly listing for method System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx ld-addr-op single-def -; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx ld-addr-op single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def +; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# 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" ;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -; V06 tmp3 [V06,T03] ( 2, 4 ) ubyte -> rsi "Inlining Arg" -; V07 tmp4 [V07,T04] ( 2, 4 ) ubyte -> rdx "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V10 tmp7 [V10 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V11 tmp8 [V11 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V13 tmp10 [V13,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V14 tmp11 [V14,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V06 tmp3 [V06 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V09 tmp6 [V09,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V10 tmp7 [V10,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP +;* V12 tmp9 [V12 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 0 G_M38495_IG01: push rbp mov rbp, rsp - mov eax, esi - ;; size=6 bbWeight=1 PerfScore 1.50 + mov r8d, esi + mov eax, edx + ;; size=9 bbWeight=1 PerfScore 1.75 G_M38495_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int nop - ;; size=22 bbWeight=1 PerfScore 4.25 + ;; size=23 bbWeight=1 PerfScore 4.25 G_M38495_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 -; Total bytes of code 30, prolog size 4, PerfScore 7.25, instruction count 11, allocated bytes for code 30 (MethodHash=5f0e69a0) for method System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) +; Total bytes of code 34, prolog size 4, PerfScore 7.50, instruction count 12, allocated bytes for code 34 (MethodHash=5f0e69a0) for method System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) ```
4 (13.333% of base) - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int ```diff ; Assembly listing for method System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx ld-addr-op single-def -; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx ld-addr-op single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def +; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# 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" ;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -; V06 tmp3 [V06,T03] ( 2, 4 ) ubyte -> rsi "Inlining Arg" -; V07 tmp4 [V07,T04] ( 2, 4 ) ubyte -> rdx "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V10 tmp7 [V10 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V11 tmp8 [V11 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V13 tmp10 [V13,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V14 tmp11 [V14,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V06 tmp3 [V06 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V09 tmp6 [V09,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V10 tmp7 [V10,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP +;* V12 tmp9 [V12 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 0 G_M19078_IG01: push rbp mov rbp, rsp - mov eax, esi - ;; size=6 bbWeight=1 PerfScore 1.50 + mov r8d, esi + mov eax, edx + ;; size=9 bbWeight=1 PerfScore 1.75 G_M19078_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int nop - ;; size=22 bbWeight=1 PerfScore 4.25 + ;; size=23 bbWeight=1 PerfScore 4.25 G_M19078_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 -; Total bytes of code 30, prolog size 4, PerfScore 7.25, instruction count 11, allocated bytes for code 30 (MethodHash=6519b579) for method System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) +; Total bytes of code 34, prolog size 4, PerfScore 7.50, instruction count 12, allocated bytes for code 34 (MethodHash=6519b579) for method System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) ```
4 (13.333% of base) - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int ```diff ; Assembly listing for method System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rdx single-def +; V01 arg1 [V01,T00] ( 3, 3 ) ubyte -> rax single-def ; V02 arg2 [V02,T01] ( 3, 3 ) ubyte -> rcx single-def ;# 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 "spilled call-like call argument" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V10 tmp7 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V11 tmp8 [V11,T03] ( 2, 4 ) ubyte -> rsi ld-addr-op "Inlining Arg" -; V12 tmp9 [V12,T04] ( 2, 4 ) ubyte -> rdx ld-addr-op "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -;* V15 tmp12 [V15 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V16 tmp13 [V16 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V19 tmp16 [V19 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V20 tmp17 [V20 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V21 tmp18 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V22 tmp19 [V22,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP -; V23 tmp20 [V23,T05] ( 2, 2 ) int -> rax single-def "field V00._length (fldOffset=0x8)" P-INDEP -;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP -;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP -;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V30 tmp27 [V30 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP -;* V31 tmp28 [V31 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP -;* V32 tmp29 [V32 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP -;* V33 tmp30 [V33 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP -;* V34 tmp31 [V34 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP -;* V35 tmp32 [V35 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V16 tmp13 [V16,T02] ( 2, 2 ) byref -> rdi single-def "field V00._reference (fldOffset=0x0)" P-INDEP +; V17 tmp14 [V17,T03] ( 2, 2 ) int -> r8 single-def "field V00._length (fldOffset=0x8)" P-INDEP +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP +;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP +;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M37312_IG01: push rax - mov eax, esi - ;; size=3 bbWeight=1 PerfScore 1.25 + mov r8d, esi + mov eax, edx + ;; size=6 bbWeight=1 PerfScore 1.50 G_M37312_IG02: - movzx rsi, dl movzx rdx, cl - mov ecx, eax + movzx rsi, al + mov ecx, r8d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+Negate`1[ubyte]](byref,ubyte,ubyte,int):int nop - ;; size=22 bbWeight=1 PerfScore 4.25 + ;; size=23 bbWeight=1 PerfScore 4.25 G_M37312_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 -; Total bytes of code 30, prolog size 1, PerfScore 6.75, instruction count 10, allocated bytes for code 30 (MethodHash=64b96e3f) for method System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) +; Total bytes of code 34, prolog size 1, PerfScore 7.00, instruction count 11, allocated bytes for code 34 (MethodHash=64b96e3f) for method System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (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/f1359ee1aaffdad18a1ec1f16865e649

MihuBot commented 6 months ago

Top method improvements

-44 (-4.288% of base) - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int ```diff ; Assembly listing for method System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 51 single block inlinees; 18 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T19] ( 3, 3 ) struct (16) [rbp-0x80] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr -; V01 arg1 [V01,T20] ( 3, 3 ) struct (16) [rbp-0x90] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr +; V00 arg0 [V00,T17] ( 3, 3 ) struct (16) [rbp-0x80] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr +; V01 arg1 [V01,T18] ( 3, 3 ) struct (16) [rbp-0x90] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr ;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref ;* V03 loc1 [V03 ] ( 0, 0 ) byref -> zero-ref ptr ;* V04 loc2 [V04 ] ( 0, 0 ) byref -> zero-ref single-def ptr ;* V05 loc3 [V05 ] ( 0, 0 ) int -> zero-ref ; V06 OutArgs [V06 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V07 tmp1 [V07,T11] ( 7, 7 ) byref -> rbx single-def "impAppendStmt" ; V08 tmp2 [V08,T12] ( 7, 7 ) int -> r9 "impAppendStmt" ;* V09 tmp3 [V09 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V11 tmp5 [V11,T21] ( 4, 4 ) short -> rsi ld-addr-op "Inlining Arg" +; V11 tmp5 [V11,T19] ( 4, 4 ) short -> rsi ld-addr-op "Inlining Arg" ;* V12 tmp6 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V13 tmp7 [V13 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg" ;* V14 tmp8 [V14 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" ;* V15 tmp9 [V15 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg" -; V16 tmp10 [V16,T35] ( 3, 1.50) int -> rax "Inline return value spill temp" +; V16 tmp10 [V16,T34] ( 3, 1.50) int -> rax "Inline return value spill temp" ;* V17 tmp11 [V17 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" -;* V18 tmp12 [V18 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" +;* V18 tmp12 [V18 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" ;* V19 tmp13 [V19 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" ;* V20 tmp14 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V21 tmp15 [V21 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V22 tmp16 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V23 tmp17 [V23,T16] ( 6, 6 ) short -> rsi ld-addr-op "Inlining Arg" -; V24 tmp18 [V24,T17] ( 6, 6 ) short -> rdx ld-addr-op "Inlining Arg" +; V23 tmp17 [V23,T20] ( 4, 4 ) short -> rsi "Inlining Arg" +; V24 tmp18 [V24,T21] ( 4, 4 ) short -> rdx "Inlining Arg" ;* V25 tmp19 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V26 tmp20 [V26 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg" -;* V27 tmp21 [V27 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" -;* V28 tmp22 [V28 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" -;* V29 tmp23 [V29 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg" -; V30 tmp24 [V30,T29] ( 4, 2 ) int -> rax "Inline return value spill temp" -;* V31 tmp25 [V31 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" -;* V32 tmp26 [V32 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" -;* V33 tmp27 [V33 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" -;* V34 tmp28 [V34 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V35 tmp29 [V35 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -; V36 tmp30 [V36,T43] ( 2, 1 ) ushort -> rsi "Inline return value spill temp" -; V37 tmp31 [V37,T25] ( 3, 3 ) ushort -> rsi "Inlining Arg" -; V38 tmp32 [V38,T26] ( 3, 3 ) ushort -> rdi "Inlining Arg" -;* V39 tmp33 [V39 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V40 tmp34 [V40 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V41 tmp35 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V42 tmp36 [V42 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +; V26 tmp20 [V26,T27] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" +;* V27 tmp21 [V27 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V28 tmp22 [V28 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +; V29 tmp23 [V29,T28] ( 2, 2 ) int -> rcx "Inlining Arg" +; V30 tmp24 [V30,T35] ( 3, 1.50) int -> rax "Inline return value spill temp" +;* V31 tmp25 [V31 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" +;* V32 tmp26 [V32 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" +; V33 tmp27 [V33,T43] ( 2, 1 ) ushort -> rsi "Inline stloc first use temp" +; V34 tmp28 [V34,T44] ( 2, 1 ) ushort -> rdx "Inline stloc first use temp" +;* V35 tmp29 [V35 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" +;* V36 tmp30 [V36 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline return value spill temp" +;* V37 tmp31 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V38 tmp32 [V38 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V39 tmp33 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V40 tmp34 [V40,T22] ( 4, 4 ) short -> rsi ld-addr-op "Inlining Arg" +; V41 tmp35 [V41,T23] ( 4, 4 ) short -> rdx ld-addr-op "Inlining Arg" +; V42 tmp36 [V42,T24] ( 4, 4 ) short -> rcx ld-addr-op "Inlining Arg" ;* V43 tmp37 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V44 tmp38 [V44,T22] ( 4, 4 ) short -> rsi ld-addr-op "Inlining Arg" -; V45 tmp39 [V45,T23] ( 4, 4 ) short -> rdx ld-addr-op "Inlining Arg" -; V46 tmp40 [V46,T24] ( 4, 4 ) short -> rcx ld-addr-op "Inlining Arg" -;* V47 tmp41 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V48 tmp42 [V48 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg" -;* V49 tmp43 [V49 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" -;* V50 tmp44 [V50 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" -;* V51 tmp45 [V51 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" -;* V52 tmp46 [V52 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg" -; V53 tmp47 [V53,T36] ( 3, 1.50) int -> rax "Inline return value spill temp" -;* V54 tmp48 [V54 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" -;* V55 tmp49 [V55 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" -;* V56 tmp50 [V56 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" -;* V57 tmp51 [V57 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V58 tmp52 [V58 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V59 tmp53 [V59 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V60 tmp54 [V60 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V61 tmp55 [V61 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V62 tmp56 [V62 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V63 tmp57 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V64 tmp58 [V64 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V65 tmp59 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V66 tmp60 [V66,T30] ( 2, 2 ) short -> rsi ld-addr-op "Inlining Arg" -; V67 tmp61 [V67,T31] ( 2, 2 ) short -> rdx ld-addr-op "Inlining Arg" -; V68 tmp62 [V68,T32] ( 2, 2 ) short -> rcx ld-addr-op "Inlining Arg" -; V69 tmp63 [V69,T33] ( 2, 2 ) short -> r8 ld-addr-op "Inlining Arg" -;* V70 tmp64 [V70 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V71 tmp65 [V71 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V72 tmp66 [V72 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V73 tmp67 [V73 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V74 tmp68 [V74 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V75 tmp69 [V75 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V76 tmp70 [V76 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V77 tmp71 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V78 tmp72 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V79 tmp73 [V79 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V80 tmp74 [V80 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V44 tmp38 [V44 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg" +;* V45 tmp39 [V45 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" +;* V46 tmp40 [V46 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" +;* V47 tmp41 [V47 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg" +;* V48 tmp42 [V48 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg" +; V49 tmp43 [V49,T36] ( 3, 1.50) int -> rax "Inline return value spill temp" +;* V50 tmp44 [V50 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" +;* V51 tmp45 [V51 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" +;* V52 tmp46 [V52 ] ( 0, 0 ) short -> zero-ref ld-addr-op ptr "Inlining Arg" +;* V53 tmp47 [V53 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V54 tmp48 [V54 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V55 tmp49 [V55 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V56 tmp50 [V56 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" +;* V57 tmp51 [V57 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" +;* V58 tmp52 [V58 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" +;* V59 tmp53 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V60 tmp54 [V60 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V61 tmp55 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V62 tmp56 [V62,T29] ( 2, 2 ) short -> rsi ld-addr-op "Inlining Arg" +; V63 tmp57 [V63,T30] ( 2, 2 ) short -> rdx ld-addr-op "Inlining Arg" +; V64 tmp58 [V64,T31] ( 2, 2 ) short -> rcx ld-addr-op "Inlining Arg" +; V65 tmp59 [V65,T32] ( 2, 2 ) short -> r8 ld-addr-op "Inlining Arg" +;* V66 tmp60 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V67 tmp61 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V68 tmp62 [V68 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V69 tmp63 [V69 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V70 tmp64 [V70 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V71 tmp65 [V71 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V72 tmp66 [V72 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V73 tmp67 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V74 tmp68 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V75 tmp69 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V76 tmp70 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V77 tmp71 [V77 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V78 tmp72 [V78 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V79 tmp73 [V79 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V80 tmp74 [V80 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" ;* V81 tmp75 [V81 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V82 tmp76 [V82 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V83 tmp77 [V83 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V84 tmp78 [V84 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V85 tmp79 [V85 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" -;* V86 tmp80 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V87 tmp81 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V88 tmp82 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V89 tmp83 [V89,T37] ( 3, 1.50) int -> rax "Inline return value spill temp" -;* V90 tmp84 [V90 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg" -;* V91 tmp85 [V91 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg" -;* V92 tmp86 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -;* V93 tmp87 [V93 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" -; V94 tmp88 [V94 ] ( 3, 1.50) int -> [rbp-0x94] do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp" -;* V95 tmp89 [V95 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V96 tmp90 [V96,T44] ( 0, 0 ) ubyte -> zero-ref ptr "Inline return value spill temp" -;* V97 tmp91 [V97,T45] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V98 tmp92 [V98 ] ( 7, 3.50) struct (64) [rbp-0x70] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "Inline ldloca(s) first use temp" -; V99 tmp93 [V99,T38] ( 2, 1 ) ubyte -> rdx ld-addr-op "Inline ldloca(s) first use temp" -;* V100 tmp94 [V100 ] ( 0, 0 ) byref -> zero-ref -; V101 tmp95 [V101,T41] ( 2, 1 ) byref -> r15 single-def -;* V102 tmp96 [V102 ] ( 0, 0 ) int -> zero-ref -;* V103 tmp97 [V103 ] ( 0, 0 ) byref -> zero-ref -;* V104 tmp98 [V104 ] ( 0, 0 ) byref -> zero-ref single-def ptr -; V105 tmp99 [V105,T39] ( 3, 1.50) int -> rax -; V106 tmp100 [V106,T48] ( 1, 1 ) int -> [rbp-0x98] do-not-enreg[V] "GSCookie dummy for inlinee" -;* V107 tmp101 [V107 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V108 tmp102 [V108,T46] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V109 tmp103 [V109,T04] ( 3, 10 ) long -> rdx "Inlining Arg" -;* V110 tmp104 [V110,T50] ( 0, 0 ) long -> zero-ref ptr "Inline stloc first use temp" -;* V111 tmp105 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" -;* V112 tmp106 [V112,T51] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp" -; V113 tmp107 [V113,T03] ( 4, 16 ) ushort -> rsi "Inline stloc first use temp" -; V114 tmp108 [V114,T09] ( 2, 8 ) int -> rax "Inline stloc first use temp" -;* V115 tmp109 [V115 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" -; V116 tmp110 [V116,T00] ( 3, 24 ) long -> rsi "dup spill" -;* V117 tmp111 [V117 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" -;* V118 tmp112 [V118 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" -;* V119 tmp113 [V119 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" -;* V120 tmp114 [V120 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" -; V121 tmp115 [V121,T40] ( 3, 1.50) int -> rax "Inline return value spill temp" -; V122 tmp116 [V122,T18] ( 3, 5 ) byref -> r13 single-def "Inline stloc first use temp" -; V123 tmp117 [V123,T01] ( 6, 17 ) byref -> r12 "Inline stloc first use temp" -; V124 tmp118 [V124,T10] ( 2, 8 ) ushort -> rsi "Inline stloc first use temp" -;* V125 tmp119 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V126 tmp120 [V126 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V127 tmp121 [V127 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V82 tmp76 [V82 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V83 tmp77 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V84 tmp78 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V85 tmp79 [V85,T37] ( 3, 1.50) int -> rax "Inline return value spill temp" +;* V86 tmp80 [V86 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg" +;* V87 tmp81 [V87 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg" +;* V88 tmp82 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +;* V89 tmp83 [V89 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" +; V90 tmp84 [V90 ] ( 3, 1.50) int -> [rbp-0x94] do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp" +;* V91 tmp85 [V91 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V92 tmp86 [V92,T45] ( 0, 0 ) ubyte -> zero-ref ptr "Inline return value spill temp" +;* V93 tmp87 [V93,T46] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V94 tmp88 [V94 ] ( 7, 3.50) struct (64) [rbp-0x70] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "Inline ldloca(s) first use temp" +; V95 tmp89 [V95,T38] ( 2, 1 ) ubyte -> rdx ld-addr-op "Inline ldloca(s) first use temp" +;* V96 tmp90 [V96 ] ( 0, 0 ) byref -> zero-ref +; V97 tmp91 [V97,T41] ( 2, 1 ) byref -> r15 single-def +;* V98 tmp92 [V98 ] ( 0, 0 ) int -> zero-ref +;* V99 tmp93 [V99 ] ( 0, 0 ) byref -> zero-ref +;* V100 tmp94 [V100 ] ( 0, 0 ) byref -> zero-ref single-def ptr +; V101 tmp95 [V101,T39] ( 3, 1.50) int -> rax +; V102 tmp96 [V102,T49] ( 1, 1 ) int -> [rbp-0x98] do-not-enreg[V] "GSCookie dummy for inlinee" +;* V103 tmp97 [V103 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V104 tmp98 [V104,T47] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V105 tmp99 [V105,T04] ( 3, 10 ) long -> rdx "Inlining Arg" +;* V106 tmp100 [V106,T51] ( 0, 0 ) long -> zero-ref ptr "Inline stloc first use temp" +;* V107 tmp101 [V107 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" +;* V108 tmp102 [V108,T52] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp" +; V109 tmp103 [V109,T03] ( 4, 16 ) ushort -> rsi "Inline stloc first use temp" +; V110 tmp104 [V110,T09] ( 2, 8 ) int -> rax "Inline stloc first use temp" +;* V111 tmp105 [V111 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V112 tmp106 [V112,T00] ( 3, 24 ) long -> rsi "dup spill" +;* V113 tmp107 [V113 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" +;* V114 tmp108 [V114 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" +;* V115 tmp109 [V115 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" +;* V116 tmp110 [V116 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" +; V117 tmp111 [V117,T40] ( 3, 1.50) int -> rax "Inline return value spill temp" +; V118 tmp112 [V118,T16] ( 3, 5 ) byref -> r13 single-def "Inline stloc first use temp" +; V119 tmp113 [V119,T01] ( 6, 17 ) byref -> r12 "Inline stloc first use temp" +; V120 tmp114 [V120,T10] ( 2, 8 ) ushort -> rsi "Inline stloc first use temp" +;* V121 tmp115 [V121 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V122 tmp116 [V122 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V123 tmp117 [V123 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V124 tmp118 [V124 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V125 tmp119 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V126 tmp120 [V126 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" +;* V127 tmp121 [V127 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V128 tmp122 [V128 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V129 tmp123 [V129 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V129 tmp123 [V129 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V130 tmp124 [V130 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V131 tmp125 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V132 tmp126 [V132 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V133 tmp127 [V133 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V134 tmp128 [V134 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V135 tmp129 [V135 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V136 tmp130 [V136 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V137 tmp131 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V138 tmp132 [V138,T13] ( 7, 7 ) int -> rax "Single return block return value" -;* V139 tmp133 [V139 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V10._reference (fldOffset=0x0)" P-INDEP -;* V140 tmp134 [V140 ] ( 0, 0 ) int -> zero-ref ptr "field V10._length (fldOffset=0x8)" P-INDEP -;* V141 tmp135 [V141 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V12._reference (fldOffset=0x0)" P-INDEP -;* V142 tmp136 [V142 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP -;* V143 tmp137 [V143 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP -;* V144 tmp138 [V144 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP -;* V145 tmp139 [V145 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V22._reference (fldOffset=0x0)" P-INDEP -;* V146 tmp140 [V146 ] ( 0, 0 ) int -> zero-ref ptr "field V22._length (fldOffset=0x8)" P-INDEP -;* V147 tmp141 [V147 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V25._reference (fldOffset=0x0)" P-INDEP -;* V148 tmp142 [V148 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP -;* V149 tmp143 [V149 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP -;* V150 tmp144 [V150 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP -;* V151 tmp145 [V151 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP -;* V152 tmp146 [V152 ] ( 0, 0 ) int -> zero-ref ptr "field V43._length (fldOffset=0x8)" P-INDEP -;* V153 tmp147 [V153 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP -;* V154 tmp148 [V154 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP -;* V155 tmp149 [V155 ] ( 0, 0 ) byref -> zero-ref "field V63._reference (fldOffset=0x0)" P-INDEP -;* V156 tmp150 [V156 ] ( 0, 0 ) int -> zero-ref "field V63._length (fldOffset=0x8)" P-INDEP -;* V157 tmp151 [V157 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V65._reference (fldOffset=0x0)" P-INDEP -;* V158 tmp152 [V158 ] ( 0, 0 ) int -> zero-ref ptr "field V65._length (fldOffset=0x8)" P-INDEP -;* V159 tmp153 [V159 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V70._reference (fldOffset=0x0)" P-INDEP -;* V160 tmp154 [V160 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP -;* V161 tmp155 [V161 ] ( 0, 0 ) byref -> zero-ref "field V77._reference (fldOffset=0x0)" P-INDEP -;* V162 tmp156 [V162 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP -;* V163 tmp157 [V163 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V78._reference (fldOffset=0x0)" P-INDEP -;* V164 tmp158 [V164 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP -;* V165 tmp159 [V165 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V79._reference (fldOffset=0x0)" P-INDEP -;* V166 tmp160 [V166 ] ( 0, 0 ) int -> zero-ref ptr "field V79._length (fldOffset=0x8)" P-INDEP -;* V167 tmp161 [V167 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V87._reference (fldOffset=0x0)" P-INDEP -;* V168 tmp162 [V168 ] ( 0, 0 ) int -> zero-ref ptr "field V87._length (fldOffset=0x8)" P-INDEP -;* V169 tmp163 [V169 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V88._reference (fldOffset=0x0)" P-INDEP -;* V170 tmp164 [V170 ] ( 0, 0 ) int -> zero-ref ptr "field V88._length (fldOffset=0x8)" P-INDEP -; V171 tmp165 [V171,T42] ( 2, 1 ) byref -> r15 single-def "field V92._reference (fldOffset=0x0)" P-INDEP -; V172 tmp166 [V172,T47] ( 2, 1 ) int -> rsi "field V92._length (fldOffset=0x8)" P-INDEP -; V173 tmp167 [V173,T08] ( 3, 8.50) byref -> r15 single-def "field V93._reference (fldOffset=0x0)" P-INDEP -; V174 tmp168 [V174,T06] ( 4, 9 ) int -> r14 "field V93._length (fldOffset=0x8)" P-INDEP -;* V175 tmp169 [V175,T49] ( 0, 0 ) byref -> zero-ref single-def ptr "field V111._reference (fldOffset=0x0)" P-INDEP -;* V176 tmp170 [V176,T52] ( 0, 0 ) int -> zero-ref ptr "field V111._length (fldOffset=0x8)" P-INDEP -;* V177 tmp171 [V177 ] ( 0, 0 ) byref -> zero-ref ptr "field V125._reference (fldOffset=0x0)" P-INDEP -;* V178 tmp172 [V178 ] ( 0, 0 ) int -> zero-ref ptr "field V125._length (fldOffset=0x8)" P-INDEP -;* V179 tmp173 [V179 ] ( 0, 0 ) byref -> zero-ref ptr "field V126._reference (fldOffset=0x0)" P-INDEP -;* V180 tmp174 [V180 ] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP -;* V181 tmp175 [V181 ] ( 0, 0 ) byref -> zero-ref "field V129._reference (fldOffset=0x0)" P-INDEP -;* V182 tmp176 [V182 ] ( 0, 0 ) int -> zero-ref "field V129._length (fldOffset=0x8)" P-INDEP -;* V183 tmp177 [V183 ] ( 0, 0 ) byref -> zero-ref "field V131._reference (fldOffset=0x0)" P-INDEP -;* V184 tmp178 [V184 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP -;* V185 tmp179 [V185 ] ( 0, 0 ) byref -> zero-ref "field V137._reference (fldOffset=0x0)" P-INDEP -;* V186 tmp180 [V186 ] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP -; V187 tmp181 [V187,T15] ( 11, 6 ) byref -> rbx single-def "V00.[000..008)" -; V188 tmp182 [V188,T14] ( 12, 6.50) int -> r9 "V00.[008..012)" -; V189 tmp183 [V189,T07] ( 17, 9 ) byref -> r15 single-def "V01.[000..008)" -; V190 tmp184 [V190,T05] ( 16, 9.50) int -> r14 "V01.[008..012)" -; V191 tmp185 [V191,T34] ( 2, 2 ) long -> rdx "Cast away GC" -; V192 GsCookie [V192 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie" -; V193 tmp187 [V193,T27] ( 3, 3 ) struct (16) [rbp-0xA8] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" -; V194 tmp188 [V194,T28] ( 3, 3 ) struct (16) [rbp-0xB8] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" -; V195 rat0 [V195,T02] ( 5, 16.50) long -> rdi "Widened IV V112" +;* V131 tmp125 [V131 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V132 tmp126 [V132 ] ( 0, 0 ) short -> zero-ref "Inlining Arg" +;* V133 tmp127 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V134 tmp128 [V134,T13] ( 7, 7 ) int -> rax "Single return block return value" +;* V135 tmp129 [V135 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V10._reference (fldOffset=0x0)" P-INDEP +;* V136 tmp130 [V136 ] ( 0, 0 ) int -> zero-ref ptr "field V10._length (fldOffset=0x8)" P-INDEP +;* V137 tmp131 [V137 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V12._reference (fldOffset=0x0)" P-INDEP +;* V138 tmp132 [V138 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V139 tmp133 [V139 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP +;* V140 tmp134 [V140 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP +;* V141 tmp135 [V141 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V22._reference (fldOffset=0x0)" P-INDEP +;* V142 tmp136 [V142 ] ( 0, 0 ) int -> zero-ref ptr "field V22._length (fldOffset=0x8)" P-INDEP +;* V143 tmp137 [V143 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V25._reference (fldOffset=0x0)" P-INDEP +;* V144 tmp138 [V144 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP +;* V145 tmp139 [V145 ] ( 0, 0 ) byref -> zero-ref "field V37._reference (fldOffset=0x0)" P-INDEP +;* V146 tmp140 [V146 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP +;* V147 tmp141 [V147 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V39._reference (fldOffset=0x0)" P-INDEP +;* V148 tmp142 [V148 ] ( 0, 0 ) int -> zero-ref ptr "field V39._length (fldOffset=0x8)" P-INDEP +;* V149 tmp143 [V149 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP +;* V150 tmp144 [V150 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP +;* V151 tmp145 [V151 ] ( 0, 0 ) byref -> zero-ref "field V59._reference (fldOffset=0x0)" P-INDEP +;* V152 tmp146 [V152 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP +;* V153 tmp147 [V153 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V61._reference (fldOffset=0x0)" P-INDEP +;* V154 tmp148 [V154 ] ( 0, 0 ) int -> zero-ref ptr "field V61._length (fldOffset=0x8)" P-INDEP +;* V155 tmp149 [V155 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP +;* V156 tmp150 [V156 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP +;* V157 tmp151 [V157 ] ( 0, 0 ) byref -> zero-ref "field V73._reference (fldOffset=0x0)" P-INDEP +;* V158 tmp152 [V158 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP +;* V159 tmp153 [V159 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V74._reference (fldOffset=0x0)" P-INDEP +;* V160 tmp154 [V160 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP +;* V161 tmp155 [V161 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V75._reference (fldOffset=0x0)" P-INDEP +;* V162 tmp156 [V162 ] ( 0, 0 ) int -> zero-ref ptr "field V75._length (fldOffset=0x8)" P-INDEP +;* V163 tmp157 [V163 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V83._reference (fldOffset=0x0)" P-INDEP +;* V164 tmp158 [V164 ] ( 0, 0 ) int -> zero-ref ptr "field V83._length (fldOffset=0x8)" P-INDEP +;* V165 tmp159 [V165 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V84._reference (fldOffset=0x0)" P-INDEP +;* V166 tmp160 [V166 ] ( 0, 0 ) int -> zero-ref ptr "field V84._length (fldOffset=0x8)" P-INDEP +; V167 tmp161 [V167,T42] ( 2, 1 ) byref -> r15 single-def "field V88._reference (fldOffset=0x0)" P-INDEP +; V168 tmp162 [V168,T48] ( 2, 1 ) int -> rsi "field V88._length (fldOffset=0x8)" P-INDEP +; V169 tmp163 [V169,T08] ( 3, 8.50) byref -> r15 single-def "field V89._reference (fldOffset=0x0)" P-INDEP +; V170 tmp164 [V170,T06] ( 4, 9 ) int -> r14 "field V89._length (fldOffset=0x8)" P-INDEP +;* V171 tmp165 [V171,T50] ( 0, 0 ) byref -> zero-ref single-def ptr "field V107._reference (fldOffset=0x0)" P-INDEP +;* V172 tmp166 [V172,T53] ( 0, 0 ) int -> zero-ref ptr "field V107._length (fldOffset=0x8)" P-INDEP +;* V173 tmp167 [V173 ] ( 0, 0 ) byref -> zero-ref ptr "field V121._reference (fldOffset=0x0)" P-INDEP +;* V174 tmp168 [V174 ] ( 0, 0 ) int -> zero-ref ptr "field V121._length (fldOffset=0x8)" P-INDEP +;* V175 tmp169 [V175 ] ( 0, 0 ) byref -> zero-ref ptr "field V122._reference (fldOffset=0x0)" P-INDEP +;* V176 tmp170 [V176 ] ( 0, 0 ) int -> zero-ref "field V122._length (fldOffset=0x8)" P-INDEP +;* V177 tmp171 [V177 ] ( 0, 0 ) byref -> zero-ref "field V125._reference (fldOffset=0x0)" P-INDEP +;* V178 tmp172 [V178 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP +;* V179 tmp173 [V179 ] ( 0, 0 ) byref -> zero-ref "field V127._reference (fldOffset=0x0)" P-INDEP +;* V180 tmp174 [V180 ] ( 0, 0 ) int -> zero-ref "field V127._length (fldOffset=0x8)" P-INDEP +;* V181 tmp175 [V181 ] ( 0, 0 ) byref -> zero-ref "field V133._reference (fldOffset=0x0)" P-INDEP +;* V182 tmp176 [V182 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP +; V183 tmp177 [V183,T15] ( 10, 5.50) byref -> rbx single-def "V00.[000..008)" +; V184 tmp178 [V184,T14] ( 11, 6 ) int -> r9 "V00.[008..012)" +; V185 tmp179 [V185,T07] ( 17, 9 ) byref -> r15 single-def "V01.[000..008)" +; V186 tmp180 [V186,T05] ( 16, 9.50) int -> r14 "V01.[008..012)" +; V187 tmp181 [V187,T33] ( 2, 2 ) long -> rdx "Cast away GC" +; V188 GsCookie [V188 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie" +; V189 tmp183 [V189,T25] ( 3, 3 ) struct (16) [rbp-0xA8] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" +; V190 tmp184 [V190,T26] ( 3, 3 ) struct (16) [rbp-0xB8] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" +; V191 rat0 [V191,T02] ( 5, 16.50) long -> rdi "Widened IV V108" ; ; Lcl frame size = 152 G_M30446_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 152 lea rbp, [rsp+0xC0] xor eax, eax mov qword ptr [rbp-0xB8], rax vxorps xmm8, xmm8, xmm8 vmovdqa xmmword ptr [rbp-0xB0], xmm8 mov qword ptr [rbp-0xA0], rax mov qword ptr [rbp-0x30], 0xD1FFAB1E mov bword ptr [rbp-0x80], rdi mov qword ptr [rbp-0x78], rsi mov bword ptr [rbp-0x90], rdx mov qword ptr [rbp-0x88], rcx ;; size=84 bbWeight=1 PerfScore 16.33 G_M30446_IG02: vmovdqu xmm0, xmmword ptr [rbp-0x90] vmovdqu xmmword ptr [rbp-0xB8], xmm0 ;; size=16 bbWeight=1 PerfScore 4.00 G_M30446_IG03: vmovdqu xmm0, xmmword ptr [rbp-0x80] vmovdqu xmmword ptr [rbp-0xA8], xmm0 ;; size=13 bbWeight=1 PerfScore 4.00 G_M30446_IG04: mov rbx, bword ptr [rbp-0xA8] mov r9d, dword ptr [rbp-0xA0] mov r15, bword ptr [rbp-0xB8] mov r14d, dword ptr [rbp-0xB0] cmp r14d, 4 - ja G_M30446_IG17 + ja G_M30446_IG16 mov eax, r14d lea rsi, [reloc @RWD00] mov esi, dword ptr [rsi+4*rax] lea rdi, G_M30446_IG02 add rsi, rdi jmp rsi ;; size=63 bbWeight=1 PerfScore 11.25 G_M30446_IG05: mov eax, -1 xor esi, esi test r9d, r9d cmovne eax, esi - jmp G_M30446_IG33 - align [0 bytes for IG20] + jmp G_M30446_IG32 + align [0 bytes for IG19] ;; size=18 bbWeight=0.50 PerfScore 1.50 G_M30446_IG06: test r14d, r14d - je G_M30446_IG36 + je G_M30446_IG35 movsx rsi, word ptr [r15] movzx rdi, si dec edi cmp edi, 254 jae SHORT G_M30446_IG07 mov rdi, rbx mov edx, r9d mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+Negate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+Negate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int jmp SHORT G_M30446_IG08 ;; size=46 bbWeight=0.50 PerfScore 6.38 G_M30446_IG07: mov rdi, rbx mov edx, r9d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int call [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,int):int ;; size=18 bbWeight=0.50 PerfScore 1.88 G_M30446_IG08: - jmp G_M30446_IG30 + jmp G_M30446_IG29 ;; size=5 bbWeight=0.50 PerfScore 1.00 G_M30446_IG09: test r14d, r14d - je G_M30446_IG36 + je G_M30446_IG35 movsx rsi, word ptr [r15] cmp r14d, 1 - jbe G_M30446_IG36 + jbe G_M30446_IG35 movsx rdx, word ptr [r15+0x02] - movzx rdi, si - dec edi - cmp edi, 254 - jae SHORT G_M30446_IG11 - movzx rdi, dx - dec edi - cmp edi, 254 - jae SHORT G_M30446_IG11 - movzx rdi, si + mov rdi, rbx + mov ecx, r9d + movzx rax, si + dec eax + cmp eax, 254 + jae SHORT G_M30446_IG10 movzx rax, dx - xor edi, eax - cmp edi, 32 - jne SHORT G_M30446_IG10 + dec eax + cmp eax, 254 + jae SHORT G_M30446_IG10 movzx rsi, si - movzx rdi, dx - cmp esi, edi - cmovl esi, edi - movsx rsi, si - mov rdi, rbx - mov edx, r9d - mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+Negate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int - call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+Negate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int - jmp SHORT G_M30446_IG12 - ;; size=102 bbWeight=0.50 PerfScore 11.50 -G_M30446_IG10: + movzx rdx, dx movsx rdx, dx movsx rsi, si - mov rdi, rbx - mov ecx, r9d mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+Negate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int call [rax]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+Negate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int - jmp SHORT G_M30446_IG12 - ;; size=28 bbWeight=0.50 PerfScore 3.12 -G_M30446_IG11: + jmp SHORT G_M30446_IG11 + ;; size=86 bbWeight=0.50 PerfScore 10.38 +G_M30446_IG10: mov rdi, rbx mov ecx, r9d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,int):int ;; size=18 bbWeight=0.50 PerfScore 1.88 -G_M30446_IG12: - jmp G_M30446_IG30 +G_M30446_IG11: + jmp G_M30446_IG29 ;; size=5 bbWeight=0.50 PerfScore 1.00 -G_M30446_IG13: +G_M30446_IG12: test r14d, r14d - je G_M30446_IG36 + je G_M30446_IG35 movsx rsi, word ptr [r15] cmp r14d, 1 - jbe G_M30446_IG36 + jbe G_M30446_IG35 movsx rdx, word ptr [r15+0x02] cmp r14d, 2 - jbe G_M30446_IG36 + jbe G_M30446_IG35 movsx rcx, word ptr [r15+0x04] movzx rdi, si dec edi cmp edi, 254 - jae SHORT G_M30446_IG14 + jae SHORT G_M30446_IG13 movzx rdi, dx dec edi cmp edi, 254 - jae SHORT G_M30446_IG14 + jae SHORT G_M30446_IG13 movzx rdi, cx dec edi cmp edi, 254 - jae SHORT G_M30446_IG14 + jae SHORT G_M30446_IG13 mov rdi, rbx mov r8d, r9d mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+Negate`1[short]](byref,short,short,short,int):int call [rax]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+Negate`1[short]](byref,short,short,short,int):int - jmp SHORT G_M30446_IG15 + jmp SHORT G_M30446_IG14 ;; size=102 bbWeight=0.50 PerfScore 13.38 -G_M30446_IG14: +G_M30446_IG13: mov rdi, rbx mov r8d, r9d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,short,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,short,int):int ;; size=18 bbWeight=0.50 PerfScore 1.88 -G_M30446_IG15: - jmp G_M30446_IG30 +G_M30446_IG14: + jmp G_M30446_IG29 ;; size=5 bbWeight=0.50 PerfScore 1.00 -G_M30446_IG16: +G_M30446_IG15: test r14d, r14d - je G_M30446_IG36 + je G_M30446_IG35 movsx rsi, word ptr [r15] cmp r14d, 1 - jbe G_M30446_IG36 + jbe G_M30446_IG35 movsx rdx, word ptr [r15+0x02] cmp r14d, 2 - jbe G_M30446_IG36 + jbe G_M30446_IG35 movsx rcx, word ptr [r15+0x04] cmp r14d, 3 - jbe G_M30446_IG36 + jbe G_M30446_IG35 movsx r8, word ptr [r15+0x06] mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,short,short,int):int call [rax]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,short,short,int):int - jmp G_M30446_IG30 + jmp G_M30446_IG29 ;; size=78 bbWeight=0.50 PerfScore 13.25 -G_M30446_IG17: +G_M30446_IG16: cmp r14d, 5 - jne SHORT G_M30446_IG18 + jne SHORT G_M30446_IG17 mov dword ptr [rsp], r9d movsx r9, word ptr [r15+0x08] movsx rsi, word ptr [r15] movsx rdx, word ptr [r15+0x02] movsx rcx, word ptr [r15+0x04] movsx r8, word ptr [r15+0x06] mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,short,short,short,int):int call [rax]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+Negate`1[short]](byref,short,short,short,short,short,int):int - jmp G_M30446_IG30 + jmp G_M30446_IG29 ;; size=54 bbWeight=0.50 PerfScore 13.88 -G_M30446_IG18: +G_M30446_IG17: mov esi, r14d cmp r9d, 8 - jl G_M30446_IG26 + jl G_M30446_IG25 cmp r9d, 20 - jge SHORT G_M30446_IG19 + jge SHORT G_M30446_IG18 sar esi, 1 cmp r9d, esi - jl G_M30446_IG26 + jl G_M30446_IG25 ;; size=30 bbWeight=0.50 PerfScore 2.25 -G_M30446_IG19: +G_M30446_IG18: vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [rbp-0x70], ymm0 vmovdqu ymmword ptr [rbp-0x50], ymm0 lea rdx, bword ptr [rbp-0x70] xor edi, edi test r14d, r14d - jle SHORT G_M30446_IG21 + jle SHORT G_M30446_IG20 ;; size=25 bbWeight=0.50 PerfScore 2.17 -G_M30446_IG20: +G_M30446_IG19: movzx rsi, word ptr [r15+2*rdi] cmp esi, 127 - jg SHORT G_M30446_IG24 + jg SHORT G_M30446_IG23 mov eax, esi sar eax, 4 and esi, 15 add rsi, rdx mov ecx, 1 shlx eax, ecx, eax movzx rax, al or byte ptr [rsi], al inc edi cmp edi, r14d - jl SHORT G_M30446_IG20 + jl SHORT G_M30446_IG19 ;; size=43 bbWeight=4 PerfScore 40.00 -G_M30446_IG21: +G_M30446_IG20: movzx rdx, byte ptr [rdx] and edx, 1 vmovups xmm0, xmmword ptr [rbp-0x70] vinserti128 ymm0, ymm0, xmmword ptr [rbp-0x70], 1 vmovups ymmword ptr [rbp-0x70], ymm0 lea r15, bword ptr [rbp-0x94] test dl, 1 - jne SHORT G_M30446_IG22 + jne SHORT G_M30446_IG21 lea rdx, [rbp-0x70] mov rdi, rbx mov esi, r9d mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+Negate,System.Buffers.IndexOfAnyAsciiSearcher+Default,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int call [rax]System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+Negate,System.Buffers.IndexOfAnyAsciiSearcher+Default,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int - jmp SHORT G_M30446_IG23 + jmp SHORT G_M30446_IG22 ;; size=59 bbWeight=0.50 PerfScore 9.12 -G_M30446_IG22: +G_M30446_IG21: lea rdx, [rbp-0x70] mov rdi, rbx mov esi, r9d mov rax, 0xD1FFAB1E ; code for System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+Negate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int call [rax]System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyCore[int,System.Buffers.IndexOfAnyAsciiSearcher+Negate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle,System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[short]](byref,int,byref):int ;; size=22 bbWeight=0.50 PerfScore 2.12 -G_M30446_IG23: +G_M30446_IG22: mov dword ptr [r15], eax - jmp SHORT G_M30446_IG25 + jmp SHORT G_M30446_IG24 ;; size=5 bbWeight=0.50 PerfScore 1.50 -G_M30446_IG24: +G_M30446_IG23: xor eax, eax mov dword ptr [rbp-0x94], eax - jmp SHORT G_M30446_IG26 + jmp SHORT G_M30446_IG25 ;; size=10 bbWeight=0.50 PerfScore 1.62 -G_M30446_IG25: +G_M30446_IG24: mov eax, dword ptr [rbp-0x94] - jmp SHORT G_M30446_IG30 + jmp SHORT G_M30446_IG29 ;; size=8 bbWeight=0.50 PerfScore 1.50 -G_M30446_IG26: +G_M30446_IG25: movsxd rsi, r9d lea r13, bword ptr [rbx+2*rsi] mov r12, rbx cmp rbx, r13 - je SHORT G_M30446_IG28 + je SHORT G_M30446_IG27 ;; size=15 bbWeight=0.50 PerfScore 1.12 -G_M30446_IG27: +G_M30446_IG26: movzx rsi, word ptr [r12] movsx rsi, si mov rdi, r15 mov edx, r14d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte call [rax]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte test eax, eax - je SHORT G_M30446_IG29 + je SHORT G_M30446_IG28 add r12, 2 cmp r12, r13 - jne SHORT G_M30446_IG27 + jne SHORT G_M30446_IG26 ;; size=40 bbWeight=4 PerfScore 35.00 -G_M30446_IG28: +G_M30446_IG27: mov eax, -1 - jmp SHORT G_M30446_IG30 + jmp SHORT G_M30446_IG29 ;; size=7 bbWeight=0.50 PerfScore 1.12 -G_M30446_IG29: +G_M30446_IG28: mov rax, r12 sub rax, rbx shr rax, 1 ;; size=9 bbWeight=0.50 PerfScore 0.50 -G_M30446_IG30: +G_M30446_IG29: cmp qword ptr [rbp-0x30], 0xD1FFAB1E - je SHORT G_M30446_IG31 + je SHORT G_M30446_IG30 call CORINFO_HELP_FAIL_FAST ;; size=15 bbWeight=0.50 PerfScore 2.00 -G_M30446_IG31: +G_M30446_IG30: nop ;; size=1 bbWeight=0.50 PerfScore 0.12 -G_M30446_IG32: +G_M30446_IG31: vzeroupper add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=21 bbWeight=0.50 PerfScore 2.62 -G_M30446_IG33: +G_M30446_IG32: cmp qword ptr [rbp-0x30], 0xD1FFAB1E - je SHORT G_M30446_IG34 + je SHORT G_M30446_IG33 call CORINFO_HELP_FAIL_FAST ;; size=15 bbWeight=0.50 PerfScore 2.00 -G_M30446_IG34: +G_M30446_IG33: nop ;; size=1 bbWeight=0.50 PerfScore 0.12 -G_M30446_IG35: +G_M30446_IG34: vzeroupper add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=21 bbWeight=0.50 PerfScore 2.62 -G_M30446_IG36: +G_M30446_IG35: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 RWD00 dd G_M30446_IG05 - G_M30446_IG02 dd G_M30446_IG06 - G_M30446_IG02 dd G_M30446_IG09 - G_M30446_IG02 - dd G_M30446_IG13 - G_M30446_IG02 - dd G_M30446_IG16 - G_M30446_IG02 + dd G_M30446_IG12 - G_M30446_IG02 + dd G_M30446_IG15 - G_M30446_IG02 -; Total bytes of code 1026, prolog size 84, PerfScore 214.75, instruction count 261, allocated bytes for code 1026 (MethodHash=2b058911) for method System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) +; Total bytes of code 982, prolog size 84, PerfScore 210.50, instruction count 248, allocated bytes for code 982 (MethodHash=2b058911) for method System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) ```

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

MihuBot commented 6 months ago

@MihaZupan