Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[X64] [MihaZupan] Drop generic type constraints from Unsafe.BitCast #358

Open
MihuBot opened this issue Apr 14, 2024 · 3 comments
Open

[X64] [MihaZupan] Drop generic type constraints from Unsafe.BitCast #358

MihuBot opened this issue Apr 14, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Apr 14, 2024

Build completed in 24 minutes.
dotnet/runtime#100842

Diffs

Diffs
Found 335 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 38844463
Total bytes of diff: 38842089
Total bytes of delta: -2374 (-0.01 % of base)
Total relative delta: -36.52
    diff is an improvement.
    relative diff is an improvement.


Total byte diff includes 64 bytes from reconciling methods
	Base had    6 unique methods,       66 unique bytes
	Diff had   14 unique methods,      130 unique bytes

Top file regressions (bytes):
         387 : System.Security.Cryptography.Xml.dasm (0.18 % of base)
         319 : System.Text.RegularExpressions.dasm (0.04 % of base)
          97 : System.Data.Odbc.dasm (0.04 % of base)
          68 : System.IO.Packaging.dasm (0.07 % of base)
          55 : System.Private.DataContractSerialization.dasm (0.01 % of base)
          50 : System.Reflection.MetadataLoadContext.dasm (0.02 % of base)
          33 : System.Console.dasm (0.04 % of base)
          25 : System.Net.HttpListener.dasm (0.02 % of base)
          25 : System.Transactions.Local.dasm (0.02 % of base)
          18 : System.Net.Mail.dasm (0.01 % of base)
          15 : System.Net.Security.dasm (0.01 % of base)
          15 : System.ComponentModel.Primitives.dasm (0.09 % of base)
          11 : Microsoft.VisualBasic.Core.dasm (0.00 % of base)
           9 : Microsoft.Extensions.Diagnostics.dasm (0.05 % of base)
           8 : System.Security.Cryptography.dasm (0.00 % of base)
           6 : Microsoft.Extensions.Logging.Abstractions.dasm (0.01 % of base)
           6 : System.Reflection.Emit.dasm (0.01 % of base)
           6 : System.Diagnostics.Process.dasm (0.01 % of base)
           1 : System.Net.Primitives.dasm (0.00 % of base)

Top file improvements (bytes):
       -1768 : System.Private.CoreLib.dasm (-0.03 % of base)
        -384 : System.Net.Sockets.dasm (-0.15 % of base)
        -241 : System.Private.Uri.dasm (-0.26 % of base)
        -196 : System.Memory.dasm (-0.07 % of base)
        -151 : System.Net.Http.dasm (-0.02 % of base)
        -139 : System.Net.WebHeaderCollection.dasm (-0.95 % of base)
        -136 : System.Private.Xml.dasm (-0.00 % of base)
        -128 : System.Net.Requests.dasm (-0.09 % of base)
         -76 : System.Text.Json.dasm (-0.01 % of base)
         -74 : System.IO.Compression.dasm (-0.08 % of base)
         -59 : System.Diagnostics.DiagnosticSource.dasm (-0.03 % of base)
         -39 : System.IO.Pipes.dasm (-0.10 % of base)
         -24 : System.Net.NetworkInformation.dasm (-0.05 % of base)
         -19 : System.Data.Common.dasm (-0.00 % of base)
         -17 : Microsoft.Extensions.DependencyModel.dasm (-0.02 % of base)
         -16 : Microsoft.Extensions.Primitives.dasm (-0.06 % of base)
         -12 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base)
          -8 : System.Configuration.ConfigurationManager.dasm (-0.00 % of base)
          -8 : System.Net.WebSockets.Client.dasm (-0.03 % of base)
          -7 : System.Reflection.Metadata.dasm (-0.00 % of base)
          -5 : Microsoft.Extensions.Logging.dasm (-0.01 % of base)
          -5 : ILCompiler.Reflection.ReadyToRun.dasm (-0.00 % of base)
          -3 : Microsoft.Extensions.Configuration.dasm (-0.01 % of base)
          -3 : System.Resources.Extensions.dasm (-0.01 % of base)
          -2 : Microsoft.CSharp.dasm (-0.00 % of base)
          -2 : System.CodeDom.dasm (-0.00 % of base)
          -1 : System.Diagnostics.FileVersionInfo.dasm (-0.01 % of base)
          -1 : System.ComponentModel.Annotations.dasm (-0.00 % of base)
          -1 : System.Web.HttpUtility.dasm (-0.01 % of base)
          -1 : System.Composition.Hosting.dasm (-0.00 % of base)
          -1 : Microsoft.Extensions.Configuration.CommandLine.dasm (-0.03 % of base)
          -1 : System.Composition.Runtime.dasm (-0.01 % of base)

51 total files with Code Size differences (32 improved, 19 regressed), 205 unchanged.

Top method regressions (bytes):
         385 (24.15 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
         308 (2.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods)
         154 (5.60 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts)
          98 (5.93 % 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)
          95 (3.11 % of base) : System.Data.Odbc.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts)
          62 (7.70 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
          59 (3.34 % 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.82 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts)
          51 (3.11 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts) (2 methods)
          45 (1.52 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
          34 (4.05 % of base) : System.Console.dasm - System.Text.EncodingHelper:GetCharset():System.String (FullOpts) (2 methods)
          25 (2.22 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts)
          25 (9.88 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts)
          23 (0.95 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          22 (1.46 % of base) : System.Private.CoreLib.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          19 (7.04 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:VB6CheckPathname(Microsoft.VisualBasic.CompilerServices.AssemblyData,System.String,int):System.String (FullOpts)
          17 (2.81 % of base) : System.Net.Mail.dasm - System.Net.Mail.Message:set_Subject(System.String):this (FullOpts)
          16 (6.87 % of base) : System.Private.CoreLib.dasm - System.UInt32:System.Numerics.IBinaryInteger<System.UInt32>.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
          15 (1.85 % of base) : System.Net.Security.dasm - System.Net.NegotiateAuthenticationPal+UnixNegotiateAuthenticationPal:AcquireCredentialsHandle(System.Net.NetworkCredential):Microsoft.Win32.SafeHandles.SafeGssCredHandle:this (FullOpts)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[double,System.Nullable`1[int]](double):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,System.Nullable`1[int]](int):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[long,System.Nullable`1[int]](long):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,System.Nullable`1[int]](short):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,System.Nullable`1[int]](System.__Canon):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[ubyte,System.Nullable`1[int]](ubyte):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (0.67 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:.ctor(System.String):this (FullOpts)
          13 (2.73 % of base) : System.Net.Requests.dasm - System.Net.HttpWebRequest:set_Host(System.String):this (FullOpts)
          10 (0.57 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedData:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
          10 (2.59 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,ubyte[]):this (FullOpts)
           9 (1.26 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.ListenerSubscription:RuleMatches(Microsoft.Extensions.Diagnostics.Metrics.InstrumentRule,System.Diagnostics.Metrics.Instrument,System.String,System.Diagnostics.Metrics.IMeterFactory):ubyte (FullOpts)
           9 (2.18 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:.ctor(System.String):this (FullOpts)
           9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__Regex2_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
           9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__UnknownNodeObjectEmptyRegex_8+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
           8 (0.30 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:MatchesHostname(System.String,ubyte,ubyte):ubyte:this (FullOpts)
           8 (1.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:ScanReplacement():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods)
           8 (1.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,System.String):this (FullOpts)
           7 (7.95 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:PathContainsWildcards(System.String):ubyte (FullOpts)
           7 (5.38 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts)
           7 (5.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts)
           7 (1.53 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoName:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
           7 (1.63 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:GetIdFromLocalUri(System.String,byref):System.String (FullOpts)
           6 (1.52 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:<TryParseMapsEntry>g__TryParseAddressRange|19_0(System.String,byref,byref):System.ValueTuple`2[long,int] (FullOpts)
           6 (0.45 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:.ctor(System.String):this (FullOpts)
           6 (0.90 % of base) : System.Memory.dasm - System.Buffers.BuffersExtensions:PositionOf[short](byref,short):System.Nullable`1[System.SequencePosition] (FullOpts)
           6 (0.58 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerRequest:AddHeader(System.String):this (FullOpts)
           6 (2.23 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerReadContext:ParseQualifiedName(System.String,System.Runtime.Serialization.XmlReaderDelegator,byref,byref,byref) (FullOpts)
           6 (1.43 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:ExtractIdFromLocalUri(System.String):System.String (FullOpts)
           6 (0.29 % of base) : System.Private.CoreLib.dasm - System.Version:ParseVersion(System.ReadOnlySpan`1[ushort],ubyte):System.Version (FullOpts)
           6 (0.99 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:ParseWsdlArrayType(System.String,byref,System.Xml.Schema.XmlSchemaObject):System.Xml.XmlQualifiedName (FullOpts)
           5 (0.43 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateAndEscapeDelimiters():this (FullOpts)
           5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.Design.Serialization.DesignerSerializerAttribute:get_TypeId():System.Object:this (FullOpts)
           5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.DesignerAttribute:get_TypeId():System.Object:this (FullOpts)
           5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.EditorAttribute:get_TypeId():System.Object:this (FullOpts)
           5 (0.57 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.PropertyTabAttribute:InitializeTabClasses():this (FullOpts)
           5 (0.51 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.WarningHeaderValue:TryReadDate(System.String,byref,byref):ubyte (FullOpts)
           5 (1.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetClrNameAndNamespace(System.String,byref,byref) (FullOpts)
           5 (0.44 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseExternalId(int,int,byref,byref):this (FullOpts)
           4 (0.18 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToSlow(byref,short,short,int,ubyte):ubyte:this (FullOpts) (2 methods)
           4 (3.28 % of base) : System.Private.CoreLib.dasm - System.Enum:FindDefinedIndex[short](short[],short):int (FullOpts)
           4 (2.35 % of base) : System.Private.CoreLib.dasm - System.Enum:GetName[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
           4 (2.27 % of base) : System.Private.CoreLib.dasm - System.Enum:GetNameInlined[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
           4 (1.86 % of base) : System.Private.CoreLib.dasm - System.Enum:IsDefinedPrimitive[short](System.RuntimeType,short):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.Span`1[short],short):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (12.90 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (3.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:IsReservedUnreservedOrHash(ushort):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidAttributeValue(System.String):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidTag(System.String):ubyte (FullOpts)
           4 (4.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:Unescape(System.String):System.String (FullOpts)
           3 (0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[double](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
           3 (0.27 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[int](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
           3 (0.27 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[long](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
           3 (0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[short](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
           3 (0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[ubyte](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts)
           3 (0.81 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:ParseTypeAndSubType(System.ReadOnlySpan`1[ushort]):this (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short,short):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (0.44 % of base) : System.Net.Primitives.dasm - System.Net.CookieContainer:IsLocalDomain(System.String):ubyte:this (FullOpts)
           3 (0.31 % of base) : System.Net.Requests.dasm - System.Net.FtpWebRequest:.ctor(System.Uri):this (FullOpts)
           3 (0.13 % of base) : System.Net.Http.dasm - System.Net.Http.HttpEnvironmentProxy:GetUriFromString(System.String):System.Uri (FullOpts)
           3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods)

Top method improvements (bytes):
        -384 (-100.00 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts) (0 base, 1 diff methods)
        -128 (-16.91 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts)
         -99 (-6.75 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAny(byref,System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) (2 methods)
         -78 (-45.09 % of base) : System.Private.Xml.dasm - System.Xml.XmlDeclaration:IsValidXmlVersion(System.String):ubyte (FullOpts)
         -75 (-4.79 % of base) : System.Text.Json.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F2E36BBCB46D79A0BB144867AC899FDD2263642E5E752DEC0C254D0564F94D450__CreateIntegerRegex_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -74 (-38.14 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipHelper:GetEncoding(System.String):System.Text.Encoding (FullOpts)
         -72 (-26.97 % of base) : System.Private.CoreLib.dasm - System.Buffers.StringSearchValues:ContainsIncompleteSurrogatePairs(System.ReadOnlySpan`1[System.String]):ubyte (FullOpts)
         -72 (-45.28 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:IsValidToken(System.String):ubyte (FullOpts)
         -70 (-55.56 % of base) : System.Net.WebHeaderCollection.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts)
         -70 (-55.56 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts)
         -70 (-44.30 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharType:IsOnlyDigits(System.String,int,int):ubyte (FullOpts)
         -69 (-2.71 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__EnsureArrayIndexRegex_5+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -68 (-19.26 % of base) : System.Net.WebHeaderCollection.dasm - System.Net.HttpValidationHelpers:CheckBadHeaderNameChars(System.String):System.String (FullOpts)
         -68 (-8.97 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__ParamsReadRegex_11+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -67 (-14.44 % of base) : System.Private.Uri.dasm - System.UriHelper:StripBidiControlCharacters(System.ReadOnlySpan`1[ushort],System.String):System.String (FullOpts)
         -64 (-11.15 % of base) : System.Private.Uri.dasm - System.DomainNameHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts)
         -64 (-37.21 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+StringParser:NextNonDigit():ushort:this (FullOpts)
         -63 (-20.32 % of base) : System.Private.CoreLib.dasm - System.Environment:FindAndParseNextNumber(System.String,byref):int (FullOpts)
         -62 (-2.46 % of base) : System.Private.Uri.dasm - System.Uri:CheckAuthorityHelper(ulong,int,int,byref,byref,System.UriParser,byref):int:this (FullOpts)
         -60 (-15.15 % of base) : System.Private.CoreLib.dasm - System.Globalization.TextInfo:ToLowerAsciiInvariant(System.String):System.String (FullOpts)
         -60 (-10.05 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+StringParser:TryParse(System.ReadOnlySpan`1[ushort],byref):ubyte:this (FullOpts)
         -55 (-2.25 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAnyInternal(byref,System.ReadOnlySpan`1[short],ubyte,int):ubyte:this (FullOpts)
         -53 (-4.75 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryAdvanceToAny(System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts)
         -46 (-1.50 % of base) : System.Private.Uri.dasm - System.Uri:CombineUri(System.Uri,System.String,int):System.String (FullOpts)
         -45 (-1.90 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:AddNewActivitySourceTransform(System.String,int,int,System.Diagnostics.DiagnosticSourceEventSource) (FullOpts)
         -44 (-4.29 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -40 (-33.90 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts)
         -39 (-4.29 % of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:GetPipePath(System.String,System.String):System.String (FullOpts)
         -39 (-4.25 % of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[],int,int):int:this (FullOpts)
         -38 (-4.24 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts)
         -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts)
         -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts)
         -36 (-4.53 % of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[]):int:this (FullOpts)
         -33 (-3.78 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -32 (-3.55 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts)
         -32 (-1.59 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__Regex1_3+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         -31 (-1.72 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDecryptionTransform:GetInnerXml():System.Xml.XmlNodeList:this (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.Span`1[double],double,double):ubyte (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.Span`1[double],double,double):ubyte (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts)
         -23 (-3.97 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseWinsServerAddressesFromSmbConfFile(System.String):System.Collections.Generic.List`1[System.Net.IPAddress] (FullOpts)
         -20 (-4.02 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateDelimiters(System.String[]):this (FullOpts)
         -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts)
         -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[short](System.Span`1[short],short,short):ubyte (FullOpts)
         -20 (-19.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[short](System.Span`1[short],short,short):int (FullOpts)
         -20 (-19.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[short](System.Span`1[short],short,short):int (FullOpts)
         -18 (-1.16 % of base) : System.Data.Common.dasm - System.Data.DataViewManager:set_DataViewSettingCollectionString(System.String):this (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.Span`1[int],int,int):ubyte (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.Span`1[int],int,int):ubyte (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -17 (-8.21 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.Serialization.RootDesignerSerializerAttribute:get_TypeId():System.Object:this (FullOpts)
         -17 (-54.84 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[short](System.Span`1[short],short,short):int (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[short](System.Span`1[short],short,short):int (FullOpts)
         -15 (-1.63 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:WriteAssemblyInfo(System.Type):System.String:this (FullOpts)
         -14 (-2.79 % of base) : System.Private.CoreLib.dasm - System.Environment:get_Version():System.Version (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-1.95 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.AltSvcHeaderParser:TryReadQuotedValue(System.ReadOnlySpan`1[ushort],byref):ubyte (FullOpts)
         -14 (-50.00 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts)
         -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,long](int):long (FullOpts) (1 base, 0 diff methods)
         -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,long](short):long (FullOpts) (1 base, 0 diff methods)

Top method regressions (percentages):
           3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[int](int):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[long](long):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[short](short):ubyte (FullOpts) (0 base, 1 diff methods)
           3 (Infinity 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 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[ubyte](ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[double,System.Nullable`1[int]](double):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,System.Nullable`1[int]](int):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[long,System.Nullable`1[int]](long):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,System.Nullable`1[int]](short):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,System.Nullable`1[int]](System.__Canon):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[ubyte,System.Nullable`1[int]](ubyte):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods)
         385 (24.15 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
          56 (15.82 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
           4 (12.90 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
           4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
          25 (9.88 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts)
           3 (8.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short,short):int (FullOpts)
           7 (7.95 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:PathContainsWildcards(System.String):ubyte (FullOpts)
          62 (7.70 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.Span`1[short],short):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidAttributeValue(System.String):ubyte (FullOpts)
           4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidTag(System.String):ubyte (FullOpts)
          19 (7.04 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:VB6CheckPathname(Microsoft.VisualBasic.CompilerServices.AssemblyData,System.String,int):System.String (FullOpts)
          16 (6.87 % of base) : System.Private.CoreLib.dasm - System.UInt32:System.Numerics.IBinaryInteger<System.UInt32>.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
          98 (5.93 % 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)
         154 (5.60 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts)
           7 (5.38 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts)
           7 (5.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts)
           4 (4.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:Unescape(System.String):System.String (FullOpts)
          34 (4.05 % of base) : System.Console.dasm - System.Text.EncodingHelper:GetCharset():System.String (FullOpts) (2 methods)
           2 (3.92 % of base) : System.Data.Common.dasm - System.Data.Common.DbConnectionOptions:IsValueValidInternal(System.String):ubyte (FullOpts)
           2 (3.92 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:IsValueValidInternal(System.String):ubyte (FullOpts)
           4 (3.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:IsReservedUnreservedOrHash(ushort):ubyte (FullOpts)
          59 (3.34 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts)
           4 (3.28 % of base) : System.Private.CoreLib.dasm - System.Enum:FindDefinedIndex[short](short[],short):int (FullOpts)
          51 (3.11 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts) (2 methods)
          95 (3.11 % of base) : System.Data.Odbc.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts)
          17 (2.81 % of base) : System.Net.Mail.dasm - System.Net.Mail.Message:set_Subject(System.String):this (FullOpts)
          13 (2.73 % of base) : System.Net.Requests.dasm - System.Net.HttpWebRequest:set_Host(System.String):this (FullOpts)
         308 (2.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods)
          10 (2.59 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,ubyte[]):this (FullOpts)
           4 (2.35 % of base) : System.Private.CoreLib.dasm - System.Enum:GetName[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
           4 (2.27 % of base) : System.Private.CoreLib.dasm - System.Enum:GetNameInlined[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
           6 (2.23 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerReadContext:ParseQualifiedName(System.String,System.Runtime.Serialization.XmlReaderDelegator,byref,byref,byref) (FullOpts)
          25 (2.22 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts)
           9 (2.18 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:.ctor(System.String):this (FullOpts)
           5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.Design.Serialization.DesignerSerializerAttribute:get_TypeId():System.Object:this (FullOpts)
           5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.DesignerAttribute:get_TypeId():System.Object:this (FullOpts)
           5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.EditorAttribute:get_TypeId():System.Object:this (FullOpts)
           4 (1.86 % of base) : System.Private.CoreLib.dasm - System.Enum:IsDefinedPrimitive[short](System.RuntimeType,short):ubyte (FullOpts)
          15 (1.85 % of base) : System.Net.Security.dasm - System.Net.NegotiateAuthenticationPal+UnixNegotiateAuthenticationPal:AcquireCredentialsHandle(System.Net.NetworkCredential):Microsoft.Win32.SafeHandles.SafeGssCredHandle:this (FullOpts)
           2 (1.77 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.Statics:CheckName(System.String) (FullOpts)
           7 (1.63 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:GetIdFromLocalUri(System.String,byref):System.String (FullOpts)
           7 (1.53 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoName:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
          45 (1.52 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
           6 (1.52 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:<TryParseMapsEntry>g__TryParseAddressRange|19_0(System.String,byref,byref):System.ValueTuple`2[long,int] (FullOpts)
          22 (1.46 % of base) : System.Private.CoreLib.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
           6 (1.43 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:ExtractIdFromLocalUri(System.String):System.String (FullOpts)
           8 (1.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,System.String):this (FullOpts)
           8 (1.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:ScanReplacement():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods)
           2 (1.29 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:GetNextHandle(System.Reflection.Metadata.StringHandle):System.Reflection.Metadata.StringHandle:this (FullOpts)
           9 (1.26 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.ListenerSubscription:RuleMatches(Microsoft.Extensions.Diagnostics.Metrics.InstrumentRule,System.Diagnostics.Metrics.Instrument,System.String,System.Diagnostics.Metrics.IMeterFactory):ubyte (FullOpts)
           5 (1.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetClrNameAndNamespace(System.String,byref,byref) (FullOpts)
           2 (1.11 % of base) : System.Private.CoreLib.dasm - System.Byte:System.Numerics.IBinaryInteger<System.Byte>.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
           2 (1.08 % of base) : System.Private.CoreLib.dasm - System.Byte:System.Numerics.IBinaryInteger<System.Byte>.TryReadLittleEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
           2 (1.06 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataReaderExtensions:GetNextHandle(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.StringHandle):System.Reflection.Metadata.StringHandle (FullOpts)
           6 (0.99 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:ParseWsdlArrayType(System.String,byref,System.Xml.Schema.XmlSchemaObject):System.Xml.XmlQualifiedName (FullOpts)
          23 (0.95 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
           2 (0.95 % of base) : System.Private.CoreLib.dasm - System.Char:System.Numerics.IBinaryInteger<System.Char>.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
           2 (0.95 % of base) : System.Private.CoreLib.dasm - System.UInt16:System.Numerics.IBinaryInteger<System.UInt16>.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
           2 (0.94 % of base) : System.Private.CoreLib.dasm - System.Char:System.Numerics.IBinaryInteger<System.Char>.TryReadLittleEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
           2 (0.94 % of base) : System.Private.CoreLib.dasm - System.UInt16:System.Numerics.IBinaryInteger<System.UInt16>.TryReadLittleEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
           6 (0.90 % of base) : System.Memory.dasm - System.Buffers.BuffersExtensions:PositionOf[short](byref,short):System.Nullable`1[System.SequencePosition] (FullOpts)
           9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__UnknownNodeObjectEmptyRegex_8+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
           9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__Regex2_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
           3 (0.81 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:ParseTypeAndSubType(System.ReadOnlySpan`1[ushort]):this (FullOpts)
           2 (0.69 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.Numerics.IBinaryInteger<System.UInt128>.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts)
          14 (0.67 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:.ctor(System.String):this (FullOpts)
           2 (0.64 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:SkipMultiLineComment(System.ReadOnlySpan`1[ubyte],byref):ubyte:this (FullOpts)

Top method improvements (percentages):
        -384 (-100.00 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts) (0 base, 1 diff methods)
          -6 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[double,long](double):long (FullOpts) (1 base, 0 diff methods)
         -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,long](int):long (FullOpts) (1 base, 0 diff methods)
          -4 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[long,long](long):long (FullOpts) (1 base, 0 diff methods)
         -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,long](short):long (FullOpts) (1 base, 0 diff methods)
         -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Numerics.Vector`1[float],long](System.Numerics.Vector`1[float]):long (FullOpts) (1 base, 0 diff methods)
         -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[ubyte,long](ubyte):long (FullOpts) (1 base, 0 diff methods)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts)
         -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.Span`1[double],double,double):ubyte (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts)
         -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.Span`1[double],double,double):ubyte (FullOpts)
         -70 (-55.56 % of base) : System.Net.WebHeaderCollection.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts)
         -70 (-55.56 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts)
         -17 (-54.84 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts)
         -14 (-50.00 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts)
         -13 (-48.15 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.__Canon](System.__Canon):ubyte (FullOpts)
         -13 (-48.15 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Nullable`1[int]](System.Nullable`1[int]):ubyte (FullOpts)
         -72 (-45.28 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:IsValidToken(System.String):ubyte (FullOpts)
         -78 (-45.09 % of base) : System.Private.Xml.dasm - System.Xml.XmlDeclaration:IsValidXmlVersion(System.String):ubyte (FullOpts)
         -70 (-44.30 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharType:IsOnlyDigits(System.String,int,int):ubyte (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts)
         -74 (-38.14 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipHelper:GetEncoding(System.String):System.Text.Encoding (FullOpts)
         -64 (-37.21 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+StringParser:NextNonDigit():ushort:this (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.Span`1[int],int,int):ubyte (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts)
         -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.Span`1[int],int,int):ubyte (FullOpts)
         -40 (-33.90 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts)
         -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[short](System.Span`1[short],short,short):int (FullOpts)
         -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[short](System.Span`1[short],short,short):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[double](byref,double,int):ubyte (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[int](byref,int,int):ubyte (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[long](byref,long,int):ubyte (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,double,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,long,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,double,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,long,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[double](byref,double,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[int](byref,int,int):int (FullOpts)
          -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[long](byref,long,int):int (FullOpts)
         -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts)
         -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts)
         -72 (-26.97 % of base) : System.Private.CoreLib.dasm - System.Buffers.StringSearchValues:ContainsIncompleteSurrogatePairs(System.ReadOnlySpan`1[System.String]):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts)
         -12 (-26.67 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -12 (-26.67 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
          -5 (-26.32 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts)
         -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
         -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
         -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
         -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts)
          -6 (-26.09 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[ubyte](byref,ubyte,int):ubyte (FullOpts)
          -6 (-26.09 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,int):int (FullOpts)
          -6 (-26.09 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[ubyte](byref,ubyte,int):int (FullOpts)
          -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptInRangeUnsignedNumber[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyInRangeUnsignedNumber[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts)
          -4 (-22.22 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[long](long):ubyte (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts)
         -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts)

391 total methods with Code Size differences (259 improved, 132 regressed), 239441 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Apr 14, 2024

Top method regressions

385 (24.15 % of base) - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
 ; Assembly listing for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (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; 34 single block inlinees; 24 inlinees without PGO data
+; 0 inlinees with PGO data; 44 single block inlinees; 32 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T12] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Security.Cryptography.Xml.RSAKeyValue>
+;  V00 this         [V00,T14] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Security.Cryptography.Xml.RSAKeyValue>
 ;  V01 arg1         [V01,T00] ( 11, 11   )     ref  ->  rbx         class-hnd single-def <System.Xml.XmlDocument>
 ;  V02 loc0         [V02    ] (  3,  3   )  struct (64) [rbp-0x68]  do-not-enreg[XS] must-init addr-exposed <System.Security.Cryptography.RSAParameters>
-;  V03 loc1         [V03,T13] (  4,  4   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlElement>
-;  V04 loc2         [V04,T09] (  5,  5   )     ref  ->  r13         class-hnd single-def <System.Xml.XmlElement>
-;  V05 loc3         [V05,T14] (  4,  4   )     ref  ->  [rbp-0xA8]  class-hnd spill-single-def <System.Xml.XmlElement>
-;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Xml.XmlElement>
+;  V03 loc1         [V03,T15] (  4,  4   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlElement>
+;  V04 loc2         [V04,T11] (  5,  5   )     ref  ->  r13         class-hnd single-def <System.Xml.XmlElement>
+;  V05 loc3         [V05,T16] (  4,  4   )     ref  ->  [rbp-0xA8]  class-hnd spill-single-def <System.Xml.XmlElement>
+;  V06 loc4         [V06,T17] (  4,  4   )     ref  ->  r15         class-hnd single-def <System.Xml.XmlElement>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
-;  V09 tmp2         [V09,T40] (  3,  2   )     ref  ->  r13         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;  V10 tmp3         [V10,T41] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;  V09 tmp2         [V09,T48] (  3,  2   )     ref  ->  r13         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;  V10 tmp3         [V10,T49] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
 ;* V11 tmp4         [V11    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp6         [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V14 tmp7         [V14,T03] ( 10,  5.50)     int  ->  r14         "Inline return value spill temp"
-;  V15 tmp8         [V15,T16] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
-;* V16 tmp9         [V16,T58] (  0,  0   )   short  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V17 tmp10        [V17    ] (  0,  0   )   short  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V18 tmp11        [V18    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V19 tmp12        [V19,T61] (  3,  1.50)     ref  ->  r13         class-hnd "Inline return value spill temp" <System.String>
-;* V20 tmp13        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V21 tmp14        [V21,T31] (  4,  2   )     ref  ->  r13         class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V22 tmp15        [V22,T64] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
-;  V23 tmp16        [V23,T46] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V24 tmp17        [V24,T47] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;* V25 tmp18        [V25    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V26 tmp19        [V26,T32] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
-;  V27 tmp20        [V27,T06] (  6,  5   )     int  ->  r14         "Inlining Arg"
-;  V28 tmp21        [V28,T28] (  5,  2   )     int  ->  r12         single-def "Inline stloc first use temp"
-;* V29 tmp22        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V30 tmp23        [V30,T33] (  4,  2   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-;  V31 tmp24        [V31,T65] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
-;  V32 tmp25        [V32,T48] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V33 tmp26        [V33,T49] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
-;* V34 tmp27        [V34    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V35 tmp28        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
-;  V36 tmp29        [V36,T42] (  3,  2   )     ref  ->  [rbp-0xB8]  ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;  V37 tmp30        [V37,T43] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;* V38 tmp31        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;* V39 tmp32        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V40 tmp33        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V41 tmp34        [V41,T04] ( 10,  5.50)     int  ->  [rbp-0x6C]  spill-single-def "Inline return value spill temp"
-;  V42 tmp35        [V42,T17] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
-;* V43 tmp36        [V43,T59] (  0,  0   )   short  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V44 tmp37        [V44    ] (  0,  0   )   short  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V45 tmp38        [V45    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V46 tmp39        [V46,T62] (  3,  1.50)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.String>
-;* V47 tmp40        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V48 tmp41        [V48,T34] (  4,  2   )     ref  ->  [rbp-0xC0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-;  V49 tmp42        [V49,T66] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
-;  V50 tmp43        [V50,T50] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V51 tmp44        [V51,T51] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;* V52 tmp45        [V52    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V53 tmp46        [V53,T35] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
-;  V54 tmp47        [V54,T07] (  6,  5   )     int  ->  [rbp-0x70]  spill-single-def "Inlining Arg"
-;  V55 tmp48        [V55,T29] (  5,  2   )     int  ->  [rbp-0x74]  spill-single-def "Inline stloc first use temp"
-;* V56 tmp49        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V57 tmp50        [V57,T36] (  4,  2   )     ref  ->  [rbp-0xC8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-;  V58 tmp51        [V58,T67] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
-;  V59 tmp52        [V59,T52] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V60 tmp53        [V60,T53] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
-;* V61 tmp54        [V61    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V62 tmp55        [V62    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
-;  V63 tmp56        [V63,T44] (  3,  2   )     ref  ->  [rbp-0xD0]  ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;  V64 tmp57        [V64,T45] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;* V65 tmp58        [V65    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V67 tmp60        [V67    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp61        [V68,T05] ( 10,  5.50)     int  ->  [rbp-0x78]  spill-single-def "Inline return value spill temp"
-;  V69 tmp62        [V69,T18] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
-;* V70 tmp63        [V70,T60] (  0,  0   )   short  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V71 tmp64        [V71    ] (  0,  0   )   short  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V72 tmp65        [V72    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V73 tmp66        [V73,T63] (  3,  1.50)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.String>
+;  V14 tmp7         [V14,T03] ( 10,  5.50)     int  ->  r14         single-def "Inline return value spill temp"
+;  V15 tmp8         [V15,T18] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V16 tmp9         [V16,T72] (  3,  1.50)     ref  ->  r13         class-hnd "Inline return value spill temp" <System.String>
+;* V17 tmp10        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V18 tmp11        [V18,T36] (  4,  2   )     ref  ->  r13         class-hnd exact single-def "Inline stloc first use temp" <System.String>
+;  V19 tmp12        [V19,T76] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
+;  V20 tmp13        [V20,T56] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V21 tmp14        [V21,T57] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;* V22 tmp15        [V22    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V23 tmp16        [V23,T37] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
+;  V24 tmp17        [V24,T07] (  6,  5   )     int  ->  r14         "Inlining Arg"
+;  V25 tmp18        [V25,T32] (  5,  2   )     int  ->  r12         single-def "Inline stloc first use temp"
+;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V27 tmp20        [V27,T38] (  4,  2   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V28 tmp21        [V28,T77] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
+;  V29 tmp22        [V29,T58] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V30 tmp23        [V30,T59] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;* V31 tmp24        [V31    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V32 tmp25        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
+;  V33 tmp26        [V33,T50] (  3,  2   )     ref  ->  [rbp-0xB8]  ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;  V34 tmp27        [V34,T51] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V35 tmp28        [V35    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
+;* V36 tmp29        [V36    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V37 tmp30        [V37    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V38 tmp31        [V38,T04] ( 10,  5.50)     int  ->  [rbp-0x6C]  spill-single-def "Inline return value spill temp"
+;  V39 tmp32        [V39,T19] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V40 tmp33        [V40,T73] (  3,  1.50)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.String>
+;* V41 tmp34        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V42 tmp35        [V42,T39] (  4,  2   )     ref  ->  [rbp-0xC0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V43 tmp36        [V43,T78] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
+;  V44 tmp37        [V44,T60] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V45 tmp38        [V45,T61] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;* V46 tmp39        [V46    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V47 tmp40        [V47,T40] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
+;  V48 tmp41        [V48,T08] (  6,  5   )     int  ->  [rbp-0x70]  spill-single-def "Inlining Arg"
+;  V49 tmp42        [V49,T33] (  5,  2   )     int  ->  [rbp-0x74]  spill-single-def "Inline stloc first use temp"
+;* V50 tmp43        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V51 tmp44        [V51,T41] (  4,  2   )     ref  ->  [rbp-0xC8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V52 tmp45        [V52,T79] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
+;  V53 tmp46        [V53,T62] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V54 tmp47        [V54,T63] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;* V55 tmp48        [V55    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V56 tmp49        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
+;  V57 tmp50        [V57,T52] (  3,  2   )     ref  ->  [rbp-0xD0]  ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;  V58 tmp51        [V58,T53] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V59 tmp52        [V59    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
+;* V60 tmp53        [V60    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V61 tmp54        [V61    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V62 tmp55        [V62,T05] ( 10,  5.50)     int  ->  [rbp-0x78]  spill-single-def "Inline return value spill temp"
+;  V63 tmp56        [V63,T20] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V64 tmp57        [V64,T74] (  3,  1.50)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.String>
+;* V65 tmp58        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V66 tmp59        [V66,T42] (  4,  2   )     ref  ->  [rbp-0xD8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V67 tmp60        [V67,T80] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
+;  V68 tmp61        [V68,T64] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V69 tmp62        [V69,T65] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;* V70 tmp63        [V70    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V71 tmp64        [V71,T43] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
+;  V72 tmp65        [V72,T09] (  6,  5   )     int  ->  [rbp-0x7C]  spill-single-def "Inlining Arg"
+;  V73 tmp66        [V73,T34] (  5,  2   )     int  ->  [rbp-0x80]  spill-single-def "Inline stloc first use temp"
 ;* V74 tmp67        [V74    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V75 tmp68        [V75,T37] (  4,  2   )     ref  ->  [rbp-0xD8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-;  V76 tmp69        [V76,T68] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
-;  V77 tmp70        [V77,T54] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V78 tmp71        [V78,T55] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V75 tmp68        [V75,T44] (  4,  2   )     ref  ->  [rbp-0xE0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V76 tmp69        [V76,T81] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
+;  V77 tmp70        [V77,T66] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V78 tmp71        [V78,T67] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
 ;* V79 tmp72        [V79    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V80 tmp73        [V80,T38] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
-;  V81 tmp74        [V81,T08] (  6,  5   )     int  ->  [rbp-0x7C]  spill-single-def "Inlining Arg"
-;  V82 tmp75        [V82,T30] (  5,  2   )     int  ->  [rbp-0x80]  spill-single-def "Inline stloc first use temp"
-;* V83 tmp76        [V83    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V84 tmp77        [V84,T39] (  4,  2   )     ref  ->  [rbp-0xE0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-;  V85 tmp78        [V85,T69] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
-;  V86 tmp79        [V86,T56] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V87 tmp80        [V87,T57] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
-;* V88 tmp81        [V88    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V89 tmp82        [V89,T15] (  4,  4   )     ref  ->  r15         class-hnd single-def "Inline return value spill temp" <System.Xml.XmlElement>
-;  V90 tmp83        [V90    ] (  3,  3   )     ref  ->  [rbp-0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;  V91 tmp84        [V91    ] (  3,  3   )     ref  ->  [rbp-0x90]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;  V92 tmp85        [V92,T02] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
-;  V93 tmp86        [V93,T70] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V94 tmp87        [V94,T71] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V95 tmp88        [V95,T72] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V96 tmp89        [V96,T73] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V97 tmp90        [V97,T74] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V98 tmp91        [V98,T75] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V99 tmp92        [V99,T19] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V100 tmp93       [V100,T20] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V101 tmp94       [V101,T21] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V102 tmp95       [V102,T22] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V103 cse0        [V103,T11] (  5,  5   )    long  ->  r15         "CSE #08: moderate"
-;  V104 cse1        [V104,T26] (  3,  3   )    long  ->  [rbp-0x98]  spill-single-def "CSE #11: moderate"
-;  V105 cse2        [V105,T27] (  3,  3   )    long  ->  [rbp-0xA0]  spill-single-def "CSE #13: moderate"
-;  V106 cse3        [V106,T23] (  4,  3   )   byref  ->  r15         "CSE #03: moderate"
-;  V107 cse4        [V107,T24] (  4,  3   )   byref  ->  r13         "CSE #05: moderate"
-;  V108 cse5        [V108,T25] (  4,  3   )   byref  ->  [rbp-0xE8]  spill-single-def "CSE #10: moderate"
-;  V109 cse6        [V109,T10] (  5,  5   )     ref  ->  r12         "CSE #06: moderate"
-;  V110 cse7        [V110,T01] ( 12,  6   )     ref  ->  registers   multi-def "CSE #02: aggressive"
+;* V80 tmp73        [V80    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
+;  V81 tmp74        [V81,T54] (  3,  2   )     ref  ->  [rbp-0xE8]  ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;  V82 tmp75        [V82,T55] (  3,  2   )     ref  ->  rdx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V83 tmp76        [V83    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
+;* V84 tmp77        [V84    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V85 tmp78        [V85    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V86 tmp79        [V86,T06] ( 10,  5.50)     int  ->  [rbp-0x84]  spill-single-def "Inline return value spill temp"
+;  V87 tmp80        [V87,T21] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V88 tmp81        [V88,T75] (  3,  1.50)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.String>
+;* V89 tmp82        [V89    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V90 tmp83        [V90,T45] (  4,  2   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V91 tmp84        [V91,T82] (  2,  1   )    long  ->  rdx         single-def "Inline stloc first use temp"
+;  V92 tmp85        [V92,T68] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V93 tmp86        [V93,T69] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;* V94 tmp87        [V94    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V95 tmp88        [V95,T46] (  4,  2   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.String>
+;  V96 tmp89        [V96,T10] (  6,  5   )     int  ->  [rbp-0x88]  spill-single-def "Inlining Arg"
+;  V97 tmp90        [V97,T35] (  5,  2   )     int  ->  [rbp-0x8C]  spill-single-def "Inline stloc first use temp"
+;* V98 tmp91        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;  V99 tmp92        [V99,T47] (  4,  2   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V100 tmp93       [V100,T83] (  2,  1   )    long  ->  rdi         single-def "Inline stloc first use temp"
+;  V101 tmp94       [V101,T70] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V102 tmp95       [V102,T71] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;* V103 tmp96       [V103    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V104 tmp97       [V104,T02] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V105 tmp98       [V105,T84] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V106 tmp99       [V106,T85] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V107 tmp100      [V107,T86] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V108 tmp101      [V108,T87] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V109 tmp102      [V109,T88] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V110 tmp103      [V110,T89] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V111 tmp104      [V111,T22] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V112 tmp105      [V112,T23] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V113 tmp106      [V113,T90] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V114 tmp107      [V114,T91] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V115 tmp108      [V115,T24] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V116 tmp109      [V116,T25] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V117 cse0        [V117,T13] (  5,  5   )    long  ->  r15         "CSE #08: moderate"
+;  V118 cse1        [V118,T30] (  3,  3   )    long  ->  [rbp-0x98]  spill-single-def "CSE #13: moderate"
+;  V119 cse2        [V119,T31] (  3,  3   )    long  ->  [rbp-0xA0]  spill-single-def "CSE #15: moderate"
+;  V120 cse3        [V120,T26] (  4,  3   )   byref  ->  r15         "CSE #03: moderate"
+;  V121 cse4        [V121,T27] (  4,  3   )   byref  ->  r13         "CSE #05: moderate"
+;  V122 cse5        [V122,T28] (  4,  3   )   byref  ->  [rbp-0x100]  spill-single-def "CSE #10: moderate"
+;  V123 cse6        [V123,T29] (  4,  3   )   byref  ->  [rbp-0x108]  spill-single-def "CSE #12: moderate"
+;  V124 cse7        [V124,T12] (  5,  5   )     ref  ->  r12         "CSE #06: moderate"
+;  V125 cse8        [V125,T01] ( 16,  8   )     ref  ->  registers   multi-def "CSE #02: aggressive"
 ;
-; Lcl frame size = 200
+; Lcl frame size = 232
 
 G_M26937_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 200
-       lea      rbp, [rsp+0xF0]
-       vxorps   xmm8, xmm8, xmm8
-       vmovdqu  ymmword ptr [rbp-0x90], ymm8
-       vmovdqu  ymmword ptr [rbp-0x70], ymm8
-       vmovdqu  ymmword ptr [rbp-0x50], ymm8
+       sub      rsp, 232
+       lea      rbp, [rsp+0x110]
        xor      eax, eax
+       mov      qword ptr [rbp-0x68], rax
+       vxorps   xmm8, xmm8, xmm8
+       vmovdqu  ymmword ptr [rbp-0x60], ymm8
+       vmovdqa  xmmword ptr [rbp-0x40], xmm8
        mov      qword ptr [rbp-0x30], rax
        mov      rbx, rsi
-						;; size=57 bbWeight=1 PerfScore 14.58
+						;; size=53 bbWeight=1 PerfScore 13.58
 G_M26937_IG02:
        mov      rdi, gword ptr [rdi+0x08]
        lea      rsi, [rbp-0x68]
        xor      edx, edx
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x20]System.Security.Cryptography.RSA:ExportParameters(ubyte):System.Security.Cryptography.RSAParameters:this
        cmp      byte  ptr [rbx], bl
        mov      r15, 0xD1FFAB1E
        mov      rdi, r15
        mov      esi, 58
        mov      edx, 8
        mov      rax, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        mov      r14d, eax
        cmp      r14d, -1
        je       SHORT G_M26937_IG04
 						;; size=66 bbWeight=1 PerfScore 18.50
 G_M26937_IG03:
        test     r14d, r14d
        je       SHORT G_M26937_IG04
        cmp      r14d, 7
        jne      SHORT G_M26937_IG05
 						;; size=11 bbWeight=0.50 PerfScore 1.25
 G_M26937_IG04:
        mov      r13, 0xD1FFAB1E      ; ''
        mov      rdx, 0xD1FFAB1E      ; 'KeyValue'
        jmp      G_M26937_IG10
 						;; size=25 bbWeight=0.50 PerfScore 1.25
 G_M26937_IG05:
        cmp      r14d, 8
-       ja       G_M26937_IG30
+       ja       G_M26937_IG37
        cmp      r14d, 8
        jne      SHORT G_M26937_IG06
        mov      r13, 0xD1FFAB1E      ; 'KeyValue'
        jmp      SHORT G_M26937_IG07
 						;; size=28 bbWeight=0.50 PerfScore 2.38
 G_M26937_IG06:
        mov      edi, r14d
        call     System.String:FastAllocateString(int):System.String
        mov      r13, rax
        mov      edx, r14d
        cmp      byte  ptr [r13], r13b
        lea      rdi, bword ptr [r13+0x0C]
        mov      rsi, r15
        add      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
 						;; size=40 bbWeight=0.50 PerfScore 4.50
 G_M26937_IG07:
        inc      r14d
        jne      SHORT G_M26937_IG08
        mov      rdx, 0xD1FFAB1E      ; 'KeyValue'
        jmp      SHORT G_M26937_IG10
 						;; size=17 bbWeight=0.50 PerfScore 1.75
 G_M26937_IG08:
        mov      r12d, r14d
        neg      r12d
        add      r12d, 8
        jne      SHORT G_M26937_IG09
        mov      rdx, 0xD1FFAB1E      ; ''
        jmp      SHORT G_M26937_IG10
 						;; size=24 bbWeight=0.50 PerfScore 2.00
 G_M26937_IG09:
        cmp      r14d, 8
-       ja       G_M26937_IG31
+       ja       G_M26937_IG38
        mov      edi, r12d
        call     System.String:FastAllocateString(int):System.String
        mov      rdx, rax
        mov      gword ptr [rbp-0xB0], rdx
        mov      edi, r12d
        cmp      byte  ptr [rdx], dl
        lea      rsi, bword ptr [rdx+0x0C]
        mov      eax, r14d
        lea      rax, bword ptr [r15+2*rax]
        lea      rdx, [rdi+rdi]
        mov      rdi, rsi
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      r14, gword ptr [rbp-0xB0]
        mov      rdx, r14
 						;; size=76 bbWeight=0.50 PerfScore 6.88
 G_M26937_IG10:
        mov      rdi, rbx
        mov      rsi, r13
        mov      r12, 0xD1FFAB1E      ; 'http://www.w3.org/2000/09/xmldsig#'
        mov      rcx, r12
        mov      rax, qword ptr [rbx]
        mov      r15, qword ptr [rax+0x98]
        call     [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
        mov      r14, rax
        mov      r13, 0xD1FFAB1E
        mov      rdi, r13
        mov      esi, 58
        mov      edx, 11
        mov      rax, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        mov      dword ptr [rbp-0x6C], eax
        cmp      eax, -1
        je       SHORT G_M26937_IG12
 						;; size=79 bbWeight=1 PerfScore 14.75
 G_M26937_IG11:
        test     eax, eax
        je       SHORT G_M26937_IG12
        cmp      eax, 10
        jne      SHORT G_M26937_IG13
 						;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M26937_IG12:
        mov      rdx, 0xD1FFAB1E      ; ''
        mov      r13, rdx
        mov      rdx, 0xD1FFAB1E      ; 'RSAKeyValue'
        jmp      G_M26937_IG19
 						;; size=28 bbWeight=0.50 PerfScore 1.38
 G_M26937_IG13:
        cmp      eax, 11
-       ja       G_M26937_IG32
+       ja       G_M26937_IG39
        cmp      eax, 11
        jne      SHORT G_M26937_IG14
        mov      rcx, 0xD1FFAB1E      ; 'RSAKeyValue'
        jmp      SHORT G_M26937_IG15
 						;; size=26 bbWeight=0.50 PerfScore 2.38
 G_M26937_IG14:
        mov      edi, eax
        call     System.String:FastAllocateString(int):System.String
        mov      rcx, rax
        mov      gword ptr [rbp-0xC0], rcx
        mov      edx, dword ptr [rbp-0x6C]
        cmp      byte  ptr [rcx], cl
        lea      rdi, bword ptr [rcx+0x0C]
        mov      rsi, r13
        add      rdx, rdx
        mov      r8, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [r8]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      rcx, gword ptr [rbp-0xC0]
        mov      eax, dword ptr [rbp-0x6C]
 						;; size=55 bbWeight=0.50 PerfScore 6.38
 G_M26937_IG15:
        mov      gword ptr [rbp-0xB8], rcx
        lea      edx, [rax+0x01]
        mov      dword ptr [rbp-0x70], edx
        test     edx, edx
        jne      SHORT G_M26937_IG16
        mov      rcx, gword ptr [rbp-0xB8]
        mov      rdx, 0xD1FFAB1E      ; 'RSAKeyValue'
        jmp      SHORT G_M26937_IG18
 						;; size=36 bbWeight=0.50 PerfScore 3.50
 G_M26937_IG16:
        mov      rcx, gword ptr [rbp-0xB8]
        mov      esi, edx
        neg      esi
        add      esi, 11
        mov      dword ptr [rbp-0x74], esi
        test     esi, esi
        jne      SHORT G_M26937_IG17
        mov      rdx, 0xD1FFAB1E      ; ''
        jmp      SHORT G_M26937_IG18
 						;; size=33 bbWeight=0.50 PerfScore 3.12
 G_M26937_IG17:
        cmp      edx, 11
-       ja       G_M26937_IG33
+       ja       G_M26937_IG40
        mov      gword ptr [rbp-0xB8], rcx
        mov      edi, esi
        call     System.String:FastAllocateString(int):System.String
        mov      rdx, rax
        mov      gword ptr [rbp-0xC8], rdx
        mov      edi, dword ptr [rbp-0x74]
        cmp      byte  ptr [rdx], dl
        lea      rsi, bword ptr [rdx+0x0C]
        mov      eax, dword ptr [rbp-0x70]
        lea      rax, bword ptr [r13+2*rax]
        lea      rdx, [rdi+rdi]
        mov      rdi, rsi
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      r13, gword ptr [rbp-0xC8]
        mov      rdx, r13
        mov      rcx, gword ptr [rbp-0xB8]
 						;; size=89 bbWeight=0.50 PerfScore 9.38
 G_M26937_IG18:
        mov      r13, rcx
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M26937_IG19:
        mov      rdi, rbx
        mov      rsi, r13
        mov      rcx, r12
        call     [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
        mov      r13, rax
        mov      rax, 0xD1FFAB1E
-       mov      bword ptr [rbp-0xE8], rax
+       mov      bword ptr [rbp-0x100], rax
        mov      rdi, rax
        mov      esi, 58
        mov      edx, 7
        mov      rcx, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        mov      dword ptr [rbp-0x78], eax
        cmp      eax, -1
        je       SHORT G_M26937_IG21
 						;; size=66 bbWeight=1 PerfScore 11.50
 G_M26937_IG20:
        test     eax, eax
        je       SHORT G_M26937_IG21
        cmp      eax, 6
        jne      SHORT G_M26937_IG22
 						;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M26937_IG21:
        mov      rdx, 0xD1FFAB1E      ; ''
        mov      rcx, rdx
        mov      rdx, 0xD1FFAB1E      ; 'Modulus'
        jmp      G_M26937_IG27
 						;; size=28 bbWeight=0.50 PerfScore 1.38
 G_M26937_IG22:
        cmp      eax, 7
-       ja       G_M26937_IG34
+       ja       G_M26937_IG41
        cmp      eax, 7
        jne      SHORT G_M26937_IG23
        mov      rcx, 0xD1FFAB1E      ; 'Modulus'
        jmp      SHORT G_M26937_IG24
 						;; size=26 bbWeight=0.50 PerfScore 2.38
 G_M26937_IG23:
        mov      edi, eax
        call     System.String:FastAllocateString(int):System.String
        mov      rcx, rax
        mov      gword ptr [rbp-0xD8], rcx
        mov      edx, dword ptr [rbp-0x78]
        cmp      byte  ptr [rcx], cl
        lea      rdi, bword ptr [rcx+0x0C]
-       mov      r8, bword ptr [rbp-0xE8]
+       mov      r8, bword ptr [rbp-0x100]
        mov      rsi, r8
        add      rdx, rdx
        mov      r9, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [r9]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      rcx, gword ptr [rbp-0xD8]
        mov      eax, dword ptr [rbp-0x78]
 						;; size=62 bbWeight=0.50 PerfScore 6.88
 G_M26937_IG24:
        mov      gword ptr [rbp-0xD0], rcx
        lea      edx, [rax+0x01]
        mov      dword ptr [rbp-0x7C], edx
        test     edx, edx
        jne      SHORT G_M26937_IG25
        mov      rcx, gword ptr [rbp-0xD0]
        mov      rdx, 0xD1FFAB1E      ; 'Modulus'
        jmp      G_M26937_IG27
 						;; size=39 bbWeight=0.50 PerfScore 3.50
 G_M26937_IG25:
        mov      rcx, gword ptr [rbp-0xD0]
        mov      esi, edx
        neg      esi
        add      esi, 7
        mov      dword ptr [rbp-0x80], esi
        test     esi, esi
        jne      SHORT G_M26937_IG26
        mov      rdx, 0xD1FFAB1E      ; ''
        jmp      SHORT G_M26937_IG27
 						;; size=33 bbWeight=0.50 PerfScore 3.12
 G_M26937_IG26:
        cmp      edx, 7
-       ja       G_M26937_IG35
+       ja       G_M26937_IG42
        mov      gword ptr [rbp-0xD0], rcx
        mov      edi, esi
        call     System.String:FastAllocateString(int):System.String
        mov      rdx, rax
        mov      gword ptr [rbp-0xE0], rdx
        mov      edi, dword ptr [rbp-0x80]
        cmp      byte  ptr [rdx], dl
        lea      rsi, bword ptr [rdx+0x0C]
        mov      eax, dword ptr [rbp-0x7C]
-       mov      r8, bword ptr [rbp-0xE8]
+       mov      r8, bword ptr [rbp-0x100]
        lea      rax, bword ptr [r8+2*rax]
        lea      rdx, [rdi+rdi]
        mov      rdi, rsi
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      rdx, gword ptr [rbp-0xE0]
        mov      rcx, gword ptr [rbp-0xD0]
 						;; size=92 bbWeight=0.50 PerfScore 9.00
 G_M26937_IG27:
        mov      rdi, rbx
        mov      rsi, rcx
        mov      rcx, r12
        call     [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
        mov      gword ptr [rbp-0xA8], rax
        mov      rdi, gword ptr [rbp-0x40]
        mov      rcx, 0xD1FFAB1E      ; code for System.Convert:ToBase64String(ubyte[]):System.String
        call     [rcx]System.Convert:ToBase64String(ubyte[]):System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x90]
        mov      qword ptr [rbp-0x98], rax
        call     [rax]System.Xml.XmlDocument:CreateTextNode(System.String):System.Xml.XmlText:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
        mov      rdi, r13
        mov      rsi, gword ptr [rbp-0xA8]
        mov      rax, qword ptr [r13]
        mov      rax, qword ptr [rax+0x58]
        mov      qword ptr [rbp-0xA0], rax
        call     [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
-       lea      rdx, [rbp-0x90]
-       lea      rsi, [rbp-0x88]
-       mov      rdi, 0xD1FFAB1E      ; 'Exponent'
-       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlNode:SplitName(System.String,byref,byref)
-       call     [rax]System.Xml.XmlNode:SplitName(System.String,byref,byref)
+       mov      rax, 0xD1FFAB1E
+       mov      bword ptr [rbp-0x108], rax
+       mov      rdi, rax
+       mov      esi, 58
+       mov      edx, 8
+       mov      rcx, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+       call     [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+       mov      dword ptr [rbp-0x84], eax
+       cmp      eax, -1
+       je       SHORT G_M26937_IG29
+						;; size=162 bbWeight=1 PerfScore 42.50
+G_M26937_IG28:
+       test     eax, eax
+       je       SHORT G_M26937_IG29
+       cmp      eax, 7
+       jne      SHORT G_M26937_IG30
+						;; size=9 bbWeight=0.50 PerfScore 1.25
+G_M26937_IG29:
+       mov      rdx, 0xD1FFAB1E      ; ''
+       mov      rcx, rdx
+       mov      rdx, 0xD1FFAB1E      ; 'Exponent'
+       jmp      G_M26937_IG35
+						;; size=28 bbWeight=0.50 PerfScore 1.38
+G_M26937_IG30:
+       cmp      eax, 8
+       ja       G_M26937_IG43
+       cmp      eax, 8
+       jne      SHORT G_M26937_IG31
+       mov      rcx, 0xD1FFAB1E      ; 'Exponent'
+       jmp      SHORT G_M26937_IG32
+						;; size=26 bbWeight=0.50 PerfScore 2.38
+G_M26937_IG31:
+       mov      edi, eax
+       call     System.String:FastAllocateString(int):System.String
+       mov      rcx, rax
+       mov      gword ptr [rbp-0xF0], rcx
+       mov      edx, dword ptr [rbp-0x84]
+       cmp      byte  ptr [rcx], cl
+       lea      rdi, bword ptr [rcx+0x0C]
+       mov      r8, bword ptr [rbp-0x108]
+       mov      rsi, r8
+       add      rdx, rdx
+       mov      r9, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+       call     [r9]System.SpanHelpers:Memmove(byref,byref,ulong)
+       mov      rcx, gword ptr [rbp-0xF0]
+       mov      eax, dword ptr [rbp-0x84]
+						;; size=68 bbWeight=0.50 PerfScore 6.88
+G_M26937_IG32:
+       mov      gword ptr [rbp-0xE8], rcx
+       lea      edx, [rax+0x01]
+       mov      dword ptr [rbp-0x88], edx
+       test     edx, edx
+       jne      SHORT G_M26937_IG33
+       mov      rcx, gword ptr [rbp-0xE8]
+       mov      rdx, 0xD1FFAB1E      ; 'Exponent'
+       jmp      G_M26937_IG35
+						;; size=42 bbWeight=0.50 PerfScore 3.50
+G_M26937_IG33:
+       mov      rcx, gword ptr [rbp-0xE8]
+       mov      esi, edx
+       neg      esi
+       add      esi, 8
+       mov      dword ptr [rbp-0x8C], esi
+       test     esi, esi
+       jne      SHORT G_M26937_IG34
+       mov      rdx, 0xD1FFAB1E      ; ''
+       jmp      SHORT G_M26937_IG35
+						;; size=36 bbWeight=0.50 PerfScore 3.12
+G_M26937_IG34:
+       cmp      edx, 8
+       ja       G_M26937_IG44
+       mov      gword ptr [rbp-0xE8], rcx
+       mov      edi, esi
+       call     System.String:FastAllocateString(int):System.String
+       mov      rdx, rax
+       mov      gword ptr [rbp-0xF8], rdx
+       mov      edi, dword ptr [rbp-0x8C]
+       cmp      byte  ptr [rdx], dl
+       lea      rsi, bword ptr [rdx+0x0C]
+       mov      eax, dword ptr [rbp-0x88]
+       mov      r8, bword ptr [rbp-0x108]
+       lea      rax, bword ptr [r8+2*rax]
+       lea      rdx, [rdi+rdi]
+       mov      rdi, rsi
+       mov      rsi, rax
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+       call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+       mov      rdx, gword ptr [rbp-0xF8]
+       mov      rcx, gword ptr [rbp-0xE8]
+						;; size=98 bbWeight=0.50 PerfScore 9.00
+G_M26937_IG35:
        mov      rdi, rbx
-       mov      rsi, gword ptr [rbp-0x88]
-       mov      rdx, gword ptr [rbp-0x90]
+       mov      rsi, rcx
        mov      rcx, r12
        call     [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
        mov      r15, rax
-       xor      rdi, rdi
-       mov      gword ptr [rbp-0x88], rdi
-						;; size=181 bbWeight=1 PerfScore 46.50
-G_M26937_IG28:
-       mov      gword ptr [rbp-0x90], rdi
        mov      rdi, gword ptr [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Convert:ToBase64String(ubyte[]):System.String
        call     [rax]System.Convert:ToBase64String(ubyte[]):System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rbx, qword ptr [rbp-0x98]
        call     [rbx]System.Xml.XmlDocument:CreateTextNode(System.String):System.Xml.XmlText:this
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
        mov      rdi, r13
        mov      rsi, r15
        mov      rbx, qword ptr [rbp-0xA0]
        call     [rbx+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
        mov      rdi, r14
        mov      rsi, r13
        mov      rax, qword ptr [r14]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
        mov      rax, r14
-						;; size=89 bbWeight=1 PerfScore 29.50
-G_M26937_IG29:
-       add      rsp, 200
+						;; size=98 bbWeight=1 PerfScore 32.50
+G_M26937_IG36:
+       add      rsp, 232
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
-G_M26937_IG30:
+G_M26937_IG37:
        mov      edi, 0x19E1
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      edx, r14d
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        int3     
 						;; size=41 bbWeight=0 PerfScore 0.00
-G_M26937_IG31:
+G_M26937_IG38:
        mov      edi, 0x19E1
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      esi, r14d
        mov      edx, r12d
        mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
-G_M26937_IG32:
+G_M26937_IG39:
        mov      edi, 0x28BD
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      edx, dword ptr [rbp-0x6C]
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        int3     
 						;; size=41 bbWeight=0 PerfScore 0.00
-G_M26937_IG33:
+G_M26937_IG40:
        mov      edi, 0x28BD
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      esi, dword ptr [rbp-0x70]
        mov      edx, dword ptr [rbp-0x74]
        mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
-G_M26937_IG34:
+G_M26937_IG41:
        mov      edi, 0x28D5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      edx, dword ptr [rbp-0x78]
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        int3     
 						;; size=41 bbWeight=0 PerfScore 0.00
-G_M26937_IG35:
+G_M26937_IG42:
        mov      edi, 0x28D5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      esi, dword ptr [rbp-0x7C]
        mov      edx, dword ptr [rbp-0x80]
        mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
+G_M26937_IG43:
+       mov      edi, 0x28E5
+       mov      rsi, 0xD1FFAB1E
+       call     CORINFO_HELP_STRCNS
+       mov      rdi, rax
+       mov      edx, dword ptr [rbp-0x84]
+       xor      esi, esi
+       mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+       call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+       int3     
+						;; size=44 bbWeight=0 PerfScore 0.00
+G_M26937_IG44:
+       mov      edi, 0x28E5
+       mov      rsi, 0xD1FFAB1E
+       call     CORINFO_HELP_STRCNS
+       mov      rdi, rax
+       mov      esi, dword ptr [rbp-0x88]
+       mov      edx, dword ptr [rbp-0x8C]
+       mov      rax, 0xD1FFAB1E      ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+       call     [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+       int3     
+						;; size=48 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1594, prolog size 54, PerfScore 214.58, instruction count 367, allocated bytes for code 1594 (MethodHash=823f96c6) for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
+; Total bytes of code 1979, prolog size 50, PerfScore 240.08, instruction count 451, allocated bytes for code 1979 (MethodHash=823f96c6) for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Apr 14, 2024

Top method improvements

-128 (-16.91 % of base) - System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String
 ; Assembly listing for method System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (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; 43 single block inlinees; 15 inlinees without PGO data
+; 0 inlinees with PGO data; 43 single block inlinees; 27 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] ( 12, 15   )     ref  ->  [rbp-0x40]  class-hnd EH-live single-def <System.String>
+;  V00 arg0         [V00,T01] ( 12, 15   )     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.String>
 ;* V01 loc0         [V01    ] (  0,  0   )     int  ->  zero-ref   
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.Span`1[ubyte]>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ubyte]>
-;  V04 loc3         [V04,T27] (  3,  3   )     int  ->  r15        
+;  V04 loc3         [V04,T23] (  3,  3   )     int  ->  r15        
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ubyte]>
 ;  V06 loc5         [V06,T00] (  6, 25   )     int  ->  rdx        
 ;* V07 loc6         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Text.Encoding>
-;  V08 loc7         [V08,T31] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
+;  V08 loc7         [V08,T27] (  2,  2   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp2         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V12 tmp3         [V12,T09] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.EncoderExceptionFallback>
+;  V12 tmp3         [V12,T05] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.EncoderExceptionFallback>
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (16) zero-ref    multireg-arg multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
 ;* V14 tmp5         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.ArgumentException>
 ;* V15 tmp6         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V16 tmp7         [V16    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp9         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V19 tmp10        [V19,T19] (  2,  4   )   byref  ->  rax         single-def "Inlining Arg"
-;  V20 tmp11        [V20,T22] (  2,  4   )     int  ->  rbx         "Inlining Arg"
-;  V21 tmp12        [V21,T08] (  6,  6   )     int  ->  rax         "Inline return value spill temp"
-;  V22 tmp13        [V22    ] (  2,  4   )  ushort  ->  [rbp-0x2C]  do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-;  V23 tmp14        [V23    ] (  2,  4   )  ushort  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;  V19 tmp10        [V19,T11] (  2,  4   )   byref  ->  rcx         single-def "Inlining Arg"
+;  V20 tmp11        [V20,T15] (  2,  4   )     int  ->  rbx         "Inlining Arg"
+;  V21 tmp12        [V21,T04] (  6,  6   )     int  ->  rax         "Inline return value spill temp"
+;* V22 tmp13        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V24 tmp15        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V26 tmp17        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V27 tmp18        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V28 tmp19        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V29 tmp20        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V27 tmp18        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V28 tmp19        [V28    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V29 tmp20        [V29    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V30 tmp21        [V30    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V31 tmp22        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V32 tmp23        [V32    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V33 tmp24        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V34 tmp25        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V35 tmp26        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V36 tmp27        [V36    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V37 tmp28        [V37    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V38 tmp29        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V39 tmp30        [V39    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V40 tmp31        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V41 tmp32        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V42 tmp33        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V43 tmp34        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V44 tmp35        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V45 tmp36        [V45,T03] (  6, 12   )  ushort  ->  rsi         "Inlining Arg"
-;  V46 tmp37        [V46,T06] (  5, 10   )  ushort  ->  rdx         "Inlining Arg"
-;* V47 tmp38        [V47    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V48 tmp39        [V48,T28] (  3,  3   )     int  ->  rax         "Inline return value spill temp"
-;* V49 tmp40        [V49    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V50 tmp41        [V50    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V51 tmp42        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inline stloc first use temp"
+;* V33 tmp24        [V33    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V34 tmp25        [V34    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V35 tmp26        [V35    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V36 tmp27        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V37 tmp28        [V37    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V38 tmp29        [V38    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V39 tmp30        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V40 tmp31        [V40    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V41 tmp32        [V41    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V42 tmp33        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V43 tmp34        [V43    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V44 tmp35        [V44    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V45 tmp36        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V46 tmp37        [V46    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V47 tmp38        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V48 tmp39        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V49 tmp40        [V49    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V50 tmp41        [V50,T33] (  2,  2   )     int  ->  rax         "Inline return value spill temp"
+;* V51 tmp42        [V51    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V52 tmp43        [V52    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
 ;* V53 tmp44        [V53    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
-;* V54 tmp45        [V54    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V54 tmp45        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp46        [V55    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V56 tmp47        [V56    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V57 tmp48        [V57    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V58 tmp49        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V59 tmp50        [V59    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V60 tmp51        [V60    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V61 tmp52        [V61    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V62 tmp53        [V62    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V63 tmp54        [V63    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V64 tmp55        [V64    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V65 tmp56        [V65    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V56 tmp47        [V56    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp48        [V57    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V58 tmp49        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V59 tmp50        [V59    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V60 tmp51        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V61 tmp52        [V61    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V62 tmp53        [V62    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V63 tmp54        [V63    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V64 tmp55        [V64    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V65 tmp56        [V65    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V66 tmp57        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V67 tmp58        [V67    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V68 tmp59        [V68    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V69 tmp60        [V69    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V70 tmp61        [V70    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V71 tmp62        [V71    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V72 tmp63        [V72    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V73 tmp64        [V73    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V74 tmp65        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V75 tmp66        [V75    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V76 tmp67        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V77 tmp68        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V78 tmp69        [V78,T20] (  2,  4   )   byref  ->   r8         single-def "Inlining Arg"
-;  V79 tmp70        [V79,T23] (  2,  4   )     int  ->  rcx         "Inlining Arg"
-;  V80 tmp71        [V80,T37] (  2,  2   )     int  ->  rax         "Inline return value spill temp"
-;  V81 tmp72        [V81    ] (  2,  4   )  ushort  ->  [rbp-0x34]  do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-;  V82 tmp73        [V82    ] (  2,  4   )  ushort  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V67 tmp58        [V67    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V68 tmp59        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V69 tmp60        [V69    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;  V70 tmp61        [V70,T12] (  2,  4   )   byref  ->  rcx         single-def "Inlining Arg"
+;  V71 tmp62        [V71,T16] (  2,  4   )     int  ->  rsi         "Inlining Arg"
+;  V72 tmp63        [V72,T34] (  2,  2   )     int  ->  rax         "Inline return value spill temp"
+;* V73 tmp64        [V73    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V74 tmp65        [V74    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V75 tmp66        [V75    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V76 tmp67        [V76    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V77 tmp68        [V77    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V78 tmp69        [V78    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V79 tmp70        [V79    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V80 tmp71        [V80    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
+;* V81 tmp72        [V81    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V82 tmp73        [V82    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V83 tmp74        [V83    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V84 tmp75        [V84    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V85 tmp76        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V84 tmp75        [V84    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V85 tmp76        [V85    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V86 tmp77        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V87 tmp78        [V87    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V88 tmp79        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V89 tmp80        [V89    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V90 tmp81        [V90    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V91 tmp82        [V91    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V92 tmp83        [V92    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V93 tmp84        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V94 tmp85        [V94    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V95 tmp86        [V95    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V96 tmp87        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V88 tmp79        [V88    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;* V89 tmp80        [V89    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V90 tmp81        [V90    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V91 tmp82        [V91    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V92 tmp83        [V92    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V93 tmp84        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V94 tmp85        [V94    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V95 tmp86        [V95    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V96 tmp87        [V96    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V97 tmp88        [V97    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V98 tmp89        [V98    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V99 tmp90        [V99    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V100 tmp91       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V101 tmp92       [V101    ] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V102 tmp93       [V102    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V103 tmp94       [V103    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V104 tmp95       [V104,T04] (  6, 12   )  ushort  ->  rsi         "Inlining Arg"
-;  V105 tmp96       [V105,T07] (  5, 10   )  ushort  ->  rdx         "Inlining Arg"
-;* V106 tmp97       [V106    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V107 tmp98       [V107,T29] (  3,  3   )     int  ->  rax         "Inline return value spill temp"
-;* V108 tmp99       [V108    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V109 tmp100      [V109    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V110 tmp101      [V110    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inline stloc first use temp"
-;* V111 tmp102      [V111    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
-;* V112 tmp103      [V112    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
-;* V113 tmp104      [V113    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V114 tmp105      [V114    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V115 tmp106      [V115    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V116 tmp107      [V116    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
+;* V98 tmp89        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V99 tmp90        [V99,T13] (  2,  4   )   byref  ->  rcx         single-def "Inlining Arg"
+;  V100 tmp91       [V100,T17] (  2,  4   )     int  ->  rsi         "Inlining Arg"
+;  V101 tmp92       [V101,T35] (  2,  2   )     int  ->  rax         "Inline return value spill temp"
+;* V102 tmp93       [V102    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
+;* V103 tmp94       [V103    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
+;* V104 tmp95       [V104    ] (  0,  0   )  ushort  ->  zero-ref    "Inline stloc first use temp"
+;* V105 tmp96       [V105    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V106 tmp97       [V106    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V107 tmp98       [V107    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V108 tmp99       [V108    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V109 tmp100      [V109    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V110 tmp101      [V110    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V111 tmp102      [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V112 tmp103      [V112    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V113 tmp104      [V113    ] (  0,  0   )  ushort  ->  zero-ref    do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V114 tmp105      [V114    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V115 tmp106      [V115    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V116 tmp107      [V116    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V117 tmp108      [V117    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V118 tmp109      [V118    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V119 tmp110      [V119    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V120 tmp111      [V120    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V121 tmp112      [V121    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V122 tmp113      [V122    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V123 tmp114      [V123    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V124 tmp115      [V124    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V125 tmp116      [V125    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V126 tmp117      [V126    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V127 tmp118      [V127    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V128 tmp119      [V128    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V129 tmp120      [V129    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V130 tmp121      [V130    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V131 tmp122      [V131    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V132 tmp123      [V132    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V133 tmp124      [V133    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp125      [V134,T24] (  2,  4   )    long  ->  r14         "Inlining Arg"
-;  V135 tmp126      [V135,T10] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ubyte[]>
-;* V136 tmp127      [V136    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V137 tmp128      [V137,T11] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.Text.DecoderExceptionFallback>
-;  V138 tmp129      [V138,T21] (  2,  4   )     ref  ->  r12         class-hnd single-def "dup spill" <System.Text.Encoding>
-;  V139 tmp130      [V139,T14] (  4,  4   )     ref  ->  r12        
-;  V140 tmp131      [V140,T12] (  3,  6   )   byref  ->  r14         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V141 tmp132      [V141,T13] (  3,  6   )     int  ->  r15         "field V02._length (fldOffset=0x8)" P-INDEP
-;  V142 tmp133      [V142,T26] (  3,  3   )   byref  ->  r14         "field V03._reference (fldOffset=0x0)" P-INDEP
-;  V143 tmp134      [V143,T30] (  3,  3   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
-;* V144 tmp135      [V144    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V145 tmp136      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;* V146 tmp137      [V146    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V147 tmp138      [V147    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V148 tmp139      [V148    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V149 tmp140      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;  V150 tmp141      [V150,T32] (  2,  2   )   byref  ->  rsi         "field V13._reference (fldOffset=0x0)" P-INDEP
-;  V151 tmp142      [V151,T38] (  2,  2   )     int  ->  rdx         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V152 tmp143      [V152,T33] (  2,  2   )   byref  ->  r14         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V153 tmp144      [V153,T39] (  2,  2   )     int  ->  r15         "field V15._length (fldOffset=0x8)" P-INDEP
-;  V154 tmp145      [V154,T15] (  4,  4   )   byref  ->  rax         "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V155 tmp146      [V155,T17] (  4,  4   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
-;  V156 tmp147      [V156,T34] (  2,  2   )   byref  ->  rax         single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;  V157 tmp148      [V157,T40] (  2,  2   )     int  ->  rcx         "field V17._length (fldOffset=0x8)" P-INDEP
-;* V158 tmp149      [V158    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V159 tmp150      [V159    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;* V160 tmp151      [V160    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V161 tmp152      [V161    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
-;* V162 tmp153      [V162    ] (  0,  0   )   byref  ->  zero-ref    "field V35._reference (fldOffset=0x0)" P-INDEP
-;* V163 tmp154      [V163    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
-;* V164 tmp155      [V164    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V165 tmp156      [V165    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
-;* V166 tmp157      [V166    ] (  0,  0   )   byref  ->  zero-ref    "field V58._reference (fldOffset=0x0)" P-INDEP
-;* V167 tmp158      [V167    ] (  0,  0   )     int  ->  zero-ref    "field V58._length (fldOffset=0x8)" P-INDEP
-;* V168 tmp159      [V168    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
-;* V169 tmp160      [V169    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
-;* V170 tmp161      [V170    ] (  0,  0   )   byref  ->  zero-ref    "field V74._reference (fldOffset=0x0)" P-INDEP
-;* V171 tmp162      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
-;  V172 tmp163      [V172,T16] (  4,  4   )   byref  ->   r8         "field V75._reference (fldOffset=0x0)" P-INDEP
-;  V173 tmp164      [V173,T18] (  4,  4   )     int  ->  rcx         "field V75._length (fldOffset=0x8)" P-INDEP
-;  V174 tmp165      [V174,T35] (  2,  2   )   byref  ->   r8         single-def "field V76._reference (fldOffset=0x0)" P-INDEP
-;  V175 tmp166      [V175,T41] (  2,  2   )     int  ->  rcx         "field V76._length (fldOffset=0x8)" P-INDEP
-;* V176 tmp167      [V176    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V77._reference (fldOffset=0x0)" P-INDEP
-;* V177 tmp168      [V177    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
-;* V178 tmp169      [V178    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V88._reference (fldOffset=0x0)" P-INDEP
-;* V179 tmp170      [V179    ] (  0,  0   )     int  ->  zero-ref    "field V88._length (fldOffset=0x8)" P-INDEP
-;* V180 tmp171      [V180    ] (  0,  0   )   byref  ->  zero-ref    "field V94._reference (fldOffset=0x0)" P-INDEP
-;* V181 tmp172      [V181    ] (  0,  0   )     int  ->  zero-ref    "field V94._length (fldOffset=0x8)" P-INDEP
-;* V182 tmp173      [V182    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V102._reference (fldOffset=0x0)" P-INDEP
-;* V183 tmp174      [V183    ] (  0,  0   )     int  ->  zero-ref    "field V102._length (fldOffset=0x8)" P-INDEP
-;* V184 tmp175      [V184    ] (  0,  0   )   byref  ->  zero-ref    "field V117._reference (fldOffset=0x0)" P-INDEP
-;* V185 tmp176      [V185    ] (  0,  0   )     int  ->  zero-ref    "field V117._length (fldOffset=0x8)" P-INDEP
-;* V186 tmp177      [V186    ] (  0,  0   )   byref  ->  zero-ref    "field V125._reference (fldOffset=0x0)" P-INDEP
-;* V187 tmp178      [V187    ] (  0,  0   )     int  ->  zero-ref    "field V125._length (fldOffset=0x8)" P-INDEP
-;* V188 tmp179      [V188    ] (  0,  0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
-;* V189 tmp180      [V189    ] (  0,  0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V190 tmp181      [V190,T36] (  2,  2   )   byref  ->  r14         "field V136._reference (fldOffset=0x0)" P-INDEP
-;  V191 tmp182      [V191,T42] (  2,  2   )     int  ->  r15         "field V136._length (fldOffset=0x8)" P-INDEP
-;  V192 tmp183      [V192,T25] (  2,  4   )     int  ->  rdi         "argument with side effect"
-;  V193 GsCookie    [V193    ] (  1,  1   )    long  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V194 PSPSym      [V194,T43] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V195 cse0        [V195,T02] ( 10, 17   )     int  ->  rbx         multi-def "CSE #01: aggressive"
-;  V196 cse1        [V196,T05] (  3, 12   )    long  ->  rsi         "CSE #03: aggressive"
+;  V118 tmp109      [V118,T18] (  2,  4   )    long  ->  r14         "Inlining Arg"
+;  V119 tmp110      [V119,T06] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ubyte[]>
+;* V120 tmp111      [V120    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;  V121 tmp112      [V121,T07] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.Text.DecoderExceptionFallback>
+;  V122 tmp113      [V122,T14] (  2,  4   )     ref  ->  r12         class-hnd single-def "dup spill" <System.Text.Encoding>
+;  V123 tmp114      [V123,T10] (  4,  4   )     ref  ->  r12        
+;  V124 tmp115      [V124,T08] (  3,  6   )   byref  ->  r14         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+;  V125 tmp116      [V125,T09] (  3,  6   )     int  ->  r15         "field V02._length (fldOffset=0x8)" P-INDEP
+;  V126 tmp117      [V126,T20] (  3,  3   )   byref  ->  r14         "field V03._reference (fldOffset=0x0)" P-INDEP
+;  V127 tmp118      [V127,T24] (  3,  3   )     int  ->  r15         "field V03._length (fldOffset=0x8)" P-INDEP
+;* V128 tmp119      [V128    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V129 tmp120      [V129    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;* V130 tmp121      [V130    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V131 tmp122      [V131    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V132 tmp123      [V132    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V133 tmp124      [V133    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V134 tmp125      [V134,T28] (  2,  2   )   byref  ->  rsi         "field V13._reference (fldOffset=0x0)" P-INDEP
+;  V135 tmp126      [V135,T36] (  2,  2   )     int  ->  rdx         "field V13._length (fldOffset=0x8)" P-INDEP
+;  V136 tmp127      [V136,T29] (  2,  2   )   byref  ->  r14         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V137 tmp128      [V137,T37] (  2,  2   )     int  ->  r15         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V138 tmp129      [V138,T21] (  3,  3   )   byref  ->  rcx         "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V139 tmp130      [V139,T25] (  3,  3   )     int  ->  rsi         "field V16._length (fldOffset=0x8)" P-INDEP
+;  V140 tmp131      [V140,T30] (  2,  2   )   byref  ->  rcx         single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;  V141 tmp132      [V141,T38] (  2,  2   )     int  ->  rsi         "field V17._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp133      [V142    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp134      [V143    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp135      [V144    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp136      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp137      [V146    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp138      [V147    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp139      [V148    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp140      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp141      [V150    ] (  0,  0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp142      [V151    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
+;* V152 tmp143      [V152    ] (  0,  0   )   byref  ->  zero-ref    "field V60._reference (fldOffset=0x0)" P-INDEP
+;* V153 tmp144      [V153    ] (  0,  0   )     int  ->  zero-ref    "field V60._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp145      [V154    ] (  0,  0   )   byref  ->  zero-ref    "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp146      [V155    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
+;  V156 tmp147      [V156,T22] (  3,  3   )   byref  ->  rcx         "field V67._reference (fldOffset=0x0)" P-INDEP
+;  V157 tmp148      [V157,T26] (  3,  3   )     int  ->  rsi         "field V67._length (fldOffset=0x8)" P-INDEP
+;  V158 tmp149      [V158,T31] (  2,  2   )   byref  ->  rcx         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
+;  V159 tmp150      [V159,T39] (  2,  2   )     int  ->  rsi         "field V68._length (fldOffset=0x8)" P-INDEP
+;* V160 tmp151      [V160    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V69._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp152      [V161    ] (  0,  0   )     int  ->  zero-ref    "field V69._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp153      [V162    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp154      [V163    ] (  0,  0   )     int  ->  zero-ref    "field V78._length (fldOffset=0x8)" P-INDEP
+;* V164 tmp155      [V164    ] (  0,  0   )   byref  ->  zero-ref    "field V90._reference (fldOffset=0x0)" P-INDEP
+;* V165 tmp156      [V165    ] (  0,  0   )     int  ->  zero-ref    "field V90._length (fldOffset=0x8)" P-INDEP
+;* V166 tmp157      [V166    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V98._reference (fldOffset=0x0)" P-INDEP
+;* V167 tmp158      [V167    ] (  0,  0   )     int  ->  zero-ref    "field V98._length (fldOffset=0x8)" P-INDEP
+;* V168 tmp159      [V168    ] (  0,  0   )   byref  ->  zero-ref    "field V105._reference (fldOffset=0x0)" P-INDEP
+;* V169 tmp160      [V169    ] (  0,  0   )     int  ->  zero-ref    "field V105._length (fldOffset=0x8)" P-INDEP
+;* V170 tmp161      [V170    ] (  0,  0   )   byref  ->  zero-ref    "field V111._reference (fldOffset=0x0)" P-INDEP
+;* V171 tmp162      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V111._length (fldOffset=0x8)" P-INDEP
+;* V172 tmp163      [V172    ] (  0,  0   )   byref  ->  zero-ref    "field V117._reference (fldOffset=0x0)" P-INDEP
+;* V173 tmp164      [V173    ] (  0,  0   )     int  ->  zero-ref    "field V117._length (fldOffset=0x8)" P-INDEP
+;  V174 tmp165      [V174,T32] (  2,  2   )   byref  ->  r14         "field V120._reference (fldOffset=0x0)" P-INDEP
+;  V175 tmp166      [V175,T40] (  2,  2   )     int  ->  r15         "field V120._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp167      [V176,T19] (  2,  4   )     int  ->  rdi         "argument with side effect"
+;  V177 GsCookie    [V177    ] (  1,  1   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V178 PSPSym      [V178,T41] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V179 cse0        [V179,T02] ( 10, 17   )     int  ->  rbx         multi-def "CSE #01: aggressive"
+;  V180 cse1        [V180,T03] (  3, 12   )    long  ->  rsi         "CSE #03: aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 24
 
 G_M22867_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
-       mov      qword ptr [rbp-0x50], rsp
-       mov      qword ptr [rbp-0x48], 0xD1FFAB1E
-       mov      gword ptr [rbp-0x40], rdi
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
+       mov      qword ptr [rbp-0x40], rsp
+       mov      qword ptr [rbp-0x38], 0xD1FFAB1E
+       mov      gword ptr [rbp-0x30], rdi
 						;; size=35 bbWeight=1 PerfScore 9.75
 G_M22867_IG02:
        mov      rax, 0xD1FFAB1E      ; code for System.String:IsNullOrWhiteSpace(System.String):ubyte
        call     [rax]System.String:IsNullOrWhiteSpace(System.String):ubyte
        test     eax, eax
-       jne      G_M22867_IG22
-       mov      rdi, gword ptr [rbp-0x40]
+       jne      G_M22867_IG18
+       mov      rdi, gword ptr [rbp-0x30]
        test     rdi, rdi
        jne      SHORT G_M22867_IG03
-       xor      rax, rax
-       xor      ecx, ecx
+       xor      rcx, rcx
+       xor      esi, esi
        jmp      SHORT G_M22867_IG04
-       align    [1 bytes for IG15]
-						;; size=36 bbWeight=1 PerfScore 9.25
+       align    [13 bytes for IG11]
+						;; size=48 bbWeight=1 PerfScore 9.25
 G_M22867_IG03:
-       lea      rax, bword ptr [rdi+0x0C]
+       lea      rcx, bword ptr [rdi+0x0C]
        mov      ebx, dword ptr [rdi+0x08]
-       mov      ecx, ebx
-       mov      rdi, gword ptr [rbp-0x40]
-						;; size=13 bbWeight=1 PerfScore 3.75
+       mov      esi, ebx
+						;; size=9 bbWeight=1 PerfScore 2.75
 G_M22867_IG04:
-       xor      edx, edx
-       mov      dword ptr [rbp-0x2C], edx
-       mov      dword ptr [rbp-0x30], 127
-       movzx    rsi, word  ptr [rbp-0x2C]
-       movzx    rdx, word  ptr [rbp-0x30]
-       lea      r8d, [rsi-0x01]
-       cmp      r8d, 254
-       jae      SHORT G_M22867_IG05
-       lea      r8d, [rdx-0x01]
-       cmp      r8d, 254
-       jae      SHORT G_M22867_IG05
-       cmp      edx, esi
-       jl       SHORT G_M22867_IG05
-       sub      edx, esi
-       movsx    rdx, dx
-       movsx    rsi, si
-       mov      rdi, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int
-       call     [rax]System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int
-       jmp      SHORT G_M22867_IG06
-						;; size=77 bbWeight=1 PerfScore 15.25
-G_M22867_IG05:
-       mov      rdi, rax
+       mov      rdi, rcx
+       mov      ecx, esi
+       xor      esi, esi
+       mov      edx, 127
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int
        call     [rax]System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int
-						;; size=15 bbWeight=1 PerfScore 3.50
-G_M22867_IG06:
        test     eax, eax
-       jl       G_M22867_IG22
-       mov      rdi, gword ptr [rbp-0x40]
+       jl       G_M22867_IG18
+       mov      rdi, gword ptr [rbp-0x30]
        test     rdi, rdi
-       jne      SHORT G_M22867_IG07
+       jne      SHORT G_M22867_IG05
        test     eax, eax
-       jne      G_M22867_IG26
-       xor      r8, r8
-       xor      ecx, ecx
-       jmp      SHORT G_M22867_IG08
-						;; size=32 bbWeight=1 PerfScore 7.25
-G_M22867_IG07:
+       jne      G_M22867_IG22
+       xor      rcx, rcx
+       xor      esi, esi
+       jmp      SHORT G_M22867_IG06
+						;; size=55 bbWeight=1 PerfScore 11.50
+G_M22867_IG05:
        mov      ebx, dword ptr [rdi+0x08]
        cmp      ebx, eax
-       jb       G_M22867_IG26
-       mov      r8d, eax
-       lea      r8, bword ptr [rdi+2*r8+0x0C]
-       mov      ecx, ebx
-       sub      ecx, eax
-       mov      rdi, gword ptr [rbp-0x40]
-						;; size=27 bbWeight=1 PerfScore 6.00
-G_M22867_IG08:
-       xor      edx, edx
-       mov      dword ptr [rbp-0x34], edx
-       mov      dword ptr [rbp-0x38], 255
-       movzx    rsi, word  ptr [rbp-0x34]
-       movzx    rdx, word  ptr [rbp-0x38]
-       lea      eax, [rsi-0x01]
-       cmp      eax, 254
-       jae      SHORT G_M22867_IG09
-       lea      eax, [rdx-0x01]
-       cmp      eax, 254
-       jae      SHORT G_M22867_IG09
-       cmp      edx, esi
-       jl       SHORT G_M22867_IG09
-       sub      edx, esi
-       movsx    rdx, dx
-       movsx    rsi, si
-       mov      rdi, r8
-       mov      rax, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int
-       call     [rax]System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int
-       jmp      SHORT G_M22867_IG10
-						;; size=71 bbWeight=1 PerfScore 15.25
-G_M22867_IG09:
-       mov      rdi, r8
+       jb       G_M22867_IG22
+       mov      ecx, eax
+       lea      rcx, bword ptr [rdi+2*rcx+0x0C]
+       mov      esi, ebx
+       sub      esi, eax
+						;; size=22 bbWeight=1 PerfScore 5.00
+G_M22867_IG06:
+       mov      rdi, rcx
+       mov      ecx, esi
+       xor      esi, esi
+       mov      edx, 255
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int
        call     [rax]System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int
-						;; size=15 bbWeight=1 PerfScore 3.50
-G_M22867_IG10:
        test     eax, eax
-       jge      G_M22867_IG22
-       mov      rdi, gword ptr [rbp-0x40]
+       jge      G_M22867_IG18
+       mov      rdi, gword ptr [rbp-0x30]
        mov      ebx, dword ptr [rdi+0x08]
        cmp      ebx, 256
-       jg       SHORT G_M22867_IG13
+       jg       SHORT G_M22867_IG09
        mov      r15d, ebx
        mov      esi, r15d
        mov      r14, rsi
        test     r14, r14
-       je       SHORT G_M22867_IG12
+       je       SHORT G_M22867_IG08
        mov      rax, r14
        add      rax, 15
        and      rax, -16
        neg      rax
        add      rax, rsp
-       jb       SHORT G_M22867_IG11
+       jb       SHORT G_M22867_IG07
        xor      eax, eax
-						;; size=58 bbWeight=1 PerfScore 10.00
-G_M22867_IG11:
+						;; size=82 bbWeight=1 PerfScore 14.25
+G_M22867_IG07:
        test     dword ptr [rsp], esp
        sub      rsp, 0x1000
        cmp      rsp, rax
-       jae      SHORT G_M22867_IG11
+       jae      SHORT G_M22867_IG07
        mov      rsp, rax
        lea      r14, [rsp]
 						;; size=22 bbWeight=1 PerfScore 5.25
-G_M22867_IG12:
-       jmp      SHORT G_M22867_IG14
+G_M22867_IG08:
+       jmp      SHORT G_M22867_IG10
 						;; size=2 bbWeight=1 PerfScore 2.00
-G_M22867_IG13:
+G_M22867_IG09:
        mov      esi, ebx
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        lea      r14, bword ptr [rax+0x10]
        mov      r15d, dword ptr [rax+0x08]
 						;; size=25 bbWeight=1 PerfScore 4.00
-G_M22867_IG14:
+G_M22867_IG10:
        xor      edx, edx
-       jmp      SHORT G_M22867_IG16
+       jmp      SHORT G_M22867_IG12
 						;; size=4 bbWeight=1 PerfScore 2.25
-G_M22867_IG15:
+G_M22867_IG11:
        cmp      edx, r15d
-       jae      G_M22867_IG25
+       jae      G_M22867_IG21
        mov      esi, edx
-       mov      rdi, gword ptr [rbp-0x40]
+       mov      rdi, gword ptr [rbp-0x30]
        movzx    rax, byte  ptr [rdi+2*rsi+0x0C]
        mov      byte  ptr [r14+rsi], al
        inc      edx
 						;; size=26 bbWeight=4 PerfScore 23.00
-G_M22867_IG16:
+G_M22867_IG12:
        cmp      ebx, edx
-       jg       SHORT G_M22867_IG15
+       jg       SHORT G_M22867_IG11
 						;; size=4 bbWeight=8 PerfScore 10.00
-G_M22867_IG17:
+G_M22867_IG13:
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rbx, gword ptr [rdx]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdx]
        mov      rdx, r13
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; 'utf-8'
        mov      rax, 0xD1FFAB1E      ; code for System.Text.EncodingProvider:GetEncodingFromProvider(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding
        call     [rax]System.Text.EncodingProvider:GetEncodingFromProvider(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:FilterDisallowedEncodings(System.Text.Encoding):System.Text.Encoding
        call     [rax]System.Text.Encoding:FilterDisallowedEncodings(System.Text.Encoding):System.Text.Encoding
        mov      r12, rax
        test     r12, r12
-       jne      SHORT G_M22867_IG18
+       jne      SHORT G_M22867_IG14
        mov      rdi, 0xD1FFAB1E      ; 'utf-8'
        mov      rax, 0xD1FFAB1E      ; code for System.Text.EncodingTable:GetCodePageFromName(System.String):int
        call     [rax]System.Text.EncodingTable:GetCodePageFromName(System.String):int
        mov      edi, eax
        mov      rsi, rbx
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:GetEncoding(int,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding
        call     [rax]System.Text.Encoding:GetEncoding(int,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding
        mov      r12, rax
 						;; size=122 bbWeight=1 PerfScore 21.25
-G_M22867_IG18:
+G_M22867_IG14:
        mov      rdi, r14
        mov      esi, r15d
        mov      rax, 0xD1FFAB1E      ; code for System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte]
        call     [rax]System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte]
        mov      rsi, rax
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:GetString(System.ReadOnlySpan`1[ubyte]):System.String:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Text.Encoding:GetString(System.ReadOnlySpan`1[ubyte]):System.String:this
        nop      
 						;; size=39 bbWeight=1 PerfScore 10.75
-G_M22867_IG19:
-       cmp      qword ptr [rbp-0x48], 0xD1FFAB1E
-       je       SHORT G_M22867_IG20
+G_M22867_IG15:
+       cmp      qword ptr [rbp-0x38], 0xD1FFAB1E
+       je       SHORT G_M22867_IG16
        call     CORINFO_HELP_FAIL_FAST
 						;; size=15 bbWeight=1 PerfScore 4.00
-G_M22867_IG20:
+G_M22867_IG16:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M22867_IG21:
+G_M22867_IG17:
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.50
-G_M22867_IG22:
-       mov      rax, gword ptr [rbp-0x40]
-       cmp      qword ptr [rbp-0x48], 0xD1FFAB1E
-       je       SHORT G_M22867_IG23
+G_M22867_IG18:
+       mov      rax, gword ptr [rbp-0x30]
+       cmp      qword ptr [rbp-0x38], 0xD1FFAB1E
+       je       SHORT G_M22867_IG19
        call     CORINFO_HELP_FAIL_FAST
 						;; size=19 bbWeight=1 PerfScore 5.00
-G_M22867_IG23:
+G_M22867_IG19:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M22867_IG24:
+G_M22867_IG20:
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.50
-G_M22867_IG25:
+G_M22867_IG21:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M22867_IG26:
+G_M22867_IG22:
        mov      edi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
-G_M22867_IG27:
+G_M22867_IG23:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x50]
+       lea      rbp, [rbp+0x40]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M22867_IG28:
-       lea      rax, G_M22867_IG22
+G_M22867_IG24:
+       lea      rax, G_M22867_IG18
 						;; size=7 bbWeight=0 PerfScore 0.00
-G_M22867_IG29:
+G_M22867_IG25:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 757, prolog size 35, PerfScore 180.50, instruction count 215, allocated bytes for code 757 (MethodHash=f9b6a6ac) for method System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts)
+; Total bytes of code 629, prolog size 35, PerfScore 149.50, instruction count 179, allocated bytes for code 629 (MethodHash=f9b6a6ac) for method System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts)

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

@MihuBot
Copy link
Owner Author

MihuBot commented Apr 14, 2024

@MihaZupan

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

No branches or pull requests

1 participant