Repository navigation
[JitDiff X64] [tannergooding] JIT: Remove transparent scalar/vector conversi ... #2085
Copy link
Copy link
Open
Description
Job completed in 21 minutes 57 seconds (remote runner delay: 1 minute 6 seconds).
dotnet/runtime#130444
Using arguments: -nuget
Main commit: dotnet/runtime@7ce50b9
PR commit: tannergooding/runtime@e75b094
Diffs
Diffs
Found 139 files with textual diffs.
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 395597373
Total bytes of diff: 395589945
Total bytes of delta: -7428 (-0.00 % of base)
Total relative delta: -67.79
diff is an improvement.
relative diff is an improvement.
Top file improvements (bytes):
-4439 : System.Private.CoreLib.dasm (-0.06 % of base)
-1078 : System.Numerics.Tensors.dasm (-0.09 % of base)
-959 : SixLabors.ImageSharp.dasm (-0.04 % of base)
-264 : SixLabors.ImageSharp.Drawing.dasm (-0.08 % of base)
-157 : BouncyCastle.Cryptography.dasm (-0.00 % of base)
-110 : SixLabors.Fonts.dasm (-0.01 % of base)
-76 : ClosedXML.dasm (-0.00 % of base)
-64 : SharpCompress.dasm (-0.00 % of base)
-34 : BepuPhysics.dasm (-0.00 % of base)
-24 : CommunityToolkit.HighPerformance.dasm (-0.01 % of base)
-24 : MathNet.Numerics.dasm (-0.00 % of base)
-24 : System.IO.Hashing.dasm (-0.06 % of base)
-24 : Silk.NET.Maths.dasm (-0.00 % of base)
-20 : Elastic.Apm.dasm (-0.00 % of base)
-16 : System.Formats.Tar.dasm (-0.02 % of base)
-16 : System.Linq.dasm (-0.00 % of base)
-12 : System.Formats.Cbor.dasm (-0.03 % of base)
-12 : System.Memory.dasm (-0.00 % of base)
-12 : Magick.NET.Core.dasm (-0.01 % of base)
-12 : MongoDB.Bson.dasm (-0.00 % of base)
-8 : System.Runtime.Numerics.dasm (-0.00 % of base)
-8 : ClosedXML.Parser.dasm (-0.00 % of base)
-4 : ExcelNumberFormat.dasm (-0.01 % of base)
-4 : Nest.dasm (-0.00 % of base)
-4 : System.Configuration.ConfigurationManager.dasm (-0.00 % of base)
-4 : NuGet.Packaging.dasm (-0.00 % of base)
-4 : App.Metrics.Core.dasm (-0.00 % of base)
-4 : SkiaSharp.dasm (-0.00 % of base)
-4 : App.Metrics.Formatters.Json.dasm (-0.01 % of base)
-4 : App.Metrics.Abstractions.dasm (-0.00 % of base)
-3 : MessagePack.dasm (-0.00 % of base)
31 total files with Code Size differences (31 improved, 0 regressed), 729 unchanged.
Top method regressions (bytes):
4 (0.31 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.FontGlyphMetrics:RenderDecorationsTo(SixLabors.Fonts.Rendering.IGlyphRenderer,System.Numerics.Vector2,int,System.Numerics.Matrix3x2,float,SixLabors.Fonts.TextOptions):this (FullOpts)
1 (0.14 % of base) : System.Private.CoreLib.dasm - System.Text.Ascii:WidenAsciiToUtf16(ptr,ptr,nuint):nuint (FullOpts)
Top method improvements (bytes):
-62 (-1.86 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives:CosineSimilarityHalfCore(System.ReadOnlySpan`1[System.Half],System.ReadOnlySpan`1[System.Half]):System.Half (FullOpts)
-53 (-7.37 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+DivRemOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]] (FullOpts)
-53 (-7.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+RemainderOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-49 (-7.45 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-49 (-7.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Divide[byte](System.Runtime.Intrinsics.Vector512`1[byte],byte):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-49 (-7.45 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Divide[byte](System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-49 (-7.28 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[byte]:op_Division(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-49 (-7.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[byte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[byte],byte):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-49 (-7.45 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[byte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-41 (-6.45 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[byte]:op_Division(System.Runtime.Intrinsics.Vector512`1[byte],byte):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-39 (-0.93 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Blake2b_X86:Compress(System.Span`1[ulong],System.ReadOnlySpan`1[ulong],ulong,ulong,ulong,System.ReadOnlySpan`1[byte]) (FullOpts)
-38 (-0.93 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Blake2bDigest:Compress(System.ReadOnlySpan`1[byte]):this (FullOpts)
-36 (-0.56 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Blake2b_X86:Perform12Rounds(System.ReadOnlySpan`1[byte],byref,byref,byref,byref) (FullOpts)
-32 (-4.73 % of base) : SixLabors.ImageSharp.Drawing.dasm - SixLabors.ImageSharp.Drawing.ArcLineSegment:.ctor(SixLabors.ImageSharp.PointF,SixLabors.ImageSharp.PointF,SixLabors.ImageSharp.SizeF,float,bool,bool):this (FullOpts)
-30 (-3.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives:CosineSimilarityCore[double](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double]):double (FullOpts)
-28 (-4.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CreateHarmonicSequence[byte](byte,byte):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-26 (-1.86 % of base) : SixLabors.ImageSharp.Drawing.dasm - SixLabors.ImageSharp.Drawing.ArcLineSegment:.ctor(SixLabors.ImageSharp.PointF,SixLabors.ImageSharp.SizeF,float,float,float):this (FullOpts)
-24 (-7.41 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-24 (-6.65 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+DivRemOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]] (FullOpts)
-24 (-6.78 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+RemainderOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Divide[byte](System.Numerics.Vector`1[byte],byte):System.Numerics.Vector`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Divide[byte](System.Numerics.Vector`1[byte],System.Numerics.Vector`1[byte]):System.Numerics.Vector`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[byte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Divide(System.Numerics.Vector`1[byte],byte):System.Numerics.Vector`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[byte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Divide(System.Numerics.Vector`1[byte],System.Numerics.Vector`1[byte]):System.Numerics.Vector`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Divide[byte](System.Runtime.Intrinsics.Vector256`1[byte],byte):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Divide[byte](System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_Division(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Divide(System.Runtime.Intrinsics.Vector256`1[byte],byte):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-24 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Divide(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-21 (-7.12 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:MinMaxInteger[ushort,System.MemoryExtensions+MaxCalc`1[ushort]](System.ReadOnlySpan`1[ushort]):ushort (FullOpts)
-21 (-7.12 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:MinMaxInteger[ushort,System.MemoryExtensions+MinCalc`1[ushort]](System.ReadOnlySpan`1[ushort]):ushort (FullOpts)
-20 (-2.79 % of base) : SixLabors.ImageSharp.Drawing.dasm - SixLabors.ImageSharp.Drawing.EllipsePolygon:CreateSegment(System.Numerics.Vector2,SixLabors.ImageSharp.SizeF):SixLabors.ImageSharp.Drawing.CubicBezierLineSegment (FullOpts)
-19 (-4.81 % of base) : SixLabors.ImageSharp.Drawing.dasm - SixLabors.ImageSharp.Drawing.ArcLineSegment:EllipticArcFromEndParams(SixLabors.ImageSharp.PointF,SixLabors.ImageSharp.PointF,SixLabors.ImageSharp.SizeF,float,bool,bool):SixLabors.ImageSharp.PointF[] (FullOpts)
-19 (-0.98 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Png.PngEncoderCore:ApplyOptimalFilteredScanline(byref,byref):this (FullOpts)
-19 (-6.44 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:MinMaxInteger[byte,System.MemoryExtensions+MaxCalc`1[byte]](System.ReadOnlySpan`1[byte]):byte (FullOpts)
-19 (-6.44 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:MinMaxInteger[byte,System.MemoryExtensions+MinCalc`1[byte]](System.ReadOnlySpan`1[byte]):byte (FullOpts)
-18 (-8.61 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives:Finalize[double](System.Runtime.Intrinsics.Vector512`1[double],System.Runtime.Intrinsics.Vector512`1[double],System.Runtime.Intrinsics.Vector512`1[double]):double (FullOpts)
-16 (-2.61 % of base) : CommunityToolkit.HighPerformance.dasm - CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper:CountSimd[short](byref,nint,short):nint (FullOpts)
-16 (-0.15 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Tables.Cff.CffEvaluationEngine:Parse(System.ReadOnlySpan`1[byte]):this (FullOpts)
-16 (-0.54 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Webp.Lossy.QuantEnc:PickBestIntra4(SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8EncIterator,byref,SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8SegmentInfo[],SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8EncProba,int):bool (FullOpts)
-16 (-0.59 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Webp.Lossy.QuantEnc:RefineUsingDistortion(SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8EncIterator,SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8SegmentInfo[],SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8ModeScore,bool,bool,int) (FullOpts)
-16 (-0.47 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Processing.Processors.Transforms.RotateProcessor:.ctor(float,SixLabors.ImageSharp.Processing.Processors.Transforms.IResampler,SixLabors.ImageSharp.Size):this (FullOpts)
-16 (-0.47 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Processing.Processors.Transforms.RotateProcessor:.ctor(float,SixLabors.ImageSharp.Size):this (FullOpts)
-16 (-0.49 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Processing.Processors.Transforms.SkewProcessor:.ctor(float,float,SixLabors.ImageSharp.Processing.Processors.Transforms.IResampler,SixLabors.ImageSharp.Size):this (FullOpts)
-16 (-0.49 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Processing.Processors.Transforms.SkewProcessor:.ctor(float,float,SixLabors.ImageSharp.Size):this (FullOpts)
-16 (-0.46 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Processing.RotateExtensions:Rotate(SixLabors.ImageSharp.Processing.IImageProcessingContext,float,SixLabors.ImageSharp.Processing.Processors.Transforms.IResampler):SixLabors.ImageSharp.Processing.IImageProcessingContext (FullOpts)
-16 (-0.49 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Processing.SkewExtensions:Skew(SixLabors.ImageSharp.Processing.IImageProcessingContext,float,float,SixLabors.ImageSharp.Processing.Processors.Transforms.IResampler):SixLabors.ImageSharp.Processing.IImageProcessingContext (FullOpts)
-16 (-6.32 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:Checksum(System.ReadOnlySpan`1[byte]):int (FullOpts)
-16 (-3.50 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.Adler32:UpdateVector512(uint,System.ReadOnlySpan`1[byte]):uint (FullOpts)
-16 (-2.63 % of base) : System.Linq.dasm - System.Linq.Enumerable:Average(System.Collections.Generic.IEnumerable`1[int]):double (FullOpts)
-16 (-3.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[short]:Invoke(System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-16 (-3.17 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+DivRemOperator`1[short]:Invoke(System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]] (FullOpts)
-16 (-3.23 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+RemainderOperator`1[short]:Invoke(System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-16 (-4.72 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:CreateHarmonicSequence[byte](byte,byte):System.Numerics.Vector`1[byte] (FullOpts)
-16 (-4.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CreateHarmonicSequence[byte](byte,byte):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-16 (-5.28 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_Division(System.Runtime.Intrinsics.Vector256`1[byte],byte):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-16 (-3.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Divide[short](System.Runtime.Intrinsics.Vector512`1[short],short):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-16 (-3.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Divide[short](System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-16 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:op_Division(System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-16 (-3.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[short],short):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-16 (-3.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-14 (-5.15 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.ColorProfiles.Icc.Calculators.ClutCalculator:Interpolate1d(ptr,ptr):this (FullOpts)
-13 (-0.16 % of base) : BepuPhysics.dasm - BepuPhysics.CollisionDetection.CollisionTasks.BoxConvexHullTester:Test(byref,byref,byref,byref,byref,byref,int,byref) (FullOpts)
-13 (-4.38 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Tables.General.Colr.ColrTable:BuildSkew(float,float,bool,float,float):System.Numerics.Matrix3x2 (FullOpts)
-12 (-1.93 % of base) : BepuPhysics.dasm - BepuPhysics.CollisionDetection.MeshReduction+TestTriangle:.ctor(byref,int):this (FullOpts)
-12 (-0.76 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Engines.ChaCha7539Engine:ImplProcessBlocks2_X86_Avx2(int,uint[],System.ReadOnlySpan`1[byte],System.Span`1[byte]) (FullOpts)
-12 (-0.56 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Engines.ChaCha7539Engine:ProcessBlocks2(System.ReadOnlySpan`1[byte],System.Span`1[byte]):this (FullOpts)
-12 (-0.17 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Tables.General.Colr.ColrGlyphSourceBase:FlattenPaint(SixLabors.Fonts.Tables.General.Colr.Paint,System.Numerics.Matrix3x2,int,SixLabors.Fonts.Tables.General.CpalTable,SixLabors.Fonts.Tables.General.Colr.ColrTable,SixLabors.Fonts.Tables.AdvancedTypographic.Variations.GlyphVariationProcessor,System.Collections.Generic.List`1[SixLabors.Fonts.Rendering.Paint]) (FullOpts)
-12 (-1.08 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.ColorProfiles.Icc.Calculators.ClutCalculator:Interpolate4d(ptr,ptr):this (FullOpts)
-12 (-2.04 % of base) : SixLabors.ImageSharp.Drawing.dasm - SixLabors.ImageSharp.Drawing.Processing.Backends.DefaultRasterizer+StrokeLinearizer`1[System.__Canon]:EmitPointStrokeContour(SixLabors.ImageSharp.PointF,bool):this (FullOpts)
-12 (-4.78 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Png.Filters.PaethFilter:PaethPredictor(System.Numerics.Vector`1[byte],System.Numerics.Vector`1[byte],System.Numerics.Vector`1[byte]):System.Numerics.Vector`1[byte] (FullOpts)
-12 (-11.32 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Numerics:Accumulate(byref,System.Numerics.Vector`1[byte]) (FullOpts)
-12 (-2.48 % of base) : System.Private.CoreLib.dasm - System.Double:<RootN>g__NegativeN|242_1(double,int):double (FullOpts)
-12 (-2.53 % of base) : System.Private.CoreLib.dasm - System.Double:<RootN>g__PositiveN|242_0(double,int):double (FullOpts)
-12 (-10.91 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives:Finalize[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):double (FullOpts)
-12 (-10.34 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+WidenByteToSingleOperator:Invoke(System.Runtime.Intrinsics.Vector256`1[byte]):System.ValueTuple`4[System.Runtime.Intrinsics.Vector256`1[float],System.Runtime.Intrinsics.Vector256`1[float],System.Runtime.Intrinsics.Vector256`1[float],System.Runtime.Intrinsics.Vector256`1[float]] (FullOpts)
-12 (-8.70 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+WidenByteToSingleOperator:Invoke(System.Runtime.Intrinsics.Vector512`1[byte]):System.ValueTuple`4[System.Runtime.Intrinsics.Vector512`1[float],System.Runtime.Intrinsics.Vector512`1[float],System.Runtime.Intrinsics.Vector512`1[float],System.Runtime.Intrinsics.Vector512`1[float]] (FullOpts)
-12 (-13.04 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+WidenByteToUInt32Operator:Invoke(System.Runtime.Intrinsics.Vector256`1[byte]):System.ValueTuple`4[System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint]] (FullOpts)
-12 (-10.53 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+WidenByteToUInt32Operator:Invoke(System.Runtime.Intrinsics.Vector512`1[byte]):System.ValueTuple`4[System.Runtime.Intrinsics.Vector512`1[uint],System.Runtime.Intrinsics.Vector512`1[uint],System.Runtime.Intrinsics.Vector512`1[uint],System.Runtime.Intrinsics.Vector512`1[uint]] (FullOpts)
-12 (-10.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[byte](System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-12 (-14.46 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-12 (-14.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[long](System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-12 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-12 (-7.74 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:MultiplyAddEstimate[byte](System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte] (FullOpts)
-12 (-10.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:MultiplyAddEstimate[int](System.Runtime.Intrinsics.Vector512`1[int],System.Runtime.Intrinsics.Vector512`1[int],System.Runtime.Intrinsics.Vector512`1[int]):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts)
-12 (-10.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:MultiplyAddEstimate[long](System.Runtime.Intrinsics.Vector512`1[long],System.Runtime.Intrinsics.Vector512`1[long],System.Runtime.Intrinsics.Vector512`1[long]):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts)
-12 (-10.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:MultiplyAddEstimate[short](System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short],System.Runtime.Intrinsics.Vector512`1[short]):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-12 (-2.54 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:op_Division(System.Runtime.Intrinsics.Vector512`1[short],short):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts)
-12 (-3.08 % of base) : System.Private.CoreLib.dasm - System.Single:<RootN>g__NegativeN|242_1(float,int):float (FullOpts)
-12 (-3.16 % of base) : System.Private.CoreLib.dasm - System.Single:<RootN>g__PositiveN|242_0(float,int):float (FullOpts)
-11 (-2.33 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.ColorProfiles.Icc.Calculators.ClutCalculator:Interpolate2d(ptr,ptr):this (FullOpts)
-10 (-1.73 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.JpegColorConverterBase+YCbCrScalar:ConvertToRgbInPlace(byref,float,float) (FullOpts)
-10 (-6.85 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Matrix3x2Extensions:CreateSkewDegrees(float,float):System.Numerics.Matrix3x2 (FullOpts)
-10 (-7.46 % of base) : System.Private.CoreLib.dasm - System.Numerics.Matrix3x2:CreateSkew(float,float):System.Numerics.Matrix3x2 (FullOpts)
-9 (-1.32 % of base) : BepuPhysics.dasm - BepuPhysics.Trees.Tree:PartitionSubtreesWorker(long,ptr,int,BepuUtilities.IThreadDispatcher) (FullOpts)
-9 (-0.70 % of base) : SixLabors.ImageSharp.Drawing.dasm - SixLabors.ImageSharp.Drawing.Processing.Backends.DefaultRasterizer+StrokeLinearizer`1[System.__Canon]:BuildContourSegments(System.ReadOnlySpan`1[SixLabors.ImageSharp.PointF],bool,System.Span`1[SixLabors.ImageSharp.Drawing.Processing.Backends.DefaultRasterizer+StrokeLinearizer`1+StrokeContourSegment[System.__Canon]],byref,byref):int:this (FullOpts)
-8 (-2.47 % of base) : ClosedXML.dasm - ClosedXML.Excel.CalcEngine.Functions.XLMath:Round(double,double):double (FullOpts)
-8 (-3.38 % of base) : ClosedXML.dasm - ClosedXML.Excel.XLHelper:NoCToPixels(double,ClosedXML.Excel.IXLFont,ClosedXML.Excel.XLWorkbook):int (FullOpts)
-8 (-2.11 % of base) : ClosedXML.Parser.dasm - ClosedXML.Parser.NameUtils:IsSheetNameValid(System.ReadOnlySpan`1[char]):bool (FullOpts)
-8 (-1.79 % of base) : CommunityToolkit.HighPerformance.dasm - CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper:CountSimd[double](byref,nint,double):nint (FullOpts)
Top method regressions (percentages):
4 (0.31 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.FontGlyphMetrics:RenderDecorationsTo(SixLabors.Fonts.Rendering.IGlyphRenderer,System.Numerics.Vector2,int,System.Numerics.Matrix3x2,float,SixLabors.Fonts.TextOptions):this (FullOpts)
1 (0.14 % of base) : System.Private.CoreLib.dasm - System.Text.Ascii:WidenAsciiToUtf16(ptr,ptr,nuint):nuint (FullOpts)
Top method improvements (percentages):
-8 (-17.39 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex`1[double]:MultiplyAddEstimate(System.Numerics.Complex`1[double],System.Numerics.Complex`1[double],System.Numerics.Complex`1[double]):System.Numerics.Complex`1[double] (FullOpts)
-4 (-16.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.81 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector512`1[double]):double (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[byte](byte):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[byte](System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](System.Runtime.Intrinsics.Vector128`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](long):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](short):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-4 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](System.Runtime.Intrinsics.Vector128`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-12 (-14.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-12 (-14.46 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Buffers.IndexOfAnyAsciiSearcher+AnyByteState:.ctor(System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Buffers.BitVector256):this (FullOpts)
-12 (-14.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:MultiplyAddEstimate[long](System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Equals[byte](System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Equals[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Equals[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GreaterThan[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GreaterThan[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:LessThan[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:LessThan[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_Addition(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_BitwiseAnd(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_BitwiseOr(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_ExclusiveOr(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[byte]:op_Subtraction(System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Addition(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_BitwiseAnd(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_BitwiseOr(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Division(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_ExclusiveOr(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Multiply(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Subtraction(System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:op_Addition(System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:op_BitwiseAnd(System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:op_BitwiseOr(System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:op_ExclusiveOr(System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:op_Subtraction(System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:op_Addition(System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:op_BitwiseAnd(System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:op_BitwiseOr(System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:op_ExclusiveOr(System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:op_Subtraction(System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:op_Addition(System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:op_BitwiseAnd(System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:op_BitwiseOr(System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:op_ExclusiveOr(System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:op_Multiply(System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-14.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:op_Subtraction(System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-13.79 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:ConcatLowerLower[byte](System.Numerics.Vector`1[byte],System.Numerics.Vector`1[byte]):System.Numerics.Vector`1[byte] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:ConcatLowerLower[double](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[double] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:ConcatLowerLower[int](System.Numerics.Vector`1[int],System.Numerics.Vector`1[int]):System.Numerics.Vector`1[int] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:ConcatLowerLower[long](System.Numerics.Vector`1[long],System.Numerics.Vector`1[long]):System.Numerics.Vector`1[long] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:ConcatLowerLower[short](System.Numerics.Vector`1[short],System.Numerics.Vector`1[short]):System.Numerics.Vector`1[short] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ConcatLowerLower[byte](System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ConcatLowerLower[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ConcatLowerLower[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ConcatLowerLower[long](System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-4 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ConcatLowerLower[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-13.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Sum(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Equals[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Equals[long](System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GreaterThan[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GreaterThan[long](System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GreaterThanOrEqual[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:LessThan[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:LessThan[long](System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:LessThanOrEqual[double](System.Runtime.Intrinsics.Vector256`1[double],System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ShiftLeft(System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint]):System.Runtime.Intrinsics.Vector256`1[uint] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ShiftLeft(System.Runtime.Intrinsics.Vector256`1[ulong],System.Runtime.Intrinsics.Vector256`1[ulong]):System.Runtime.Intrinsics.Vector256`1[ulong] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:UnzipEven[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:UnzipOdd[int](System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-13.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:op_Multiply(System.Runtime.Intrinsics.Vector256`1[int],System.Runtime.Intrinsics.Vector256`1[int]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts)
-8 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AddSaturate[byte](System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AddSaturate[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:SubtractSaturate[byte](System.Runtime.Intrinsics.Vector256`1[byte],System.Runtime.Intrinsics.Vector256`1[byte]):System.Runtime.Intrinsics.Vector256`1[byte] (FullOpts)
-8 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:SubtractSaturate[short](System.Runtime.Intrinsics.Vector256`1[short],System.Runtime.Intrinsics.Vector256`1[short]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
-8 (-13.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:op_Multiply(System.Runtime.Intrinsics.Vector256`1[long],System.Runtime.Intrinsics.Vector256`1[long]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts)
-12 (-13.04 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+WidenByteToUInt32Operator:Invoke(System.Runtime.Intrinsics.Vector256`1[byte]):System.ValueTuple`4[System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint],System.Runtime.Intrinsics.Vector256`1[uint]] (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+IndexOfMaxOperator`1[long]:Aggregate(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+IndexOfMinOperator`1[long]:Aggregate(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MaxNumberOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MaxOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MinNumberOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MinOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.31 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector512`1[long]):long (FullOpts)
-8 (-12.12 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[int]:Invoke(System.Runtime.Intrinsics.Vector512`1[int]):int (FullOpts)
-4 (-12.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CreateAlternatingSequence[double](double,double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
-4 (-12.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ExtractMostSignificantBits[byte](System.Runtime.Intrinsics.Vector256`1[byte]):uint (FullOpts)
-4 (-12.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ExtractMostSignificantBits[double](System.Runtime.Intrinsics.Vector256`1[double]):uint (FullOpts)
-4 (-12.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ExtractMostSignificantBits[int](System.Runtime.Intrinsics.Vector256`1[int]):uint (FullOpts)
-4 (-12.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:ExtractMostSignificantBits[long](System.Runtime.Intrinsics.Vector256`1[long]):uint (FullOpts)
-8 (-12.12 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Sum(System.Runtime.Intrinsics.Vector512`1[int]):int (FullOpts)
-4 (-11.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector256`1[double]):double (FullOpts)
-4 (-11.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector256`1[double]):double (FullOpts)
-4 (-11.76 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives+RoundAwayFromZeroOperator`1[double]:Invoke(double):double (FullOpts)
-4 (-11.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Sum(System.Numerics.Vector`1[double]):double (FullOpts)
1067 total methods with Code Size differences (1065 improved, 2 regressed), 2113162 unchanged.
--------------------------------------------------------------------------------
Artifacts:
- PackageList.json (200 KB)
- diff-frameworks.txt (50 KB)
- ShortDiffsRegressions.md (57 KB)
- ShortDiffsImprovements.md (54 KB)
- LongDiffsImprovements.md (547 KB)
- jit-diffs-pr.7z (381 MB)
- jit-diffs-main.7z (381 MB)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
MihuBot commentedon Jul 11, 2026
Top method regressions
4 (0.31 % of base) - SixLabors.Fonts.FontGlyphMetrics:RenderDecorationsTo(SixLabors.Fonts.Rendering.IGlyphRenderer,System.Numerics.Vector2,int,System.Numerics.Matrix3x2,float,SixLabors.Fonts.TextOptions):this
1 (0.14 % of base) - System.Text.Ascii:WidenAsciiToUtf16(ptr,ptr,nuint):nuint
; Assembly listing for method System.Text.Ascii:WidenAsciiToUtf16(ptr,ptr,nuint):nuint (FullOpts) ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 98 single block inlinees; 16 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 12, 21 ) long -> rdi single-def ; V01 arg1 [V01,T03] ( 19, 17.50) long -> rsi single-def ; V02 arg2 [V02,T08] ( 9, 6.50) long -> rdx single-def ; V03 loc0 [V03,T00] ( 43, 94.50) long -> rax ld-addr-op ; V04 loc1 [V04,T13] ( 5, 3.50) long -> rdx ; V05 loc2 [V05,T01] ( 17, 33 ) int -> r8 ; V06 loc3 [V06,T12] ( 2, 4.50) long -> rcx ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty> ; V08 tmp1 [V08,T04] ( 9, 18.50) long -> r8 "Inline stloc first use temp" ; V09 tmp2 [V09,T09] ( 3, 5.50) long -> rcx "Inline stloc first use temp" ; V10 tmp3 [V10,T14] ( 8, 18 ) simd64 -> mm0 "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[byte]> ;* V11 tmp4 [V11 ] ( 0, 0 ) struct (128) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V12 tmp5 [V12 ] ( 0, 0 ) simd64 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V13 tmp6 [V13 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V14 tmp7 [V14 ] ( 0, 0 ) struct (128) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V15 tmp8 [V15 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V16 tmp9 [V16 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V17 tmp10 [V17 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V18 tmp11 [V18 ] ( 0, 0 ) simd64 -> zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[byte]> ;* V19 tmp12 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V20 tmp13 [V20 ] ( 0, 0 ) struct (128) zero-ref "Inline return value spill temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V21 tmp14 [V21 ] ( 0, 0 ) struct (128) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V22 tmp15 [V22 ] ( 0, 0 ) simd64 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V23 tmp16 [V23 ] ( 0, 0 ) simd64 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V24 tmp17 [V24 ] ( 0, 0 ) struct (128) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V25 tmp18 [V25 ] ( 0, 0 ) struct (128) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ; V26 tmp19 [V26,T26] ( 2, 2 ) simd64 -> mm2 "Inlining Arg" <System.Runtime.Intrinsics.Vector512`1[ushort]> ; V27 tmp20 [V27,T27] ( 2, 2 ) simd64 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V28 tmp21 [V28 ] ( 0, 0 ) simd64 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V29 tmp22 [V29 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V30 tmp23 [V30 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V31 tmp24 [V31 ] ( 0, 0 ) simd64 -> zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[byte]> ;* V32 tmp25 [V32 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V33 tmp26 [V33 ] ( 0, 0 ) struct (128) zero-ref "Inline return value spill temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V34 tmp27 [V34 ] ( 0, 0 ) struct (128) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V35 tmp28 [V35 ] ( 0, 0 ) simd64 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V36 tmp29 [V36 ] ( 0, 0 ) simd64 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V37 tmp30 [V37 ] ( 0, 0 ) struct (128) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ;* V38 tmp31 [V38 ] ( 0, 0 ) struct (128) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[ushort],System.Runtime.Intrinsics.Vector512`1[ushort]]> ; V39 tmp32 [V39,T17] ( 2, 16 ) simd64 -> mm2 "Inlining Arg" <System.Runtime.Intrinsics.Vector512`1[ushort]> ; V40 tmp33 [V40,T18] ( 2, 16 ) simd64 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V41 tmp34 [V41 ] ( 0, 0 ) simd64 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector512`1[ushort]> ;* V42 tmp35 [V42 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V43 tmp36 [V43,T05] ( 9, 18.50) long -> r8 "Inline stloc first use temp" ; V44 tmp37 [V44,T10] ( 3, 5.50) long -> rcx "Inline stloc first use temp" ; V45 tmp38 [V45,T15] ( 8, 18 ) simd32 -> mm0 "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[byte]> ;* V46 tmp39 [V46 ] ( 0, 0 ) struct (64) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V47 tmp40 [V47 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V48 tmp41 [V48 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V49 tmp42 [V49 ] ( 0, 0 ) struct (64) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V50 tmp43 [V50 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V51 tmp44 [V51 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V52 tmp45 [V52 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V53 tmp46 [V53 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[byte]> ;* V54 tmp47 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V55 tmp48 [V55 ] ( 0, 0 ) struct (64) zero-ref "Inline return value spill temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V56 tmp49 [V56 ] ( 0, 0 ) struct (64) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V57 tmp50 [V57 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V58 tmp51 [V58 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V59 tmp52 [V59 ] ( 0, 0 ) struct (64) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V60 tmp53 [V60 ] ( 0, 0 ) struct (64) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ; V61 tmp54 [V61,T28] ( 2, 2 ) simd32 -> mm2 "Inlining Arg" <System.Runtime.Intrinsics.Vector256`1[ushort]> ; V62 tmp55 [V62,T29] ( 2, 2 ) simd32 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V63 tmp56 [V63 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V64 tmp57 [V64 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V65 tmp58 [V65 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V66 tmp59 [V66 ] ( 0, 0 ) simd32 -> zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[byte]> ;* V67 tmp60 [V67 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V68 tmp61 [V68 ] ( 0, 0 ) struct (64) zero-ref "Inline return value spill temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V69 tmp62 [V69 ] ( 0, 0 ) struct (64) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V70 tmp63 [V70 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V71 tmp64 [V71 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V72 tmp65 [V72 ] ( 0, 0 ) struct (64) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ;* V73 tmp66 [V73 ] ( 0, 0 ) struct (64) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector256`1[ushort],System.Runtime.Intrinsics.Vector256`1[ushort]]> ; V74 tmp67 [V74,T19] ( 2, 16 ) simd32 -> mm2 "Inlining Arg" <System.Runtime.Intrinsics.Vector256`1[ushort]> ; V75 tmp68 [V75,T20] ( 2, 16 ) simd32 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V76 tmp69 [V76 ] ( 0, 0 ) simd32 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector256`1[ushort]> ;* V77 tmp70 [V77 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V78 tmp71 [V78,T06] ( 9, 18.50) long -> r8 "Inline stloc first use temp" ; V79 tmp72 [V79,T11] ( 3, 5.50) long -> rcx "Inline stloc first use temp" ; V80 tmp73 [V80,T16] ( 8, 18 ) simd16 -> mm0 "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[byte]> ;* V81 tmp74 [V81 ] ( 0, 0 ) struct (32) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V82 tmp75 [V82 ] ( 0, 0 ) simd16 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V83 tmp76 [V83 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V84 tmp77 [V84 ] ( 0, 0 ) struct (32) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V85 tmp78 [V85 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V86 tmp79 [V86 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V87 tmp80 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V88 tmp81 [V88 ] ( 0, 0 ) simd16 -> zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[byte]> ;* V89 tmp82 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V90 tmp83 [V90 ] ( 0, 0 ) struct (32) zero-ref "Inline return value spill temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V91 tmp84 [V91 ] ( 0, 0 ) struct (32) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V92 tmp85 [V92 ] ( 0, 0 ) simd16 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V93 tmp86 [V93 ] ( 0, 0 ) simd16 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V94 tmp87 [V94 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V95 tmp88 [V95 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ; V96 tmp89 [V96,T30] ( 2, 2 ) simd16 -> mm2 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ushort]> ; V97 tmp90 [V97,T31] ( 2, 2 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V98 tmp91 [V98 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V99 tmp92 [V99 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V100 tmp93 [V100 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V101 tmp94 [V101 ] ( 0, 0 ) simd16 -> zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[byte]> ;* V102 tmp95 [V102 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V103 tmp96 [V103 ] ( 0, 0 ) struct (32) zero-ref "Inline return value spill temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V104 tmp97 [V104 ] ( 0, 0 ) struct (32) zero-ref "dup spill" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V105 tmp98 [V105 ] ( 0, 0 ) simd16 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V106 tmp99 [V106 ] ( 0, 0 ) simd16 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V107 tmp100 [V107 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ;* V108 tmp101 [V108 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]> ; V109 tmp102 [V109,T21] ( 2, 16 ) simd16 -> mm2 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ushort]> ; V110 tmp103 [V110,T22] ( 2, 16 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V111 tmp104 [V111 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ushort]> ;* V112 tmp105 [V112 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V113 tmp106 [V113 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V114 tmp107 [V114 ] ( 0, 0 ) simd16 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector128`1[ulong]> ; V115 tmp108 [V115,T07] ( 2, 16 ) byref -> r9 "Inlining Arg" ;* V116 tmp109 [V116 ] ( 0, 0 ) simd64 -> zero-ref "field V11.Item1 (fldOffset=0x0)" P-INDEP ;* V117 tmp110 [V117 ] ( 0, 0 ) simd64 -> zero-ref "field V11.Item2 (fldOffset=0x40)" P-INDEP ;* V118 tmp111 [V118 ] ( 0, 0 ) simd64 -> zero-ref "field V14.Item1 (fldOffset=0x0)" P-INDEP ;* V119 tmp112 [V119 ] ( 0, 0 ) simd64 -> zero-ref "field V14.Item2 (fldOffset=0x40)" P-INDEP ;* V120 tmp113 [V120 ] ( 0, 0 ) simd64 -> zero-ref "field V20.Item1 (fldOffset=0x0)" P-INDEP ;* V121 tmp114 [V121 ] ( 0, 0 ) simd64 -> zero-ref "field V20.Item2 (fldOffset=0x40)" P-INDEP ;* V122 tmp115 [V122 ] ( 0, 0 ) simd64 -> zero-ref "field V21.Item1 (fldOffset=0x0)" P-INDEP ;* V123 tmp116 [V123 ] ( 0, 0 ) simd64 -> zero-ref "field V21.Item2 (fldOffset=0x40)" P-INDEP ;* V124 tmp117 [V124 ] ( 0, 0 ) simd64 -> zero-ref "field V24.Item1 (fldOffset=0x0)" P-INDEP ;* V125 tmp118 [V125 ] ( 0, 0 ) simd64 -> zero-ref "field V24.Item2 (fldOffset=0x40)" P-INDEP ;* V126 tmp119 [V126 ] ( 0, 0 ) simd64 -> zero-ref "field V25.Item1 (fldOffset=0x0)" P-INDEP ;* V127 tmp120 [V127 ] ( 0, 0 ) simd64 -> zero-ref "field V25.Item2 (fldOffset=0x40)" P-INDEP ;* V128 tmp121 [V128 ] ( 0, 0 ) simd64 -> zero-ref "field V33.Item1 (fldOffset=0x0)" P-INDEP ;* V129 tmp122 [V129 ] ( 0, 0 ) simd64 -> zero-ref "field V33.Item2 (fldOffset=0x40)" P-INDEP ;* V130 tmp123 [V130 ] ( 0, 0 ) simd64 -> zero-ref "field V34.Item1 (fldOffset=0x0)" P-INDEP ;* V131 tmp124 [V131 ] ( 0, 0 ) simd64 -> zero-ref "field V34.Item2 (fldOffset=0x40)" P-INDEP ;* V132 tmp125 [V132 ] ( 0, 0 ) simd64 -> zero-ref "field V37.Item1 (fldOffset=0x0)" P-INDEP ;* V133 tmp126 [V133 ] ( 0, 0 ) simd64 -> zero-ref "field V37.Item2 (fldOffset=0x40)" P-INDEP ;* V134 tmp127 [V134 ] ( 0, 0 ) simd64 -> zero-ref "field V38.Item1 (fldOffset=0x0)" P-INDEP ;* V135 tmp128 [V135 ] ( 0, 0 ) simd64 -> zero-ref "field V38.Item2 (fldOffset=0x40)" P-INDEP ;* V136 tmp129 [V136 ] ( 0, 0 ) simd32 -> zero-ref "field V46.Item1 (fldOffset=0x0)" P-INDEP ;* V137 tmp130 [V137 ] ( 0, 0 ) simd32 -> zero-ref "field V46.Item2 (fldOffset=0x20)" P-INDEP ;* V138 tmp131 [V138 ] ( 0, 0 ) simd32 -> zero-ref "field V49.Item1 (fldOffset=0x0)" P-INDEP ;* V139 tmp132 [V139 ] ( 0, 0 ) simd32 -> zero-ref "field V49.Item2 (fldOffset=0x20)" P-INDEP ;* V140 tmp133 [V140 ] ( 0, 0 ) simd32 -> zero-ref "field V55.Item1 (fldOffset=0x0)" P-INDEP ;* V141 tmp134 [V141 ] ( 0, 0 ) simd32 -> zero-ref "field V55.Item2 (fldOffset=0x20)" P-INDEP ;* V142 tmp135 [V142 ] ( 0, 0 ) simd32 -> zero-ref "field V56.Item1 (fldOffset=0x0)" P-INDEP ;* V143 tmp136 [V143 ] ( 0, 0 ) simd32 -> zero-ref "field V56.Item2 (fldOffset=0x20)" P-INDEP ;* V144 tmp137 [V144 ] ( 0, 0 ) simd32 -> zero-ref "field V59.Item1 (fldOffset=0x0)" P-INDEP ;* V145 tmp138 [V145 ] ( 0, 0 ) simd32 -> zero-ref "field V59.Item2 (fldOffset=0x20)" P-INDEP ;* V146 tmp139 [V146 ] ( 0, 0 ) simd32 -> zero-ref "field V60.Item1 (fldOffset=0x0)" P-INDEP ;* V147 tmp140 [V147 ] ( 0, 0 ) simd32 -> zero-ref "field V60.Item2 (fldOffset=0x20)" P-INDEP ;* V148 tmp141 [V148 ] ( 0, 0 ) simd32 -> zero-ref "field V68.Item1 (fldOffset=0x0)" P-INDEP ;* V149 tmp142 [V149 ] ( 0, 0 ) simd32 -> zero-ref "field V68.Item2 (fldOffset=0x20)" P-INDEP ;* V150 tmp143 [V150 ] ( 0, 0 ) simd32 -> zero-ref "field V69.Item1 (fldOffset=0x0)" P-INDEP ;* V151 tmp144 [V151 ] ( 0, 0 ) simd32 -> zero-ref "field V69.Item2 (fldOffset=0x20)" P-INDEP ;* V152 tmp145 [V152 ] ( 0, 0 ) simd32 -> zero-ref "field V72.Item1 (fldOffset=0x0)" P-INDEP ;* V153 tmp146 [V153 ] ( 0, 0 ) simd32 -> zero-ref "field V72.Item2 (fldOffset=0x20)" P-INDEP ;* V154 tmp147 [V154 ] ( 0, 0 ) simd32 -> zero-ref "field V73.Item1 (fldOffset=0x0)" P-INDEP ;* V155 tmp148 [V155 ] ( 0, 0 ) simd32 -> zero-ref "field V73.Item2 (fldOffset=0x20)" P-INDEP ;* V156 tmp149 [V156 ] ( 0, 0 ) simd16 -> zero-ref "field V81.Item1 (fldOffset=0x0)" P-INDEP ;* V157 tmp150 [V157 ] ( 0, 0 ) simd16 -> zero-ref "field V81.Item2 (fldOffset=0x10)" P-INDEP ;* V158 tmp151 [V158 ] ( 0, 0 ) simd16 -> zero-ref "field V84.Item1 (fldOffset=0x0)" P-INDEP ;* V159 tmp152 [V159 ] ( 0, 0 ) simd16 -> zero-ref "field V84.Item2 (fldOffset=0x10)" P-INDEP ;* V160 tmp153 [V160 ] ( 0, 0 ) simd16 -> zero-ref "field V90.Item1 (fldOffset=0x0)" P-INDEP ;* V161 tmp154 [V161 ] ( 0, 0 ) simd16 -> zero-ref "field V90.Item2 (fldOffset=0x10)" P-INDEP ;* V162 tmp155 [V162 ] ( 0, 0 ) simd16 -> zero-ref "field V91.Item1 (fldOffset=0x0)" P-INDEP ;* V163 tmp156 [V163 ] ( 0, 0 ) simd16 -> zero-ref "field V91.Item2 (fldOffset=0x10)" P-INDEP ;* V164 tmp157 [V164 ] ( 0, 0 ) simd16 -> zero-ref "field V94.Item1 (fldOffset=0x0)" P-INDEP ;* V165 tmp158 [V165 ] ( 0, 0 ) simd16 -> zero-ref "field V94.Item2 (fldOffset=0x10)" P-INDEP ;* V166 tmp159 [V166 ] ( 0, 0 ) simd16 -> zero-ref "field V95.Item1 (fldOffset=0x0)" P-INDEP ;* V167 tmp160 [V167 ] ( 0, 0 ) simd16 -> zero-ref "field V95.Item2 (fldOffset=0x10)" P-INDEP ;* V168 tmp161 [V168 ] ( 0, 0 ) simd16 -> zero-ref "field V103.Item1 (fldOffset=0x0)" P-INDEP ;* V169 tmp162 [V169 ] ( 0, 0 ) simd16 -> zero-ref "field V103.Item2 (fldOffset=0x10)" P-INDEP ;* V170 tmp163 [V170 ] ( 0, 0 ) simd16 -> zero-ref "field V104.Item1 (fldOffset=0x0)" P-INDEP ;* V171 tmp164 [V171 ] ( 0, 0 ) simd16 -> zero-ref "field V104.Item2 (fldOffset=0x10)" P-INDEP ;* V172 tmp165 [V172 ] ( 0, 0 ) simd16 -> zero-ref "field V107.Item1 (fldOffset=0x0)" P-INDEP ;* V173 tmp166 [V173 ] ( 0, 0 ) simd16 -> zero-ref "field V107.Item2 (fldOffset=0x10)" P-INDEP ;* V174 tmp167 [V174 ] ( 0, 0 ) simd16 -> zero-ref "field V108.Item1 (fldOffset=0x0)" P-INDEP ;* V175 tmp168 [V175 ] ( 0, 0 ) simd16 -> zero-ref "field V108.Item2 (fldOffset=0x10)" P-INDEP ; V176 cse0 [V176,T23] ( 3, 5 ) simd64 -> mm1 "CSE #01: moderate" ; V177 cse1 [V177,T24] ( 3, 5 ) simd32 -> mm1 "CSE #02: moderate" ; V178 cse2 [V178,T25] ( 3, 5 ) simd16 -> mm1 "CSE #03: moderate" ; ; Lcl frame size = 0 G_M35753_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M35753_IG02: xor eax, eax cmp rdx, 16 jb G_M35753_IG15 ;; size=12 bbWeight=1 PerfScore 1.50 G_M35753_IG03: cmp rdx, 64 jae G_M35753_IG11 cmp rdx, 32 jae G_M35753_IG07 lea rcx, [rdx-0x10] vmovups xmm0, xmmword ptr [rdi] vbroadcastss xmm1, dword ptr [reloc @RWD00] vptest xmm1, xmm0 jne G_M35753_IG15 vpmovzxbw xmm2, xmm0 vpsrldq xmm0, xmm0, 8 vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [rsi], xmm2 vmovups xmmword ptr [rsi+0x10], xmm0 lea r8, [rsi+0x20] test r8b, 1 je SHORT G_M35753_IG04 mov eax, 16 jmp SHORT G_M35753_IG05 align [1 bytes for IG06] ;; size=90 bbWeight=0.50 PerfScore 10.00 G_M35753_IG04: and r8, -16 mov rax, r8 sub rax, rsi shr rax, 1 ;; size=13 bbWeight=0.50 PerfScore 0.62 G_M35753_IG05: cmp rax, rcx ja G_M35753_IG15 ;; size=9 bbWeight=1 PerfScore 1.25 G_M35753_IG06: vmovups xmm0, xmmword ptr [rdi+rax] vptest xmm1, xmm0 jne G_M35753_IG15 vpmovzxbw xmm2, xmm0 vpsrldq xmm0, xmm0, 8 vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [r8], xmm2 vmovups xmmword ptr [r8+0x10], xmm0 add rax, 16 add r8, 32 cmp rax, rcx jbe SHORT G_M35753_IG06 jmp G_M35753_IG15 ;; size=60 bbWeight=4 PerfScore 59.00 G_M35753_IG07: lea rcx, [rdx-0x20] vmovups ymm0, ymmword ptr [rdi] vbroadcastss ymm1, dword ptr [reloc @RWD00] vptest ymm1, ymm0 jne G_M35753_IG15 - vmovaps xmm2, xmm0 - vpmovzxbw ymm2, xmm2 + vpmovzxbw ymm2, xmm0 vextracti128 xmm0, ymm0 vpmovzxbw ymm0, xmm0 vmovups ymmword ptr [rsi], ymm2 vmovups ymmword ptr [rsi+0x20], ymm0 lea r8, [rsi+0x40] test r8b, 1 je SHORT G_M35753_IG08 mov eax, 32 jmp SHORT G_M35753_IG09 - align [0 bytes for IG10] - ;; size=74 bbWeight=0.50 PerfScore 13.38 + align [8 bytes for IG10] + ;; size=78 bbWeight=0.50 PerfScore 13.25 G_M35753_IG08: and r8, -32 mov rax, r8 sub rax, rsi shr rax, 1 ;; size=13 bbWeight=0.50 PerfScore 0.62 G_M35753_IG09: cmp rax, rcx ja G_M35753_IG15 ;; size=9 bbWeight=1 PerfScore 1.25 G_M35753_IG10: vmovups ymm0, ymmword ptr [rdi+rax] vptest ymm1, ymm0 jne G_M35753_IG15 - vmovaps xmm2, xmm0 - vpmovzxbw ymm2, xmm2 + vpmovzxbw ymm2, xmm0 vextracti128 xmm0, ymm0 vpmovzxbw ymm0, xmm0 vmovups ymmword ptr [r8], ymm2 vmovups ymmword ptr [r8+0x20], ymm0 add rax, 32 add r8, 64 cmp rax, rcx jbe SHORT G_M35753_IG10 jmp G_M35753_IG15 - ;; size=65 bbWeight=4 PerfScore 84.00 + ;; size=61 bbWeight=4 PerfScore 83.00 G_M35753_IG11: lea rcx, [rdx-0x40] vmovups zmm0, zmmword ptr [rdi] vbroadcastss zmm1, dword ptr [reloc @RWD00] vptestmd k1, zmm0, zmm1 kortestw k1, k1 + ;; NOP compensation instructions of 2 bytes. jne G_M35753_IG15 - vmovaps ymm2, ymm0 - vpmovzxbw zmm2, ymm2 + vpmovzxbw zmm2, ymm0 vextracti32x8 ymm0, zmm0, 1 vpmovzxbw zmm0, ymm0 vmovups zmmword ptr [rsi], zmm2 vmovups zmmword ptr [rsi+0x40], zmm0 lea r8, [rsi+0x80] test r8b, 1 je SHORT G_M35753_IG12 mov eax, 64 jmp SHORT G_M35753_IG13 align [0 bytes for IG14] - ;; size=92 bbWeight=0.50 PerfScore 14.88 + ;; size=90 bbWeight=0.50 PerfScore 14.75 G_M35753_IG12: and r8, -64 mov rax, r8 sub rax, rsi shr rax, 1 ;; size=13 bbWeight=0.50 PerfScore 0.62 G_M35753_IG13: cmp rax, rcx ja SHORT G_M35753_IG15 ;; size=5 bbWeight=1 PerfScore 1.25 G_M35753_IG14: vmovups zmm0, zmmword ptr [rdi+rax] vptestmd k1, zmm0, zmm1 kortestw k1, k1 + ;; NOP compensation instructions of 2 bytes. jne SHORT G_M35753_IG15 - vmovaps ymm2, ymm0 - vpmovzxbw zmm2, ymm2 + vpmovzxbw zmm2, ymm0 vextracti32x8 ymm0, zmm0, 1 vpmovzxbw zmm0, ymm0 vmovups zmmword ptr [r8], zmm2 vmovups zmmword ptr [r8+0x40], zmm0 add rax, 64 add r8, 128 cmp rax, rcx jbe SHORT G_M35753_IG14 - ;; size=71 bbWeight=4 PerfScore 84.00 + ;; size=69 bbWeight=4 PerfScore 83.00 G_M35753_IG15: sub rdx, rax cmp rdx, 4 jb SHORT G_M35753_IG21 - ;; size=9 bbWeight=1 PerfScore 1.50 + ;; NOP compensation instructions of 4 bytes. + ;; size=13 bbWeight=1 PerfScore 1.50 G_M35753_IG16: lea rcx, [rax+rdx-0x04] mov r8d, dword ptr [rdi+rax] test r8d, 0xD1FFAB1E jne SHORT G_M35753_IG18 align [0 bytes for IG17] ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M35753_IG17: lea r9, [rsi+2*rax] vmovd xmm0, r8d vpmovzxbw xmm0, xmm0 vmovq qword ptr [r9], xmm0 add rax, 4 cmp rax, rcx ja SHORT G_M35753_IG21 mov r8d, dword ptr [rdi+rax] test r8d, 0xD1FFAB1E je SHORT G_M35753_IG17 ;; size=41 bbWeight=4 PerfScore 45.00 G_M35753_IG18: movzx rcx, r8b test cl, 128 jne SHORT G_M35753_IG20 - align [0 bytes for IG19] - ;; size=9 bbWeight=0.50 PerfScore 0.75 + align [1 bytes for IG19] + ;; size=10 bbWeight=0.50 PerfScore 0.88 G_M35753_IG19: movzx rcx, r8b mov word ptr [rsi+2*rax], cx inc rax shr r8d, 8 movzx rcx, r8b test cl, 128 je SHORT G_M35753_IG19 ;; size=24 bbWeight=4 PerfScore 14.00 G_M35753_IG20: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M35753_IG21: test dl, 2 je SHORT G_M35753_IG22 movzx r8, word ptr [rdi+rax] test r8d, 0xD1FFAB1E jne SHORT G_M35753_IG18 movzx rcx, r8b mov word ptr [rsi+2*rax], cx shr r8d, 8 mov word ptr [rsi+2*rax+0x02], r8w add rax, 2 ;; size=41 bbWeight=0.50 PerfScore 3.75 G_M35753_IG22: test dl, 1 je SHORT G_M35753_IG20 movzx r8, byte ptr [rdi+rax] test r8b, 128 jne SHORT G_M35753_IG20 mov word ptr [rsi+2*rax], r8w inc rax jmp SHORT G_M35753_IG20 ;; size=26 bbWeight=0.50 PerfScore 3.88 RWD00 dd 80808080h ; -1.1801e-38 -; Total bytes of code 703, prolog size 4, PerfScore 347.12, instruction count 169, allocated bytes for code 711 (MethodHash=7f1b7456) for method System.Text.Ascii:WidenAsciiToUtf16(ptr,ptr,nuint):nuint (FullOpts) +; Total bytes of code 704, prolog size 4, PerfScore 345.00, instruction count 165, allocated bytes for code 704 (MethodHash=7f1b7456) for method System.Text.Ascii:WidenAsciiToUtf16(ptr,ptr,nuint):nuint (FullOpts) ; ============================================================MihuBot commentedon Jul 11, 2026
Top method improvements
-53 (-7.37 % of base) - System.Numerics.Tensors.TensorPrimitives+DivRemOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]]
-53 (-7.46 % of base) - System.Numerics.Tensors.TensorPrimitives+RemainderOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte]
-49 (-7.45 % of base) - System.Numerics.Tensors.TensorPrimitives+DivideOperator`1[byte]:Invoke(System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte]
-49 (-7.50 % of base) - System.Runtime.Intrinsics.Vector512:Divide[byte](System.Runtime.Intrinsics.Vector512`1[byte],byte):System.Runtime.Intrinsics.Vector512`1[byte]
-49 (-7.45 % of base) - System.Runtime.Intrinsics.Vector512:Divide[byte](System.Runtime.Intrinsics.Vector512`1[byte],System.Runtime.Intrinsics.Vector512`1[byte]):System.Runtime.Intrinsics.Vector512`1[byte]
Note: some changes were skipped as they were too large to fit into a comment.
Larger list of diffs: https://gist.github.com/MihuBot/42263c97df9e88398f50b442085eac2e
MihuBot commentedon Jul 11, 2026
@tannergooding