MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff X64] xtqqczze/dotnet-runtime/VectorGetArrayDataReference2 #492

Open MihuBot opened 1 month ago

MihuBot commented 1 month ago

Job completed in 14 minutes.

Diffs

Diffs ``` Found 260 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 41570327 Total bytes of diff: 41569838 Total bytes of delta: -489 (-0.00 % of base) Total relative delta: -3.89 diff is an improvement. relative diff is an improvement. Top file improvements (bytes): -489 : System.Private.CoreLib.dasm (-0.01 % of base) 1 total files with Code Size differences (1 improved, 0 regressed), 258 unchanged. Top method regressions (bytes): 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>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) Top method improvements (bytes): -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[double](double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[int](int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[long](long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[short](short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[double](double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[int](int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[long](long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[short](short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:.ctor(double[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:CopyTo(double[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:CopyTo(int[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:CopyTo(long[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:CopyTo(short[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:CopyTo(ubyte[]):this (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:CopyTo(float[]):this (FullOpts) -2 (-4.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:CopyTo(float[]):this (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:CopyTo(float[]):this (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[double](System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[int](System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[long](System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[short](System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[double](double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[int](int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[long](long[]):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[short](short[]):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[]):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[]):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[]):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[]):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[double](System.Runtime.Intrinsics.Vector256`1[double],double[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[int](System.Runtime.Intrinsics.Vector256`1[int],int[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[long](System.Runtime.Intrinsics.Vector256`1[long],long[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[short](System.Runtime.Intrinsics.Vector256`1[short],short[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[ubyte](System.Runtime.Intrinsics.Vector256`1[ubyte],ubyte[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double[]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](int[]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](long[]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](short[]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[]):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[double],double[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[int],int[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[]):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[long],long[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[]):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[short],short[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[]):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[ubyte],ubyte[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[]):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -2 (-3.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[double](System.Runtime.Intrinsics.Vector512`1[double],double[]) (FullOpts) -2 (-3.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[int](System.Runtime.Intrinsics.Vector512`1[int],int[]) (FullOpts) Top method regressions (percentages): 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>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) Top method improvements (percentages): -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[double](double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[long](long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -12 (-21.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[int](int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[short](short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -12 (-20.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[double](double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[int](int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[long](long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[short](short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -12 (-17.14 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:CopyTo(float[]):this (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:CopyTo(float[]):this (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[int](System.Runtime.Intrinsics.Vector64`1[int],int[]) (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[short](System.Runtime.Intrinsics.Vector64`1[short],short[]) (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[ubyte](System.Runtime.Intrinsics.Vector64`1[ubyte],ubyte[]) (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[int],int[]) (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[short],short[]) (FullOpts) -2 (-5.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[ubyte],ubyte[]) (FullOpts) -2 (-5.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[int](int[]):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -2 (-5.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[short](short[]):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -2 (-5.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[ubyte](ubyte[]):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -2 (-5.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[]):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -2 (-5.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[]):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -2 (-5.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[]):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[double](System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[int](System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[long](System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[short](System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts) -2 (-5.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:.ctor(double[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:CopyTo(double[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:CopyTo(int[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:CopyTo(long[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:CopyTo(short[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:CopyTo(ubyte[]):this (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[double](double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[int](int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[long](long[]):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[short](short[]):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[]):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[]):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[]):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -2 (-5.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[]):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[double](System.Runtime.Intrinsics.Vector256`1[double],double[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[int](System.Runtime.Intrinsics.Vector256`1[int],int[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[long](System.Runtime.Intrinsics.Vector256`1[long],long[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[short](System.Runtime.Intrinsics.Vector256`1[short],short[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[ubyte](System.Runtime.Intrinsics.Vector256`1[ubyte],ubyte[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[double],double[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[int],int[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[long],long[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[short],short[]) (FullOpts) -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[ubyte],ubyte[]) (FullOpts) -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double[]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) 146 total methods with Code Size differences (138 improved, 8 regressed), 252621 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 1 month ago

Top method regressions

29 (116.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (16) zero-ref single-def ; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP ;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP -;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V12 tmp9 [V12,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V14 rat0 [V14,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V15 rat1 [V15,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V16 rat2 [V16,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V17 rat3 [V17,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M23152_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M23152_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x88] + test rdi, rdi + je SHORT G_M23152_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M23152_IG03: mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=fb03a58f) for method 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.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(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.__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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M59324_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_M59324_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0xA0] + test rdi, rdi + je SHORT G_M59324_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M59324_IG03: mov edi, dword ptr [rdx+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=ec911843) for method 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.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def ; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M9626_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M9626_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x80] + test rdi, rdi + je SHORT G_M9626_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M9626_IG03: mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=57a4da65) for method 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.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(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.__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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M1942_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_M1942_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x98] + test rdi, rdi + je SHORT G_M1942_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M1942_IG03: mov edi, dword ptr [rdx+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=f020f869) for method 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.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[S] single-def ; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M25821_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M25821_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x80] + test rdi, rdi + je SHORT G_M25821_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M25821_IG03: mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=fed49b22) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=fed49b22) for method 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.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(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.__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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M49233_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_M49233_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x98] + test rdi, rdi + je SHORT G_M49233_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M49233_IG03: mov edi, dword ptr [rdx+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=19413fae) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=19413fae) for method 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.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(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.__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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def ; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M52357_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_M52357_IG02: + mov rdi, qword ptr [rsi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x80] + test rdi, rdi + je SHORT G_M52357_IG03 + ;; size=19 bbWeight=0 PerfScore 0.00 +G_M52357_IG03: mov edi, dword ptr [rdx+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=631a337a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) +; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=631a337a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) ```
26 (104.00 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],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; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct ( 8) zero-ref single-def ; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd 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 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP +;* V11 tmp8 [V11,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V12 rat0 [V12,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V13 rat1 [V13,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable" +;* V14 rat2 [V14,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V15 rat3 [V15,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M28585_IG01: push rbp - mov rbp, rsp - ;; size=4 bbWeight=0 PerfScore 0.00 + sub rsp, 16 + lea rbp, [rsp+0x10] + mov qword ptr [rbp-0x08], rdi + ;; size=14 bbWeight=0 PerfScore 0.00 G_M28585_IG02: + mov rdi, qword ptr [rdi+0x30] + mov rdi, qword ptr [rdi] + mov rdi, qword ptr [rdi+0x68] + test rdi, rdi + je SHORT G_M28585_IG03 + ;; size=16 bbWeight=0 PerfScore 0.00 +G_M28585_IG03: mov edi, dword ptr [rsi+0x08] mov edi, 67 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int) call [rax]System.ThrowHelper:ThrowNotSupportedException(int) int3 ;; size=21 bbWeight=0 PerfScore 0.00 -; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) +; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 51 (MethodHash=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) ```
MihuBot commented 1 month ago

Top method improvements

-12 (-20.00 % of base) - System.Numerics.Vector`1[double]:.ctor(double[],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T02] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg2 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M23699_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M23699_IG02: test edx, edx jl SHORT G_M23699_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 4 + sub eax, edx + cmp eax, 4 jl SHORT G_M23699_IG04 - cmp edx, eax - jae SHORT G_M23699_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+8*rax+0x10] vmovups ymmword ptr [rdi], ymm0 - ;; size=32 bbWeight=1 PerfScore 13.50 + ;; size=26 bbWeight=1 PerfScore 12.00 G_M23699_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M23699_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M23699_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 17.25, instruction count 22, allocated bytes for code 60 (MethodHash=a32ea36c) for method System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 15.75, instruction count 17, allocated bytes for code 48 (MethodHash=a32ea36c) for method System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) ```
-12 (-20.00 % of base) - System.Numerics.Vector`1[int]:.ctor(int[],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T02] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg2 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M59667_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M59667_IG02: test edx, edx jl SHORT G_M59667_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 8 + sub eax, edx + cmp eax, 8 jl SHORT G_M59667_IG04 - cmp edx, eax - jae SHORT G_M59667_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+4*rax+0x10] vmovups ymmword ptr [rdi], ymm0 - ;; size=32 bbWeight=1 PerfScore 13.50 + ;; size=26 bbWeight=1 PerfScore 12.00 G_M59667_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M59667_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M59667_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 17.25, instruction count 22, allocated bytes for code 60 (MethodHash=a79d16ec) for method System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 15.75, instruction count 17, allocated bytes for code 48 (MethodHash=a79d16ec) for method System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) ```
-12 (-20.00 % of base) - System.Numerics.Vector`1[long]:.ctor(long[],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T02] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg2 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M14611_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M14611_IG02: test edx, edx jl SHORT G_M14611_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 4 + sub eax, edx + cmp eax, 4 jl SHORT G_M14611_IG04 - cmp edx, eax - jae SHORT G_M14611_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+8*rax+0x10] vmovups ymmword ptr [rdi], ymm0 - ;; size=32 bbWeight=1 PerfScore 13.50 + ;; size=26 bbWeight=1 PerfScore 12.00 G_M14611_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M14611_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M14611_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 17.25, instruction count 22, allocated bytes for code 60 (MethodHash=504ac6ec) for method System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 15.75, instruction count 17, allocated bytes for code 48 (MethodHash=504ac6ec) for method System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) ```
-12 (-20.00 % of base) - System.Numerics.Vector`1[short]:.ctor(short[],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T02] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg2 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M49907_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M49907_IG02: test edx, edx jl SHORT G_M49907_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 16 + sub eax, edx + cmp eax, 16 jl SHORT G_M49907_IG04 - cmp edx, eax - jae SHORT G_M49907_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+2*rax+0x10] vmovups ymmword ptr [rdi], ymm0 - ;; size=32 bbWeight=1 PerfScore 13.50 + ;; size=26 bbWeight=1 PerfScore 12.00 G_M49907_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M49907_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M49907_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 17.25, instruction count 22, allocated bytes for code 60 (MethodHash=058a3d0c) for method System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 15.75, instruction count 17, allocated bytes for code 48 (MethodHash=058a3d0c) for method System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) ```
-12 (-20.00 % of base) - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this ```diff ; Assembly listing for method System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T02] ( 3, 3 ) byref -> rdi this single-def ; V01 arg1 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg2 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M12179_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M12179_IG02: test edx, edx jl SHORT G_M12179_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 32 + sub eax, edx + cmp eax, 32 jl SHORT G_M12179_IG04 - cmp edx, eax - jae SHORT G_M12179_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+rax+0x10] vmovups ymmword ptr [rdi], ymm0 - ;; size=32 bbWeight=1 PerfScore 13.50 + ;; size=26 bbWeight=1 PerfScore 12.00 G_M12179_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M12179_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M12179_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 17.25, instruction count 22, allocated bytes for code 60 (MethodHash=43a6d06c) for method System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 15.75, instruction count 17, allocated bytes for code 48 (MethodHash=43a6d06c) for method System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M20514_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M20514_IG02: test edx, edx jl SHORT G_M20514_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 2 + sub eax, edx + cmp eax, 2 jl SHORT G_M20514_IG04 - cmp edx, eax - jae SHORT G_M20514_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+8*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M20514_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M20514_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M20514_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=8a69afdd) for method System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=8a69afdd) for method System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M58180_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M58180_IG02: test edx, edx jl SHORT G_M58180_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 4 + sub eax, edx + cmp eax, 4 jl SHORT G_M58180_IG04 - cmp edx, eax - jae SHORT G_M58180_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+4*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M58180_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M58180_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M58180_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=68c01cbb) for method System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=68c01cbb) for method System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M63869_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M63869_IG02: test edx, edx jl SHORT G_M63869_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 2 + sub eax, edx + cmp eax, 2 jl SHORT G_M63869_IG04 - cmp edx, eax - jae SHORT G_M63869_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+8*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M63869_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M63869_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M63869_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=2d870682) for method System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=2d870682) for method System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M40837_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M40837_IG02: test edx, edx jl SHORT G_M40837_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 8 + sub eax, edx + cmp eax, 8 jl SHORT G_M40837_IG04 - cmp edx, eax - jae SHORT G_M40837_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+2*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M40837_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M40837_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M40837_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=1bac607a) for method System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=1bac607a) for method System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M59976_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M59976_IG02: test edx, edx jl SHORT G_M59976_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 16 + sub eax, edx + cmp eax, 16 jl SHORT G_M59976_IG04 - cmp edx, eax - jae SHORT G_M59976_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M59976_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M59976_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M59976_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=e27615b7) for method System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=e27615b7) for method System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (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; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M56304_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M56304_IG02: test edx, edx jl SHORT G_M56304_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 2 + sub eax, edx + cmp eax, 2 jl SHORT G_M56304_IG04 - cmp edx, eax - jae SHORT G_M56304_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+8*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M56304_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M56304_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M56304_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=e4c0240f) for method System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=e4c0240f) for method System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (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; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M7414_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M7414_IG02: test edx, edx jl SHORT G_M7414_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 4 + sub eax, edx + cmp eax, 4 jl SHORT G_M7414_IG04 - cmp edx, eax - jae SHORT G_M7414_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+4*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M7414_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M7414_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M7414_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=7571e309) for method System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=7571e309) for method System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (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; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M16591_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M16591_IG02: test edx, edx jl SHORT G_M16591_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 2 + sub eax, edx + cmp eax, 2 jl SHORT G_M16591_IG04 - cmp edx, eax - jae SHORT G_M16591_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+8*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M16591_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M16591_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M16591_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=59a5bf30) for method System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=59a5bf30) for method System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (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; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M26327_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M26327_IG02: test edx, edx jl SHORT G_M26327_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 8 + sub eax, edx + cmp eax, 8 jl SHORT G_M26327_IG04 - cmp edx, eax - jae SHORT G_M26327_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+2*rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M26327_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M26327_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M26327_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=1acb9928) for method System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=1acb9928) for method System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) ```
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (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; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M54138_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M54138_IG02: test edx, edx jl SHORT G_M54138_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 16 + sub eax, edx + cmp eax, 16 jl SHORT G_M54138_IG04 - cmp edx, eax - jae SHORT G_M54138_IG05 mov eax, edx vmovups xmm0, xmmword ptr [rsi+rax+0x10] vmovups xmmword ptr [rdi], xmm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 12.75 + ;; size=29 bbWeight=1 PerfScore 11.25 G_M54138_IG03: pop rbp ret ;; size=2 bbWeight=1 PerfScore 1.50 G_M54138_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M54138_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 60, prolog size 4, PerfScore 15.50, instruction count 22, allocated bytes for code 60 (MethodHash=768e2c85) for method System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) +; Total bytes of code 48, prolog size 4, PerfScore 14.00, instruction count 17, allocated bytes for code 48 (MethodHash=768e2c85) for method System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) ```
-12 (-19.05 % of base) - System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M26338_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M26338_IG02: test edx, edx jl SHORT G_M26338_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 4 + sub eax, edx + cmp eax, 4 jl SHORT G_M26338_IG04 - cmp edx, eax - jae SHORT G_M26338_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+8*rax+0x10] vmovups ymmword ptr [rdi], ymm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 13.75 + ;; size=29 bbWeight=1 PerfScore 12.25 G_M26338_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M26338_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M26338_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 63, prolog size 4, PerfScore 17.50, instruction count 23, allocated bytes for code 63 (MethodHash=9a02991d) for method System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) +; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=9a02991d) for method System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) ```
-12 (-19.05 % of base) - System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M51588_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M51588_IG02: test edx, edx jl SHORT G_M51588_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 8 + sub eax, edx + cmp eax, 8 jl SHORT G_M51588_IG04 - cmp edx, eax - jae SHORT G_M51588_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+4*rax+0x10] vmovups ymmword ptr [rdi], ymm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 13.75 + ;; size=29 bbWeight=1 PerfScore 12.25 G_M51588_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M51588_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M51588_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 63, prolog size 4, PerfScore 17.50, instruction count 23, allocated bytes for code 63 (MethodHash=5621367b) for method System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) +; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=5621367b) for method System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) ```
-12 (-19.05 % of base) - System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M34237_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M34237_IG02: test edx, edx jl SHORT G_M34237_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 4 + sub eax, edx + cmp eax, 4 jl SHORT G_M34237_IG04 - cmp edx, eax - jae SHORT G_M34237_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+8*rax+0x10] vmovups ymmword ptr [rdi], ymm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 13.75 + ;; size=29 bbWeight=1 PerfScore 12.25 G_M34237_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M34237_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M34237_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 63, prolog size 4, PerfScore 17.50, instruction count 23, allocated bytes for code 63 (MethodHash=f1987a42) for method System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) +; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=f1987a42) for method System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) ```
-12 (-19.05 % of base) - System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M27333_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M27333_IG02: test edx, edx jl SHORT G_M27333_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 16 + sub eax, edx + cmp eax, 16 jl SHORT G_M27333_IG04 - cmp edx, eax - jae SHORT G_M27333_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+2*rax+0x10] vmovups ymmword ptr [rdi], ymm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 13.75 + ;; size=29 bbWeight=1 PerfScore 12.25 G_M27333_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M27333_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M27333_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 63, prolog size 4, PerfScore 17.50, instruction count 23, allocated bytes for code 63 (MethodHash=1ea7953a) for method System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) +; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=1ea7953a) for method System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) ```
-12 (-19.05 % of base) - System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 RetBuf [V00,T01] ( 4, 4 ) byref -> rdi single-def ; V01 arg0 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def -; V02 arg1 [V02,T00] ( 6, 6 ) int -> rdx single-def +; V02 arg1 [V02,T00] ( 5, 5 ) int -> rdx single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V04 cse0 [V04,T03] ( 3, 3 ) int -> rax "CSE #01: aggressive" ; ; Lcl frame size = 0 G_M37000_IG01: push rbp mov rbp, rsp ;; size=4 bbWeight=1 PerfScore 1.25 G_M37000_IG02: test edx, edx jl SHORT G_M37000_IG04 mov eax, dword ptr [rsi+0x08] - mov ecx, eax - sub ecx, edx - cmp ecx, 32 + sub eax, edx + cmp eax, 32 jl SHORT G_M37000_IG04 - cmp edx, eax - jae SHORT G_M37000_IG05 mov eax, edx vmovups ymm0, ymmword ptr [rsi+rax+0x10] vmovups ymmword ptr [rdi], ymm0 mov rax, rdi - ;; size=35 bbWeight=1 PerfScore 13.75 + ;; size=29 bbWeight=1 PerfScore 12.25 G_M37000_IG03: vzeroupper pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M37000_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M37000_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 63, prolog size 4, PerfScore 17.50, instruction count 23, allocated bytes for code 63 (MethodHash=dc2f6f77) for method System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) +; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=dc2f6f77) for method System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) ```
MihuBot commented 1 month ago

@xtqqczze

xtqqczze commented 1 month ago

https://github.com/dotnet/runtime/pull/104532