Skip to content

[JitDiff X64] [Daniel-Svensson] Add mulx support to Math.BigMul #2149

Description

@MihuBot

Job completed in 21 minutes 51 seconds (remote runner delay: 52 seconds).
dotnet/runtime#128787
Using arguments: -nuget
Main commit: dotnet/runtime@de29e26
PR commit: Daniel-Svensson/runtime@269b382

Diffs

Diffs
Found 112 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 409592118
Total bytes of diff: 409591734
Total bytes of delta: -384 (-0.00 % of base)
Total relative delta: -0.23
    diff is an improvement.
    relative diff is an improvement.


Total byte diff includes -19 bytes from reconciling methods
	Base had    1 unique methods,       19 unique bytes
	Diff had    0 unique methods,        0 unique bytes

Top file regressions (bytes):
         133 : System.IO.Hashing.dasm (0.34 % of base)
          36 : HotChocolate.Types.dasm (0.00 % of base)

Top file improvements (bytes):
        -395 : System.Private.CoreLib.dasm (-0.00 % of base)
         -82 : System.Runtime.Numerics.dasm (-0.03 % of base)
         -57 : System.Linq.dasm (-0.00 % of base)
         -19 : SixLabors.ImageSharp.dasm (-0.00 % of base)

6 total files with Code Size differences (4 improved, 2 regressed), 754 unchanged.

Top method regressions (bytes):
          38 (3.07 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength129To240(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
          35 (3.54 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength129To240(ptr,uint,ulong):ulong (FullOpts)
          30 (4.08 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength17To128(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
          22 (3.04 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength0To16(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
          21 (3.69 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength17To128(ptr,uint,ulong):ulong (FullOpts)
          20 (9.57 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength9To16(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
          18 (1.11 % of base) : HotChocolate.Types.dasm - HotChocolate.Types.Relay.DefaultNodeIdSerializer:ParseBase36(System.String,System.Func`2[System.String,System.Type]):HotChocolate.Types.Relay.NodeId:this (FullOpts)
          18 (1.11 % of base) : HotChocolate.Types.dasm - HotChocolate.Types.Relay.OptimizedNodeIdSerializer:ParseBase36(System.String,System.Func`2[System.String,System.Type]):HotChocolate.Types.Relay.NodeId:this (FullOpts)
          13 (2.28 % of base) : System.Private.CoreLib.dasm - System.Numerics.BigIntegerCalculator:SubMul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
          13 (2.28 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:SubMul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
          10 (1.10 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Divide(byref,byref,int,byref) (FullOpts)
          10 (1.18 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ReduceFractionNegative(System.UInt128,int,System.Span`1[ulong]) (FullOpts)
           9 (1.66 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMul(byref,byref) (FullOpts)
           9 (3.96 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator+InvariantDivisor:.ctor(nuint):this (FullOpts)
           7 (0.97 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:DivideInvariant(System.ReadOnlySpan`1[nuint],System.Numerics.BigIntegerCalculator+InvariantDivisor,int,System.Span`1[nuint],byref) (FullOpts)
           6 (0.29 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Pow(System.Number+DiyFp128,System.Number+DiyFp128):System.Number+DiyFp128 (FullOpts)
           5 (29.41 % of base) : System.Private.CoreLib.dasm - System.Int128:System.IBinaryIntegerParseAndFormatInfo<System.Int128>.MultiplyBy10(System.Int128):System.Int128 (FullOpts)
           5 (31.25 % of base) : System.Private.CoreLib.dasm - System.Int128:System.IBinaryIntegerParseAndFormatInfo<System.Int128>.MultiplyBy16(System.Int128):System.Int128 (FullOpts)
           5 (21.74 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Mix16Bytes(ptr,ulong,ulong,ulong):ulong (FullOpts)
           5 (0.80 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:TryMultiplyRepeatedLimb(System.ReadOnlySpan`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint]):bool (FullOpts)
           5 (29.41 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.IBinaryIntegerParseAndFormatInfo<System.UInt128>.MultiplyBy10(System.UInt128):System.UInt128 (FullOpts)
           5 (31.25 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.IBinaryIntegerParseAndFormatInfo<System.UInt128>.MultiplyBy16(System.UInt128):System.UInt128 (FullOpts)
           4 (0.71 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMod(byref,byref) (FullOpts)
           4 (3.33 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Mix32Bytes(byref,byref,ptr,ptr,ulong,ulong,ulong,ulong,ulong) (FullOpts)
           3 (0.69 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecFromFloat[double](double,byref) (FullOpts)
           3 (0.63 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int (FullOpts)
           2 (16.67 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale64(byref,uint) (FullOpts)
           2 (1.07 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarCyFromDec(byref):long (FullOpts)
           2 (1.32 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength4To8(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
           2 (7.69 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Multiply64To128(ulong,ulong,byref):ulong (FullOpts)
           2 (20.00 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Multiply64To128ThenFold(ulong,ulong):ulong (FullOpts)
           2 (7.69 % of base) : System.Private.CoreLib.dasm - System.Math:BigMul(ulong,ulong,byref):ulong (FullOpts)
           2 (28.57 % of base) : System.Private.CoreLib.dasm - System.Math:BigMul(ulong,ulong):System.UInt128 (FullOpts)
           2 (20.00 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128MultiplyHigh(ulong,ulong):ulong (FullOpts)
           2 (7.69 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMul(ulong,ulong,byref,byref) (FullOpts)
           2 (4.88 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulAdd(ulong,ulong,ulong,byref,byref) (FullOpts)
           2 (4.88 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulXAdd(ulong,ulong,ulong,ulong,byref,byref) (FullOpts)
           2 (2.00 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulXAddC(ulong,ulong,ulong,ulong,byref,byref,byref) (FullOpts)
           2 (1.87 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulXAddCwCarryIn(ulong,ulong,ulong,ulong,ulong,byref,byref,byref) (FullOpts)
           2 (2.74 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator+InvariantDivisor:DivRem(nuint,byref):nuint:this (FullOpts)
           2 (28.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.X86.X86Base+X64:BigMul(ulong,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
           2 (28.57 % of base) : System.Private.CoreLib.dasm - System.UInt64:BigMul(ulong,ulong):System.UInt128 (FullOpts)
           2 (7.69 % of base) : System.Private.CoreLib.dasm - System.UIntPtr:BigMul(nuint,nuint,byref):nuint (FullOpts)
           1 (0.06 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[long]:SampleToList(System.Collections.Generic.IEnumerable`1[long],int,byref):System.Collections.Generic.List`1[long] (FullOpts)
           1 (0.06 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[short]:SampleToList(System.Collections.Generic.IEnumerable`1[short],int,byref):System.Collections.Generic.List`1[short] (FullOpts)
           1 (0.19 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:MontgomeryReduce(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):int (FullOpts)

Top method improvements (bytes):
         -64 (-28.44 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (FullOpts)
         -42 (-6.92 % of base) : System.Private.CoreLib.dasm - System.Numerics.BigIntegerCalculator:MulAdd1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -42 (-6.92 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:MulAdd1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -38 (-21.23 % of base) : System.Private.CoreLib.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
         -32 (-2.25 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:DecAddSub(byref,byref,bool) (FullOpts)
         -31 (-6.98 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength0To16(ptr,uint,ulong):ulong (FullOpts)
         -30 (-21.58 % of base) : System.Private.CoreLib.dasm - System.UInt128:BigMul(System.UInt128,System.UInt128,byref):System.UInt128 (FullOpts)
         -25 (-6.79 % of base) : System.Private.CoreLib.dasm - System.UInt128:<DivRem>g__DivideSlow|83_0(System.UInt128,System.UInt128):System.ValueTuple`2[ulong,System.UInt128] (FullOpts)
         -23 (-4.89 % of base) : System.Private.CoreLib.dasm - System.Numerics.BigIntegerCalculator:Mul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -23 (-4.89 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:Mul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -21 (-2.20 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref) (FullOpts)
         -19 (-100.00 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Memory.ByteMemoryOwner`1[double]:get_Memory():System.Memory`1[double]:this (FullOpts) (1 base, 0 diff methods)
         -16 (-5.10 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ReduceBuildInteger(System.UInt128,int,System.Span`1[ulong]):int (FullOpts)
         -15 (-9.43 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div128By96(byref,byref):uint (FullOpts)
         -15 (-2.52 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:PowCore(nuint,System.ReadOnlySpan`1[nuint],nuint,nuint):nuint (FullOpts)
         -15 (-6.52 % of base) : System.Private.CoreLib.dasm - System.Random+XoshiroImpl:NextInt64(long,long):long:this (FullOpts)
         -14 (-41.18 % of base) : System.Private.CoreLib.dasm - System.Int128:op_Multiply(System.Int128,System.Int128):System.Int128 (FullOpts)
         -14 (-25.45 % of base) : System.Private.CoreLib.dasm - System.Int128:System.Numerics.INumberBase<System.Int128>.MultiplyAddEstimate(System.Int128,System.Int128,System.Int128):System.Int128 (FullOpts)
         -14 (-41.18 % of base) : System.Private.CoreLib.dasm - System.UInt128:op_Multiply(System.UInt128,System.UInt128):System.UInt128 (FullOpts)
         -14 (-25.45 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.Numerics.INumberBase<System.UInt128>.MultiplyAddEstimate(System.UInt128,System.UInt128,System.UInt128):System.UInt128 (FullOpts)
         -13 (-7.34 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong (FullOpts)
         -13 (-4.30 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:GetPowBitLengthBounds(int,int,int,int,int):System.ValueTuple`2[ulong,ulong] (FullOpts)
         -12 (-0.77 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[byte]:SampleToList(System.Collections.Generic.IEnumerable`1[byte],int,byref):System.Collections.Generic.List`1[byte] (FullOpts)
         -12 (-0.77 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[double]:SampleToList(System.Collections.Generic.IEnumerable`1[double],int,byref):System.Collections.Generic.List`1[double] (FullOpts)
         -12 (-0.77 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[int]:SampleToList(System.Collections.Generic.IEnumerable`1[int],int,byref):System.Collections.Generic.List`1[int] (FullOpts)
         -12 (-4.71 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ExtendedMultiply(byref,byref,byref,byref) (FullOpts)
         -12 (-1.50 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:TryMultiplyShiftedRepeatedLimb(System.ReadOnlySpan`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint]):bool (FullOpts)
         -12 (-8.16 % of base) : System.Private.CoreLib.dasm - System.UInt128:<DivRem>g__Divide96BitsBy64Bits|83_3(ulong,uint,ulong):System.ValueTuple`2[uint,ulong] (FullOpts)
         -11 (-15.49 % of base) : System.Runtime.Numerics.dasm - System.Number:<NumberToBigInteger>g__MultiplyAdd|18_4(System.Span`1[nuint],nuint,nuint):nuint (FullOpts)
         -10 (-8.33 % of base) : System.Private.CoreLib.dasm - System.Int128:op_Modulus(System.Int128,System.Int128):System.Int128 (FullOpts)
          -8 (-24.24 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint) (FullOpts)
          -8 (-22.22 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint):uint (FullOpts)
          -8 (-0.38 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[System.__Canon]:SampleToList(System.Collections.Generic.IEnumerable`1[System.__Canon],int,byref):System.Collections.Generic.List`1[System.__Canon] (FullOpts)
          -8 (-0.46 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[System.Numerics.Vector`1[float]]:SampleToList(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],int,byref):System.Collections.Generic.List`1[System.Numerics.Vector`1[float]] (FullOpts)
          -8 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Random+ImplBase:NextUInt64(ulong,System.Random+XoshiroImpl):ulong (FullOpts)
          -8 (-2.30 % of base) : System.Private.CoreLib.dasm - System.Random+ThreadSafeRandom:NextInt64(long):long:this (FullOpts)
          -8 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Random+XoshiroImpl:NextInt64(long):long:this (FullOpts)
          -7 (-0.44 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[System.Nullable`1[int]]:SampleToList(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],int,byref):System.Collections.Generic.List`1[System.Nullable`1[int]] (FullOpts)
          -7 (-1.96 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ReduceFractionPositive(System.ReadOnlySpan`1[ulong],System.Span`1[ulong]) (FullOpts)
          -7 (-1.98 % of base) : System.Private.CoreLib.dasm - System.Number:TryRoundToDecimalDigitsViaInteger(double,int,int,byref):bool (FullOpts)
          -6 (-4.41 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Multiply(byref,byref,byref) (FullOpts)
          -6 (-1.72 % of base) : System.Private.CoreLib.dasm - System.Random+ThreadSafeRandom:NextInt64(long,long):long:this (FullOpts)
          -5 (-6.49 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Pow5(int):System.UInt128 (FullOpts)
          -5 (-1.11 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:HeuristicDivide(byref,byref):uint (FullOpts)
          -4 (-0.22 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecDiv(byref,byref) (FullOpts)
          -4 (-4.08 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength9To16(ptr,uint,ulong):ulong (FullOpts)
          -3 (-2.14 % of base) : System.Private.CoreLib.dasm - System.Int128:DivRem(System.Int128,System.Int128):System.ValueTuple`2[System.Int128,System.Int128] (FullOpts)
          -3 (-2.52 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:Multiply10():this (FullOpts)
          -2 (-0.27 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128EvaluateNegativePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref) (FullOpts)
          -2 (-0.91 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:PowCore(nuint,nuint,nuint,nuint):nuint (FullOpts)
          -1 (-0.35 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:<Square>g__Naive|120_2(System.ReadOnlySpan`1[nuint],System.Span`1[nuint]) (FullOpts)

Top method regressions (percentages):
           5 (31.25 % of base) : System.Private.CoreLib.dasm - System.Int128:System.IBinaryIntegerParseAndFormatInfo<System.Int128>.MultiplyBy16(System.Int128):System.Int128 (FullOpts)
           5 (31.25 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.IBinaryIntegerParseAndFormatInfo<System.UInt128>.MultiplyBy16(System.UInt128):System.UInt128 (FullOpts)
           5 (29.41 % of base) : System.Private.CoreLib.dasm - System.Int128:System.IBinaryIntegerParseAndFormatInfo<System.Int128>.MultiplyBy10(System.Int128):System.Int128 (FullOpts)
           5 (29.41 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.IBinaryIntegerParseAndFormatInfo<System.UInt128>.MultiplyBy10(System.UInt128):System.UInt128 (FullOpts)
           2 (28.57 % of base) : System.Private.CoreLib.dasm - System.Math:BigMul(ulong,ulong):System.UInt128 (FullOpts)
           2 (28.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.X86.X86Base+X64:BigMul(ulong,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
           2 (28.57 % of base) : System.Private.CoreLib.dasm - System.UInt64:BigMul(ulong,ulong):System.UInt128 (FullOpts)
           5 (21.74 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Mix16Bytes(ptr,ulong,ulong,ulong):ulong (FullOpts)
           2 (20.00 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Multiply64To128ThenFold(ulong,ulong):ulong (FullOpts)
           2 (20.00 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128MultiplyHigh(ulong,ulong):ulong (FullOpts)
           2 (16.67 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale64(byref,uint) (FullOpts)
          20 (9.57 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength9To16(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
           2 (7.69 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Multiply64To128(ulong,ulong,byref):ulong (FullOpts)
           2 (7.69 % of base) : System.Private.CoreLib.dasm - System.Math:BigMul(ulong,ulong,byref):ulong (FullOpts)
           2 (7.69 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMul(ulong,ulong,byref,byref) (FullOpts)
           2 (7.69 % of base) : System.Private.CoreLib.dasm - System.UIntPtr:BigMul(nuint,nuint,byref):nuint (FullOpts)
           2 (4.88 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulAdd(ulong,ulong,ulong,byref,byref) (FullOpts)
           2 (4.88 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulXAdd(ulong,ulong,ulong,ulong,byref,byref) (FullOpts)
          30 (4.08 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength17To128(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
           9 (3.96 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator+InvariantDivisor:.ctor(nuint):this (FullOpts)
          21 (3.69 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength17To128(ptr,uint,ulong):ulong (FullOpts)
          35 (3.54 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength129To240(ptr,uint,ulong):ulong (FullOpts)
           4 (3.33 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Mix32Bytes(byref,byref,ptr,ptr,ulong,ulong,ulong,ulong,ulong) (FullOpts)
          38 (3.07 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength129To240(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
          22 (3.04 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength0To16(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
           2 (2.74 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator+InvariantDivisor:DivRem(nuint,byref):nuint:this (FullOpts)
          13 (2.28 % of base) : System.Private.CoreLib.dasm - System.Numerics.BigIntegerCalculator:SubMul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
          13 (2.28 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:SubMul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
           2 (2.00 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulXAddC(ulong,ulong,ulong,ulong,byref,byref,byref) (FullOpts)
           2 (1.87 % of base) : System.Private.CoreLib.dasm - System.Number:TrigXMulXAddCwCarryIn(ulong,ulong,ulong,ulong,ulong,byref,byref,byref) (FullOpts)
           9 (1.66 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMul(byref,byref) (FullOpts)
           2 (1.32 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:HashLength4To8(ptr,uint,ulong):System.IO.Hashing.XxHash128+Hash128 (FullOpts)
          10 (1.18 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ReduceFractionNegative(System.UInt128,int,System.Span`1[ulong]) (FullOpts)
          18 (1.11 % of base) : HotChocolate.Types.dasm - HotChocolate.Types.Relay.DefaultNodeIdSerializer:ParseBase36(System.String,System.Func`2[System.String,System.Type]):HotChocolate.Types.Relay.NodeId:this (FullOpts)
          18 (1.11 % of base) : HotChocolate.Types.dasm - HotChocolate.Types.Relay.OptimizedNodeIdSerializer:ParseBase36(System.String,System.Func`2[System.String,System.Type]):HotChocolate.Types.Relay.NodeId:this (FullOpts)
          10 (1.10 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Divide(byref,byref,int,byref) (FullOpts)
           2 (1.07 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarCyFromDec(byref):long (FullOpts)
           7 (0.97 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:DivideInvariant(System.ReadOnlySpan`1[nuint],System.Numerics.BigIntegerCalculator+InvariantDivisor,int,System.Span`1[nuint],byref) (FullOpts)
           5 (0.80 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:TryMultiplyRepeatedLimb(System.ReadOnlySpan`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint]):bool (FullOpts)
           4 (0.71 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecMod(byref,byref) (FullOpts)
           3 (0.69 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecFromFloat[double](double,byref) (FullOpts)
           3 (0.63 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ExpReduce(byref,byref,ulong,ulong,int,byref):int (FullOpts)
           6 (0.29 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Pow(System.Number+DiyFp128,System.Number+DiyFp128):System.Number+DiyFp128 (FullOpts)
           1 (0.19 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:MontgomeryReduce(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):int (FullOpts)
           1 (0.06 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[long]:SampleToList(System.Collections.Generic.IEnumerable`1[long],int,byref):System.Collections.Generic.List`1[long] (FullOpts)
           1 (0.06 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[short]:SampleToList(System.Collections.Generic.IEnumerable`1[short],int,byref):System.Collections.Generic.List`1[short] (FullOpts)

Top method improvements (percentages):
         -19 (-100.00 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Memory.ByteMemoryOwner`1[double]:get_Memory():System.Memory`1[double]:this (FullOpts) (1 base, 0 diff methods)
         -14 (-41.18 % of base) : System.Private.CoreLib.dasm - System.Int128:op_Multiply(System.Int128,System.Int128):System.Int128 (FullOpts)
         -14 (-41.18 % of base) : System.Private.CoreLib.dasm - System.UInt128:op_Multiply(System.UInt128,System.UInt128):System.UInt128 (FullOpts)
         -64 (-28.44 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecCmpSub(byref,byref):int (FullOpts)
         -14 (-25.45 % of base) : System.Private.CoreLib.dasm - System.Int128:System.Numerics.INumberBase<System.Int128>.MultiplyAddEstimate(System.Int128,System.Int128,System.Int128):System.Int128 (FullOpts)
         -14 (-25.45 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.Numerics.INumberBase<System.UInt128>.MultiplyAddEstimate(System.UInt128,System.UInt128,System.UInt128):System.UInt128 (FullOpts)
          -8 (-24.24 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint) (FullOpts)
          -8 (-22.22 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:IncreaseScale(byref,uint):uint (FullOpts)
         -30 (-21.58 % of base) : System.Private.CoreLib.dasm - System.UInt128:BigMul(System.UInt128,System.UInt128,byref):System.UInt128 (FullOpts)
         -38 (-21.23 % of base) : System.Private.CoreLib.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
         -11 (-15.49 % of base) : System.Runtime.Numerics.dasm - System.Number:<NumberToBigInteger>g__MultiplyAdd|18_4(System.Span`1[nuint],nuint,nuint):nuint (FullOpts)
         -15 (-9.43 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:Div128By96(byref,byref):uint (FullOpts)
         -10 (-8.33 % of base) : System.Private.CoreLib.dasm - System.Int128:op_Modulus(System.Int128,System.Int128):System.Int128 (FullOpts)
         -12 (-8.16 % of base) : System.Private.CoreLib.dasm - System.UInt128:<DivRem>g__Divide96BitsBy64Bits|83_3(ulong,uint,ulong):System.ValueTuple`2[uint,ulong] (FullOpts)
         -13 (-7.34 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong (FullOpts)
         -31 (-6.98 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength0To16(ptr,uint,ulong):ulong (FullOpts)
         -42 (-6.92 % of base) : System.Private.CoreLib.dasm - System.Numerics.BigIntegerCalculator:MulAdd1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -42 (-6.92 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:MulAdd1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -25 (-6.79 % of base) : System.Private.CoreLib.dasm - System.UInt128:<DivRem>g__DivideSlow|83_0(System.UInt128,System.UInt128):System.ValueTuple`2[ulong,System.UInt128] (FullOpts)
         -15 (-6.52 % of base) : System.Private.CoreLib.dasm - System.Random+XoshiroImpl:NextInt64(long,long):long:this (FullOpts)
          -5 (-6.49 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Pow5(int):System.UInt128 (FullOpts)
         -16 (-5.10 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ReduceBuildInteger(System.UInt128,int,System.Span`1[ulong]):int (FullOpts)
         -23 (-4.89 % of base) : System.Private.CoreLib.dasm - System.Numerics.BigIntegerCalculator:Mul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -23 (-4.89 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:Mul1(System.Span`1[nuint],System.ReadOnlySpan`1[nuint],nuint):nuint (FullOpts)
         -12 (-4.71 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ExtendedMultiply(byref,byref,byref,byref) (FullOpts)
          -6 (-4.41 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128Multiply(byref,byref,byref) (FullOpts)
         -13 (-4.30 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:GetPowBitLengthBounds(int,int,int,int,int):System.ValueTuple`2[ulong,ulong] (FullOpts)
          -4 (-4.08 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:HashLength9To16(ptr,uint,ulong):ulong (FullOpts)
          -8 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Random+ImplBase:NextUInt64(ulong,System.Random+XoshiroImpl):ulong (FullOpts)
          -8 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Random+XoshiroImpl:NextInt64(long):long:this (FullOpts)
          -3 (-2.52 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:Multiply10():this (FullOpts)
         -15 (-2.52 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:PowCore(nuint,System.ReadOnlySpan`1[nuint],nuint,nuint):nuint (FullOpts)
          -8 (-2.30 % of base) : System.Private.CoreLib.dasm - System.Random+ThreadSafeRandom:NextInt64(long):long:this (FullOpts)
         -32 (-2.25 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:DecAddSub(byref,byref,bool) (FullOpts)
         -21 (-2.20 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128EvaluatePositivePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref) (FullOpts)
          -3 (-2.14 % of base) : System.Private.CoreLib.dasm - System.Int128:DivRem(System.Int128,System.Int128):System.ValueTuple`2[System.Int128,System.Int128] (FullOpts)
          -7 (-1.98 % of base) : System.Private.CoreLib.dasm - System.Number:TryRoundToDecimalDigitsViaInteger(double,int,int,byref):bool (FullOpts)
          -7 (-1.96 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128ReduceFractionPositive(System.ReadOnlySpan`1[ulong],System.Span`1[ulong]) (FullOpts)
          -6 (-1.72 % of base) : System.Private.CoreLib.dasm - System.Random+ThreadSafeRandom:NextInt64(long,long):long:this (FullOpts)
         -12 (-1.50 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:TryMultiplyShiftedRepeatedLimb(System.ReadOnlySpan`1[nuint],System.ReadOnlySpan`1[nuint],System.Span`1[nuint]):bool (FullOpts)
          -5 (-1.11 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:HeuristicDivide(byref,byref):uint (FullOpts)
          -2 (-0.91 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:PowCore(nuint,nuint,nuint,nuint):nuint (FullOpts)
         -12 (-0.77 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[byte]:SampleToList(System.Collections.Generic.IEnumerable`1[byte],int,byref):System.Collections.Generic.List`1[byte] (FullOpts)
         -12 (-0.77 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[int]:SampleToList(System.Collections.Generic.IEnumerable`1[int],int,byref):System.Collections.Generic.List`1[int] (FullOpts)
         -12 (-0.77 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[double]:SampleToList(System.Collections.Generic.IEnumerable`1[double],int,byref):System.Collections.Generic.List`1[double] (FullOpts)
          -8 (-0.46 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[System.Numerics.Vector`1[float]]:SampleToList(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],int,byref):System.Collections.Generic.List`1[System.Numerics.Vector`1[float]] (FullOpts)
          -7 (-0.44 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[System.Nullable`1[int]]:SampleToList(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],int,byref):System.Collections.Generic.List`1[System.Nullable`1[int]] (FullOpts)
          -8 (-0.38 % of base) : System.Linq.dasm - System.Linq.Enumerable+ShuffleTakeIterator`1[System.__Canon]:SampleToList(System.Collections.Generic.IEnumerable`1[System.__Canon],int,byref):System.Collections.Generic.List`1[System.__Canon] (FullOpts)
          -1 (-0.35 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigIntegerCalculator:<Square>g__Naive|120_2(System.ReadOnlySpan`1[nuint],System.Span`1[nuint]) (FullOpts)
          -2 (-0.27 % of base) : System.Private.CoreLib.dasm - System.Number:DiyFp128EvaluateNegativePolynomial(byref,long,System.ReadOnlySpan`1[System.Number+DiyFp128FixedCoefficient],int,long,byref) (FullOpts)
          -4 (-0.22 % of base) : System.Private.CoreLib.dasm - System.Decimal+DecCalc:VarDecDiv(byref,byref) (FullOpts)

97 total methods with Code Size differences (51 improved, 46 regressed), 2192970 unchanged.

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

Artifacts:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions