MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff X64] xtqqczze/dotnet-runtime/VectorUnsafeAccess #526

Open MihuBot opened 3 months ago

MihuBot commented 3 months ago

Job completed in 14 minutes.

Diffs

Diffs ``` Found 263 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 39113879 Total bytes of diff: 39109857 Total bytes of delta: -4022 (-0.01 % of base) Total relative delta: -93.53 diff is an improvement. relative diff is an improvement. Total byte diff includes 88 bytes from reconciling methods Base had 0 unique methods, 0 unique bytes Diff had 4 unique methods, 88 unique bytes Top file improvements (bytes): -4022 : System.Private.CoreLib.dasm (-0.06 % of base) 1 total files with Code Size differences (1 improved, 0 regressed), 258 unchanged. Top method regressions (bytes): 35 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref,ulong) (FullOpts) (0 base, 2 diff methods) 32 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref) (FullOpts) (0 base, 2 diff methods) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 16 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:LoadUnsafe(byref):System.Numerics.Vector3 (FullOpts) (0 base, 1 diff methods) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts) 5 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:LoadUnsafe(byref):System.Numerics.Vector2 (FullOpts) (0 base, 1 diff methods) Top method improvements (bytes): -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.__Canon[],int):this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Numerics.Vector`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int):this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Numerics.Vector`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int):this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Numerics.Vector`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int64View():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NIntView():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NUIntView():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SByteView():byte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SingleView():float[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt16View():ushort[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt32View():uint[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt64View():ulong[]:this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) Top method regressions (percentages): 35 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref,ulong) (FullOpts) (0 base, 2 diff methods) 32 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref) (FullOpts) (0 base, 2 diff methods) 5 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:LoadUnsafe(byref):System.Numerics.Vector2 (FullOpts) (0 base, 1 diff methods) 16 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:LoadUnsafe(byref):System.Numerics.Vector3 (FullOpts) (0 base, 1 diff methods) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts) 8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts) Top method improvements (percentages): -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.__Canon[],int):this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[],int):System.Numerics.Vector`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int):this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Numerics.Vector`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int):this (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Numerics.Vector`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts) -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int64View():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NIntView():long[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NUIntView():ulong[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SByteView():byte[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SingleView():float[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt16View():ushort[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt32View():uint[]:this (FullOpts) -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt64View():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) 491 total methods with Code Size differences (457 improved, 34 regressed), 229987 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 3 months ago

Top method regressions

32 (168.42 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rsp based frame +; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (16) zero-ref single-def ;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP -;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP -; V16 tmp13 [V16,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V17 tmp14 [V17,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP -;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP +; V21 tmp18 [V21,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V22 tmp19 [V22,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP +;* V25 tmp22 [V25 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V26 tmp23 [V26 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP +;* V27 tmp24 [V27,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V28 rat0 [V28,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V29 rat1 [V29,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V30 rat2 [V30,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V31 rat3 [V31,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 8 +; Lcl frame size = 16 G_M24828_IG01: - push rax - ;; size=1 bbWeight=0 PerfScore 0.00 + push rbp + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M24828_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x228] + test rdi, rdi + je SHORT G_M24828_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M24828_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=53719f03) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=53719f03) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ```
32 (168.42 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rsp based frame +; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def ;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V14 tmp11 [V14,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V15 tmp12 [V15,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP +;* V25 tmp22 [V25,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V26 rat0 [V26,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V27 rat1 [V27,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V29 rat3 [V29,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 8 +; Lcl frame size = 16 G_M38998_IG01: - push rax - ;; size=1 bbWeight=0 PerfScore 0.00 + push rbp + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M38998_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x228] + test rdi, rdi + je SHORT G_M38998_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M38998_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=3d3467a9) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=3d3467a9) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ```
32 (168.42 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rsp based frame +; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[S] single-def ;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V14 tmp11 [V14,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V15 tmp12 [V15,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP +;* V25 tmp22 [V25,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V26 rat0 [V26,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V27 rat1 [V27,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V29 rat3 [V29,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 8 +; Lcl frame size = 16 G_M37873_IG01: - push rax - ;; size=1 bbWeight=0 PerfScore 0.00 + push rbp + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M37873_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x228] + test rdi, rdi + je SHORT G_M37873_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M37873_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=68d26c0e) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=68d26c0e) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ```
32 (168.42 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rsp based frame +; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct ( 8) zero-ref single-def ;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP -; V15 tmp12 [V15,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V16 tmp13 [V16,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP -;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP +; V20 tmp17 [V20,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V21 tmp18 [V21,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP +;* V26 tmp23 [V26,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V27 rat0 [V27,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V28 rat1 [V28,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V29 rat2 [V29,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V30 rat3 [V30,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 8 +; Lcl frame size = 16 G_M48357_IG01: - push rax - ;; size=1 bbWeight=0 PerfScore 0.00 + push rbp + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M48357_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x210] + test rdi, rdi + je SHORT G_M48357_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M48357_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=4db2431a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=4db2431a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) ```
29 (131.82 % of base) - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this ```diff ; Assembly listing for method System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) byref -> zero-ref this single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V07 tmp4 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V10 tmp7 [V10 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V10 tmp7 [V10 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V18 tmp15 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP -;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP -;* V25 tmp22 [V25 ] ( 0, 0 ) byref -> zero-ref single-def "field V07._reference (fldOffset=0x0)" P-INDEP -;* V26 tmp23 [V26 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP -;* V27 tmp24 [V27 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP -;* V28 tmp25 [V28 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP -;* V29 tmp26 [V29 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP -;* V30 tmp27 [V30 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP +;* V18 tmp15 [V18 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V21 tmp18 [V21 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V22 tmp19 [V22 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V24 tmp21 [V24,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V25 tmp22 [V25,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP +;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V30 tmp27 [V30 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP +;* V31 tmp28 [V31 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP +;* V32 tmp29 [V32 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP +;* V33 tmp30 [V33 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP +;* V34 tmp31 [V34 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP +;* V35 tmp32 [V35 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP +;* V36 tmp33 [V36,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V37 rat0 [V37,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V38 rat1 [V38,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V39 rat2 [V39,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V40 rat3 [V40,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M16570_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rsi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M16570_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x2A0] + test rdi, rdi + je SHORT G_M16570_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M16570_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=0a67bf45) for method System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=0a67bf45) for method System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts) ```
29 (131.82 % of base) - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] ```diff ; Assembly listing for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ;* V02 arg0 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V07 tmp4 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M48017_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rsi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M48017_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x110] + test rdi, rdi + je SHORT G_M48017_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M48017_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=6c88446e) for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=6c88446e) for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) ```
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (16) zero-ref single-def ;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V07 tmp4 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP -;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP -; V15 tmp12 [V15,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V16 tmp13 [V16,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V18 tmp15 [V18 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP +; V20 tmp17 [V20,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V21 tmp18 [V21,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP +;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP +;* V26 tmp23 [V26,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V27 rat0 [V27,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V28 rat1 [V28,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V29 rat2 [V29,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V30 rat3 [V30,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M13830_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M13830_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0xB0] + test rdi, rdi + je SHORT G_M13830_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M13830_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=8b87c9f9) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=8b87c9f9) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) ```
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ;* V02 arg0 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V07 tmp4 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP -;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP -;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M45836_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rsi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M45836_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0xC8] + test rdi, rdi + je SHORT G_M45836_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M45836_IG03: mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=9e2a4cf3) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=9e2a4cf3) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) ```

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

MihuBot commented 3 months ago

Top method improvements

-24 (-55.81 % of base) - System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) byref -> zero-ref this single-def ;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -; V02 arg1 [V02,T00] ( 4, 2 ) ref -> rdx class-hnd single-def -; V03 arg2 [V03,T01] ( 3, 2 ) int -> rcx single-def +;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V03 arg2 [V03 ] ( 0, 0 ) int -> zero-ref single-def ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -;* V05 tmp1 [V05 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V06 tmp2 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V07 tmp3 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V05 tmp1 [V05 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V06 tmp2 [V06 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V07 tmp3 [V07 ] ( 0, 0 ) struct (32) zero-ref "impAppendStmt" +;* V08 tmp4 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V09 tmp5 [V09 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V10 tmp6 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp7 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V12 tmp8 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V13 tmp9 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V14 tmp10 [V14 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V15 tmp11 [V15 ] ( 0, 0 ) long -> zero-ref "field V07._00 (fldOffset=0x0)" P-INDEP +;* V16 tmp12 [V16 ] ( 0, 0 ) long -> zero-ref "field V07._01 (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M1545_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M1545_IG02: - cmp dword ptr [rdx+0x08], ecx - jbe SHORT G_M1545_IG03 - mov edi, dword ptr [rdx+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M1545_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=eda9f9f6) for method System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=eda9f9f6) for method System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) ```
-24 (-55.81 % of base) - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) ```diff ; Assembly listing for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +;* V00 TypeCtx [V00 ] ( 0, 0 ) long -> zero-ref single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op single-def -; V02 arg1 [V02,T01] ( 4, 2 ) ref -> rsi class-hnd single-def -; V03 arg2 [V03,T02] ( 3, 2 ) int -> rdx single-def +;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V03 arg2 [V03 ] ( 0, 0 ) int -> zero-ref single-def ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V05 tmp1 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V06 tmp2 [V06 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V07 tmp3 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp2 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V07 tmp3 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp4 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V09 tmp5 [V09 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP -;* V10 tmp6 [V10 ] ( 0, 0 ) long -> zero-ref single-def "field V01._01 (fldOffset=0x8)" P-INDEP -;* V11 tmp7 [V11 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V09 tmp5 [V09 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V10 tmp6 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp7 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V12 tmp8 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V13 tmp9 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V14 tmp10 [V14 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V15 tmp11 [V15 ] ( 0, 0 ) struct (32) zero-ref "Inlining Arg" +;* V16 tmp12 [V16 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP +;* V17 tmp13 [V17 ] ( 0, 0 ) long -> zero-ref single-def "field V01._01 (fldOffset=0x8)" P-INDEP +;* V18 tmp14 [V18 ] ( 0, 0 ) long -> zero-ref "field V15._00 (fldOffset=0x0)" P-INDEP +;* V19 tmp15 [V19 ] ( 0, 0 ) long -> zero-ref "field V15._01 (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M28338_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M28338_IG02: - cmp dword ptr [rsi+0x08], edx - jbe SHORT G_M28338_IG03 - mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M28338_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=3da9914d) for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=3da9914d) for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) byref -> zero-ref this single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rdx single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V05 tmp2 [V05 ] ( 0, 0 ) struct (32) zero-ref "impAppendStmt" +;* V06 tmp3 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "field V05._00 (fldOffset=0x0)" P-INDEP +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "field V05._01 (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M56265_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M56265_IG02: - cmp dword ptr [rsi+0x08], edx - jbe SHORT G_M56265_IG03 - mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M56265_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=0f302436) for method System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=0f302436) for method System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts) ```
-24 (-55.81 % of base) - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) ```diff ; Assembly listing for method System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref single-def "field V00._00 (fldOffset=0x0)" P-INDEP -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref single-def "field V00._01 (fldOffset=0x8)" P-INDEP -;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) struct (32) zero-ref "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref single-def "field V00._00 (fldOffset=0x0)" P-INDEP +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref single-def "field V00._01 (fldOffset=0x8)" P-INDEP +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "field V07._00 (fldOffset=0x0)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "field V07._01 (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M30282_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M30282_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M30282_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M30282_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=77fd89b5) for method System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=77fd89b5) for method System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) byref -> zero-ref this single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rdx single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V05 tmp2 [V05 ] ( 0, 0 ) struct (32) zero-ref "impAppendStmt" +;* V06 tmp3 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "field V05._00 (fldOffset=0x0)" P-INDEP +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "field V05._01 (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M27689_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M27689_IG02: - cmp dword ptr [rsi+0x08], edx - jbe SHORT G_M27689_IG03 - mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M27689_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=3c4b93d6) for method System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=3c4b93d6) for method System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts) ```
-24 (-55.81 % of base) - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) ```diff ; Assembly listing for method System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (32) zero-ref ld-addr-op single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref single-def "field V00._00 (fldOffset=0x0)" P-INDEP -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref single-def "field V00._01 (fldOffset=0x8)" P-INDEP -;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) struct (32) zero-ref "Inlining Arg" +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref single-def "field V00._00 (fldOffset=0x0)" P-INDEP +;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref single-def "field V00._01 (fldOffset=0x8)" P-INDEP +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "field V07._00 (fldOffset=0x0)" P-INDEP +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "field V07._01 (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M18167_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M18167_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M18167_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M18167_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=a68fb908) for method System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=a68fb908) for method System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +;* V00 TypeCtx [V00 ] ( 0, 0 ) long -> zero-ref single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (16) zero-ref single-def -; V02 arg1 [V02,T01] ( 4, 2 ) ref -> rsi class-hnd single-def -; V03 arg2 [V03,T02] ( 3, 2 ) int -> rdx single-def +;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V03 arg2 [V03 ] ( 0, 0 ) int -> zero-ref single-def ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V05 tmp1 [V05 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V06 tmp2 [V06 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V07 tmp3 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp2 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V07 tmp3 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp4 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V09 tmp5 [V09 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP -;* V10 tmp6 [V10 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP -;* V11 tmp7 [V11 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V09 tmp5 [V09 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V10 tmp6 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp7 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V12 tmp8 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V13 tmp9 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V14 tmp10 [V14 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V15 tmp11 [V15 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP +;* V16 tmp12 [V16 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M57213_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M57213_IG02: - cmp dword ptr [rsi+0x08], edx - jbe SHORT G_M57213_IG03 - mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M57213_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=d4002082) for method System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=d4002082) for method System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP -;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M16325_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M16325_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M16325_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M16325_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=3c60c03a) for method System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=3c60c03a) for method System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP -;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M56728_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M56728_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M56728_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M56728_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=62f22267) for method System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=62f22267) for method System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP -;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M47735_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M47735_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M47735_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M47735_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=6c2f4588) for method System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=6c2f4588) for method System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP -;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP -;* V07 tmp4 [V07 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref single-def "field V00._lower (fldOffset=0x0)" P-INDEP +;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref single-def "field V00._upper (fldOffset=0x8)" P-INDEP ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M2730_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M2730_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M2730_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M2730_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=7b18f555) for method System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=7b18f555) for method System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +;* V00 TypeCtx [V00 ] ( 0, 0 ) long -> zero-ref single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def -; V02 arg1 [V02,T01] ( 4, 2 ) ref -> rsi class-hnd single-def -; V03 arg2 [V03,T02] ( 3, 2 ) int -> rdx single-def +;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V03 arg2 [V03 ] ( 0, 0 ) int -> zero-ref single-def ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V05 tmp1 [V05 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" -;* V06 tmp2 [V06 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V07 tmp3 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V06 tmp2 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V07 tmp3 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp4 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V09 tmp5 [V09 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V10 tmp6 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp7 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V12 tmp8 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V13 tmp9 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V14 tmp10 [V14 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M31869_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M31869_IG02: - cmp dword ptr [rsi+0x08], edx - jbe SHORT G_M31869_IG03 - mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M31869_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=9d238382) for method System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=9d238382) for method System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M42437_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M42437_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M42437_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M42437_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=c1f25a3a) for method System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=c1f25a3a) for method System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M61336_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M61336_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M61336_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M61336_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=1e771067) for method System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=1e771067) for method System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts) ```
-24 (-55.81 % of base) - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code -; rbp based frame +; rsp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def -; V01 arg1 [V01,T00] ( 4, 2 ) ref -> rdi class-hnd single-def -; V02 arg2 [V02,T01] ( 3, 2 ) int -> rsi single-def +;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +;* V02 arg2 [V02 ] ( 0, 0 ) int -> zero-ref single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V05 tmp2 [V05 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M32413_IG01: - push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M32413_IG02: - cmp dword ptr [rdi+0x08], esi - jbe SHORT G_M32413_IG03 - mov edi, dword ptr [rdi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 - ;; size=26 bbWeight=0 PerfScore 0.00 -G_M32413_IG03: - mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - call [rax]System.ThrowHelper:ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_IndexMustBeLess() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 + ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 43, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 43 (MethodHash=05998162) for method System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) +; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=05998162) for method System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts) ```

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

MihuBot commented 3 months ago

@xtqqczze

xtqqczze commented 2 months ago

Maybe https://github.com/dotnet/runtime/pull/104983 will help with regressions.