MihuBot / runtime-utils

0 stars 0 forks source link

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

Open MihuBot opened 4 months ago

MihuBot commented 4 months ago

Job completed in 15 minutes.

Diffs

Diffs ``` Found 261 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 41802176 Total bytes of diff: 41800268 Total bytes of delta: -1908 (-0.00 % of base) Total relative delta: -27.94 diff is an improvement. relative diff is an improvement. Total byte diff includes 216 bytes from reconciling methods Base had 0 unique methods, 0 unique bytes Diff had 36 unique methods, 216 unique bytes Top file improvements (bytes): -1908 : System.Private.CoreLib.dasm (-0.03 % of base) 1 total files with Code Size differences (1 improved, 0 regressed), 258 unchanged. Top method regressions (bytes): 62 (281.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) 62 (326.32 % 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) 62 (281.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) 62 (326.32 % 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) 62 (281.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) 62 (326.32 % 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) 62 (281.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) 62 (326.32 % 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) 59 (268.18 % 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) 59 (268.18 % 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) 59 (268.18 % 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) 59 (268.18 % 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) 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) 29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.ReadOnlySpan`1[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) 5 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:LoadUnsafe(byref):System.Numerics.Vector2 (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) Top method improvements (bytes): -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) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_Int64View():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_NIntView():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_NUIntView():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_SByteView():byte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_SingleView():float[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_UInt16View():ushort[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_UInt32View():uint[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_UInt64View():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts) Top method regressions (percentages): 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 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) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods) 4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods) 62 (326.32 % 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) 62 (326.32 % 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) 62 (326.32 % 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) 62 (326.32 % 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) 62 (281.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) 62 (281.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) 62 (281.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) 62 (281.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) 59 (268.18 % 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) 59 (268.18 % 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) 59 (268.18 % 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) 59 (268.18 % 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) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:TryCopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts) 26 (136.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:TryCopyTo[System.__Canon](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 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 29 (116.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) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 23 (104.55 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) Top method improvements (percentages): -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) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_Int64View():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_NIntView():long[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_NUIntView():ulong[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_SByteView():byte[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_SingleView():float[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_UInt16View():ushort[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_UInt32View():uint[]:this (FullOpts) -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.Numerics.Vector`1[float]]:get_UInt64View():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts) -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts) 467 total methods with Code Size differences (398 improved, 69 regressed), 255453 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 4 months ago

Top method regressions

62 (281.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; 3 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] ( 5, 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" -;* 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 +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* 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 "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V17 tmp14 [V17,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V18 tmp15 [V18,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +; V23 tmp20 [V23,T03] ( 2, 0 ) long -> rax "argument with side effect" +;* V24 tmp21 [V24,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V25 rat0 [V25,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V26 rat1 [V26,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V28 rat3 [V28,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V29 rat4 [V29,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V30 rat5 [V30,T09] ( 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 rax, qword ptr [rdi+0xC8] + test rax, rax + je SHORT G_M45836_IG03 + jmp SHORT G_M45836_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M45836_IG03: + mov rdi, rsi + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=18 bbWeight=0 PerfScore 0.00 +G_M45836_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M45836_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M45836_IG05: 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 84, prolog size 14, PerfScore 0.00, instruction count 22, allocated bytes for code 84 (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) ```
62 (326.32 % 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; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 5, 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" -;* 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 +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* 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 V06._reference (fldOffset=0x0)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "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] ( 2, 0 ) long -> rax "argument with side effect" +;* V27 tmp24 [V27,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V28 rat0 [V28,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V29 rat1 [V29,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V30 rat2 [V30,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V31 rat3 [V31,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V32 rat4 [V32,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V33 rat5 [V33,T09] ( 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 rsi, qword ptr [rdi+0x30] + mov rsi, qword ptr [rsi] + mov rax, qword ptr [rsi+0x228] + test rax, rax + je SHORT G_M24828_IG03 + jmp SHORT G_M24828_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M24828_IG03: + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=15 bbWeight=0 PerfScore 0.00 +G_M24828_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M24828_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M24828_IG05: 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 81, prolog size 14, PerfScore 0.00, instruction count 21, allocated bytes for code 81 (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) ```
62 (281.82 % of base) - 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] ```diff ; Assembly listing for method 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) ; 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; 3 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] ( 5, 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" -;* 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 +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* 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 "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V17 tmp14 [V17,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V18 tmp15 [V18,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +; V23 tmp20 [V23,T03] ( 2, 0 ) long -> rax "argument with side effect" +;* V24 tmp21 [V24,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V25 rat0 [V25,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V26 rat1 [V26,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V28 rat3 [V28,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V29 rat4 [V29,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V30 rat5 [V30,T09] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M35686_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_M35686_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rax, qword ptr [rdi+0xC0] + test rax, rax + je SHORT G_M35686_IG03 + jmp SHORT G_M35686_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M35686_IG03: + mov rdi, rsi + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=18 bbWeight=0 PerfScore 0.00 +G_M35686_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M35686_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M35686_IG05: 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=0eca7499) for method 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) +; Total bytes of code 84, prolog size 14, PerfScore 0.00, instruction count 22, allocated bytes for code 84 (MethodHash=0eca7499) for method 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) ```
62 (326.32 % 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; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 5, 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" -;* 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 +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* 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 -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V06._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] ( 2, 0 ) long -> rax "argument with side effect" +;* V25 tmp22 [V25,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V26 rat0 [V26,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V27 rat1 [V27,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V29 rat3 [V29,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V30 rat4 [V30,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V31 rat5 [V31,T09] ( 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 rsi, qword ptr [rdi+0x30] + mov rsi, qword ptr [rsi] + mov rax, qword ptr [rsi+0x228] + test rax, rax + je SHORT G_M38998_IG03 + jmp SHORT G_M38998_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M38998_IG03: + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=15 bbWeight=0 PerfScore 0.00 +G_M38998_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M38998_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M38998_IG05: 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 81, prolog size 14, PerfScore 0.00, instruction count 21, allocated bytes for code 81 (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) ```
62 (281.82 % of base) - 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] ```diff ; Assembly listing for method 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) ; 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; 3 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] ( 5, 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" -;* 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 +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* 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 "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V17 tmp14 [V17,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V18 tmp15 [V18,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +; V23 tmp20 [V23,T03] ( 2, 0 ) long -> rax "argument with side effect" +;* V24 tmp21 [V24,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V25 rat0 [V25,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V26 rat1 [V26,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V28 rat3 [V28,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V29 rat4 [V29,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V30 rat5 [V30,T09] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M4385_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_M4385_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rax, qword ptr [rdi+0xC0] + test rax, rax + je SHORT G_M4385_IG03 + jmp SHORT G_M4385_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M4385_IG03: + mov rdi, rsi + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=18 bbWeight=0 PerfScore 0.00 +G_M4385_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M4385_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M4385_IG05: 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=411eeede) for method 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) +; Total bytes of code 84, prolog size 14, PerfScore 0.00, instruction count 22, allocated bytes for code 84 (MethodHash=411eeede) for method 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) ```
62 (326.32 % 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; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 5, 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" -;* 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 +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* 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 -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V06._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] ( 2, 0 ) long -> rax "argument with side effect" +;* V25 tmp22 [V25,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V26 rat0 [V26,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V27 rat1 [V27,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V29 rat3 [V29,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V30 rat4 [V30,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V31 rat5 [V31,T09] ( 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 rsi, qword ptr [rdi+0x30] + mov rsi, qword ptr [rsi] + mov rax, qword ptr [rsi+0x228] + test rax, rax + je SHORT G_M37873_IG03 + jmp SHORT G_M37873_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M37873_IG03: + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=15 bbWeight=0 PerfScore 0.00 +G_M37873_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M37873_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M37873_IG05: 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 81, prolog size 14, PerfScore 0.00, instruction count 21, allocated bytes for code 81 (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) ```
62 (281.82 % of base) - 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] ```diff ; Assembly listing for method 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) ; 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; 3 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] ( 5, 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" -;* 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 +;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* 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 "Inlining Arg" +;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V17 tmp14 [V17,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V18 tmp15 [V18,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP +;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP +; V23 tmp20 [V23,T03] ( 2, 0 ) long -> rax "argument with side effect" +;* V24 tmp21 [V24,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V25 rat0 [V25,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V26 rat1 [V26,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V28 rat3 [V28,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V29 rat4 [V29,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V30 rat5 [V30,T09] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M37109_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_M37109_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rax, qword ptr [rdi+0xA8] + test rax, rax + je SHORT G_M37109_IG03 + jmp SHORT G_M37109_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M37109_IG03: + mov rdi, rsi + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=18 bbWeight=0 PerfScore 0.00 +G_M37109_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M37109_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M37109_IG05: 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=b4646f0a) for method 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) +; Total bytes of code 84, prolog size 14, PerfScore 0.00, instruction count 22, allocated bytes for code 84 (MethodHash=b4646f0a) for method 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) ```
62 (326.32 % 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; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 5, 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" -;* 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 +;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* 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._00 (fldOffset=0x0)" P-INDEP +; 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 V06._reference (fldOffset=0x0)" P-INDEP +;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP +;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP +;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP +; V25 tmp22 [V25,T03] ( 2, 0 ) long -> rax "argument with side effect" +;* V26 tmp23 [V26,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +; V27 rat0 [V27,T05] ( 3, 0 ) long -> rax "runtime lookup" +; V28 rat1 [V28,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" +;* V29 rat2 [V29,T07] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V30 rat3 [V30,T08] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V31 rat4 [V31,T10] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V32 rat5 [V32,T09] ( 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 rsi, qword ptr [rdi+0x30] + mov rsi, qword ptr [rsi] + mov rax, qword ptr [rsi+0x210] + test rax, rax + je SHORT G_M48357_IG03 + jmp SHORT G_M48357_IG04 + ;; size=21 bbWeight=0 PerfScore 0.00 +G_M48357_IG03: + mov rsi, 0xD1FFAB1E ; global ptr + call CORINFO_HELP_RUNTIMEHANDLE_CLASS + ;; size=15 bbWeight=0 PerfScore 0.00 +G_M48357_IG04: + mov rdi, qword ptr [rax+0x18] + mov rdi, qword ptr [rdi+0x10] + test rdi, rdi + je SHORT G_M48357_IG05 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M48357_IG05: 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 81, prolog size 14, PerfScore 0.00, instruction count 21, allocated bytes for code 81 (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) ```

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

MihuBot commented 4 months ago

Top method improvements

-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M1865_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M1865_IG02: - mov rdi, 0xD1FFAB1E ; ubyte[] - mov esi, 64 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M1865_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=94f1f8b6) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=94f1f8b6) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M39324_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M39324_IG02: - mov rdi, 0xD1FFAB1E ; double[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M39324_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=57fb6663) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=57fb6663) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M22426_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M22426_IG02: - mov rdi, 0xD1FFAB1E ; short[] - mov esi, 32 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M22426_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=3343a865) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=3343a865) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M47421_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M47421_IG02: - mov rdi, 0xD1FFAB1E ; int[] - mov esi, 16 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M47421_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=6c2646c2) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=6c2646c2) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M14247_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M14247_IG02: - mov rdi, 0xD1FFAB1E ; long[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M14247_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=d13ec858) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=d13ec858) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M48843_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M48843_IG02: - mov rdi, 0xD1FFAB1E ; long[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M48843_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=36a54134) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=36a54134) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M7787_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M7787_IG02: - mov rdi, 0xD1FFAB1E ; ulong[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M7787_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=aeabe194) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=aeabe194) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M21391_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M21391_IG02: - mov rdi, 0xD1FFAB1E ; byte[] - mov esi, 64 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M21391_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=986fac70) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=986fac70) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M6454_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M6454_IG02: - mov rdi, 0xD1FFAB1E ; float[] - mov esi, 16 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M6454_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=aa1de6c9) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=aa1de6c9) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M34266_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M34266_IG02: - mov rdi, 0xD1FFAB1E ; ushort[] - mov esi, 32 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M34266_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=fd1c7a25) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=fd1c7a25) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M13501_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M13501_IG02: - mov rdi, 0xD1FFAB1E ; uint[] - mov esi, 16 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M13501_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=7c87cb42) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=7c87cb42) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;* V01 TypeCtx [V01 ] ( 0, 0 ) long -> zero-ref single-def -;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T01] ( 3, 2 ) byref -> rdi this single-def +; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact 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 ) simd64 -> zero-ref "impAppendStmt" +;* 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 (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V09 tmp6 [V09 ] ( 0, 0 ) simd64 -> zero-ref "V08.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M22087_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M22087_IG02: - mov rdi, 0xD1FFAB1E ; ulong[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M22087_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=d836a9b8) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=d836a9b8) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M3825_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M3825_IG02: - mov rdi, 0xD1FFAB1E ; ubyte[] - mov esi, 64 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M3825_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=5197f10e) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=5197f10e) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M32100_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M32100_IG02: - mov rdi, 0xD1FFAB1E ; double[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M32100_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=1801829b) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=1801829b) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M63586_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M63586_IG02: - mov rdi, 0xD1FFAB1E ; short[] - mov esi, 32 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M63586_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=419b079d) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=419b079d) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M36101_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M36101_IG02: - mov rdi, 0xD1FFAB1E ; int[] - mov esi, 16 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M36101_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=761372fa) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=761372fa) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M15711_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M15711_IG02: - mov rdi, 0xD1FFAB1E ; long[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M15711_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=3dbac2a0) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=3dbac2a0) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M56435_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M56435_IG02: - mov rdi, 0xD1FFAB1E ; long[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M56435_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=18f2238c) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=18f2238c) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M64979_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M64979_IG02: - mov rdi, 0xD1FFAB1E ; ulong[] - mov esi, 8 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M64979_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=e28c022c) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=e28c022c) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts) ```
-23 (-51.11 % of base) - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def -;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" +; V00 this [V00,T00] ( 3, 2 ) byref -> rdi this single-def +;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V03 tmp1 [V03 ] ( 0, 0 ) simd64 -> zero-ref "impAppendStmt" +;* V04 tmp2 [V04 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[SF] "Inlining Arg" +;* V05 tmp3 [V05 ] ( 0, 0 ) simd64 -> zero-ref "V04.[000..064)" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M48375_IG01: - push rbx - mov rbx, rdi - ;; size=4 bbWeight=1 PerfScore 1.25 + push rax + ;; size=1 bbWeight=0 PerfScore 0.00 G_M48375_IG02: - mov rdi, 0xD1FFAB1E ; byte[] - mov esi, 64 - call CORINFO_HELP_NEWARR_1_VC - vmovdqu32 zmm0, zmmword ptr [rbx] - vmovdqu32 zmmword ptr [rax+0x10], zmm0 - ;; size=36 bbWeight=1 PerfScore 7.50 -G_M48375_IG03: - vzeroupper - pop rbx - ret - ;; size=5 bbWeight=1 PerfScore 2.50 + cmp byte ptr [rdi], dil + mov edi, 67 + mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) + call [rax]System.ThrowHelper:ThrowNotSupportedException(int) + int3 + ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 45, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 45 (MethodHash=78034308) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) +; Total bytes of code 22, prolog size 1, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=78034308) for method System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts) ```
MihuBot commented 4 months ago

@xtqqczze