Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JitDiff X64] [xtqqczze] Use GetArrayDataReference in Vector* #503

Open
MihuBot opened this issue Jul 10, 2024 · 3 comments
Open

[JitDiff X64] [xtqqczze] Use GetArrayDataReference in Vector* #503

MihuBot opened this issue Jul 10, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jul 10, 2024

Job completed in 15 minutes.
dotnet/runtime#104532

Diffs

Diffs
Found 260 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 41771954
Total bytes of diff: 41771388
Total bytes of delta: -566 (-0.00 % of base)
Total relative delta: -5.21
    diff is an improvement.
    relative diff is an improvement.


Top file improvements (bytes):
        -566 : 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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
          29 (116.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[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 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(double[],int):System.Numerics.Vector`1[double] (FullOpts)
         -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(int[],int):System.Numerics.Vector`1[int] (FullOpts)
         -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(long[],int):System.Numerics.Vector`1[long] (FullOpts)
         -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(short[],int):System.Numerics.Vector`1[short] (FullOpts)
         -12 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(ubyte[],int):System.Numerics.Vector`1[ubyte] (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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[double],double[]) (FullOpts)
          -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(double[]):System.Numerics.Vector`1[double] (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 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[int],int[]) (FullOpts)
          -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(int[]):System.Numerics.Vector`1[int] (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 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[long],long[]) (FullOpts)
          -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(long[]):System.Numerics.Vector`1[long] (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 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[short],short[]) (FullOpts)
          -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(short[]):System.Numerics.Vector`1[short] (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 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[ubyte],ubyte[]) (FullOpts)
          -2 (-4.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(ubyte[]):System.Numerics.Vector`1[ubyte] (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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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)

Top method regressions (percentages):
          29 (116.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
          29 (116.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(double[],int):System.Numerics.Vector`1[double] (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(int[],int):System.Numerics.Vector`1[int] (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(long[],int):System.Numerics.Vector`1[long] (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(short[],int):System.Numerics.Vector`1[short] (FullOpts)
         -12 (-19.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(ubyte[],int):System.Numerics.Vector`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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,T>.Create(ubyte[]):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)
          -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[double],double[]) (FullOpts)
          -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[int],int[]) (FullOpts)
          -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[long],long[]) (FullOpts)
          -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[short],short[]) (FullOpts)
          -2 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[ubyte],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)

161 total methods with Code Size differences (153 improved, 8 regressed), 255645 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 11, 2024

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[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <System.Runtime.Intrinsics.Vector128`1[System.__Canon]>
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->  rsi         class-hnd single-def <System.__Canon[]>
 ;# 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+0xA0]
+       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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <System.__Canon[]>
 ;# 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+0xB8]
+       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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,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 <System.Runtime.Intrinsics.Vector256`1[System.__Canon]>
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->  rsi         class-hnd single-def <System.__Canon[]>
 ;# 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+0x98]
+       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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,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 <System.__Canon[]>
 ;# 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+0xB0]
+       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<System.Runtime.Intrinsics.Vector256<T>,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<System.Runtime.Intrinsics.Vector256<T>,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[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,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 <System.Runtime.Intrinsics.Vector512`1[System.__Canon]>
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->  rsi         class-hnd single-def <System.__Canon[]>
 ;# 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+0x98]
+       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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,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 <System.__Canon[]>
 ;# 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+0xB0]
+       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<System.Runtime.Intrinsics.Vector512<T>,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<System.Runtime.Intrinsics.Vector512<T>,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>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,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 <System.Runtime.Intrinsics.Vector64`1[System.__Canon]>
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->  rsi         class-hnd single-def <System.__Canon[]>
 ;# 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+0x80]
+       test     rdi, rdi
+       je       SHORT G_M28585_IG03
+						;; size=19 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<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`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=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,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 <System.__Canon[]>
 ;# 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+0x98]
+       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<System.Runtime.Intrinsics.Vector64<T>,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<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 11, 2024

Top method improvements

-12 (-20.00 % of base) - System.Numerics.Vector`1[double]:.ctor(double[],int):this
 ; 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 <double[]>
-;  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 (-19.05 % of base) - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Numerics.Vector`1[double]
 ; Assembly listing for method System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(double[],int):System.Numerics.Vector`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 <double[]>
-;  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 tmp1         [V04    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[double]>
-;  V05 cse0         [V05,T03] (  3,  3   )     int  ->  rax         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M47021_IG01:
        push     rbp
        mov      rbp, rsp
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M47021_IG02:
        test     edx, edx
        jl       SHORT G_M47021_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_M47021_IG04
-       cmp      edx, eax
-       jae      SHORT G_M47021_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_M47021_IG03:
        vzeroupper 
        pop      rbp
        ret      
 						;; size=5 bbWeight=1 PerfScore 2.50
 G_M47021_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_M47021_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=a7574852) for method System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(double[],int):System.Numerics.Vector`1[double] (FullOpts)
+; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=a7574852) for method System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(double[],int):System.Numerics.Vector`1[double] (FullOpts)
-12 (-20.00 % of base) - System.Numerics.Vector`1[int]:.ctor(int[],int):this
 ; 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 <int[]>
-;  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 (-19.05 % of base) - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Numerics.Vector`1[int]
 ; Assembly listing for method System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(int[],int):System.Numerics.Vector`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 <int[]>
-;  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 tmp1         [V04    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[int]>
-;  V05 cse0         [V05,T03] (  3,  3   )     int  ->  rax         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M35627_IG01:
        push     rbp
        mov      rbp, rsp
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M35627_IG02:
        test     edx, edx
        jl       SHORT G_M35627_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_M35627_IG04
-       cmp      edx, eax
-       jae      SHORT G_M35627_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_M35627_IG03:
        vzeroupper 
        pop      rbp
        ret      
 						;; size=5 bbWeight=1 PerfScore 2.50
 G_M35627_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_M35627_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=145774d4) for method System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(int[],int):System.Numerics.Vector`1[int] (FullOpts)
+; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=145774d4) for method System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(int[],int):System.Numerics.Vector`1[int] (FullOpts)
-12 (-20.00 % of base) - System.Numerics.Vector`1[long]:.ctor(long[],int):this
 ; 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 <long[]>
-;  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 (-19.05 % of base) - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Numerics.Vector`1[long]
 ; Assembly listing for method System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(long[],int):System.Numerics.Vector`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 <long[]>
-;  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 tmp1         [V04    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[long]>
-;  V05 cse0         [V05,T03] (  3,  3   )     int  ->  rax         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M3186_IG01:
        push     rbp
        mov      rbp, rsp
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M3186_IG02:
        test     edx, edx
        jl       SHORT G_M3186_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_M3186_IG04
-       cmp      edx, eax
-       jae      SHORT G_M3186_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_M3186_IG03:
        vzeroupper 
        pop      rbp
        ret      
 						;; size=5 bbWeight=1 PerfScore 2.50
 G_M3186_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_M3186_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=2033f38d) for method System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(long[],int):System.Numerics.Vector`1[long] (FullOpts)
+; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=2033f38d) for method System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(long[],int):System.Numerics.Vector`1[long] (FullOpts)
-12 (-20.00 % of base) - System.Numerics.Vector`1[short]:.ctor(short[],int):this
 ; 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 <short[]>
-;  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 (-19.05 % of base) - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Numerics.Vector`1[short]
 ; Assembly listing for method System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(short[],int):System.Numerics.Vector`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 <short[]>
-;  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 tmp1         [V04    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[short]>
-;  V05 cse0         [V05,T03] (  3,  3   )     int  ->  rax         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M25130_IG01:
        push     rbp
        mov      rbp, rsp
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M25130_IG02:
        test     edx, edx
        jl       SHORT G_M25130_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_M25130_IG04
-       cmp      edx, eax
-       jae      SHORT G_M25130_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_M25130_IG03:
        vzeroupper 
        pop      rbp
        ret      
 						;; size=5 bbWeight=1 PerfScore 2.50
 G_M25130_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_M25130_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=4bc99dd5) for method System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(short[],int):System.Numerics.Vector`1[short] (FullOpts)
+; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=4bc99dd5) for method System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(short[],int):System.Numerics.Vector`1[short] (FullOpts)
-12 (-20.00 % of base) - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this
 ; 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 <ubyte[]>
-;  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 (-19.05 % of base) - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Numerics.Vector`1[ubyte]
 ; Assembly listing for method System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(ubyte[],int):System.Numerics.Vector`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 <ubyte[]>
-;  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 tmp1         [V04    ] (  0,  0   )  simd32  ->  zero-ref    ld-addr-op "NewObj constructor temp" <System.Numerics.Vector`1[ubyte]>
-;  V05 cse0         [V05,T03] (  3,  3   )     int  ->  rax         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M40743_IG01:
        push     rbp
        mov      rbp, rsp
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M40743_IG02:
        test     edx, edx
        jl       SHORT G_M40743_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_M40743_IG04
-       cmp      edx, eax
-       jae      SHORT G_M40743_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_M40743_IG03:
        vzeroupper 
        pop      rbp
        ret      
 						;; size=5 bbWeight=1 PerfScore 2.50
 G_M40743_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_M40743_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=57b560d8) for method System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(ubyte[],int):System.Numerics.Vector`1[ubyte] (FullOpts)
+; Total bytes of code 51, prolog size 4, PerfScore 16.00, instruction count 18, allocated bytes for code 51 (MethodHash=57b560d8) for method System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(ubyte[],int):System.Numerics.Vector`1[ubyte] (FullOpts)
-12 (-20.00 % of base) - System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double]
 ; 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 <double[]>
-;  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]
 ; 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 <int[]>
-;  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]
 ; 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 <long[]>
-;  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]
 ; 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 <short[]>
-;  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]
 ; 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 <ubyte[]>
-;  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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <double[]>
-;  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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <int[]>
-;  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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <long[]>
-;  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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <short[]>
-;  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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,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]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,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 <ubyte[]>
-;  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<System.Runtime.Intrinsics.Vector128<T>,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<System.Runtime.Intrinsics.Vector128<T>,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 11, 2024

@xtqqczze

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant