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/dotnet-runtime/VectorUnsafeAccess #521

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

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

MihuBot opened this issue Jul 13, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jul 13, 2024

Job completed in 14 minutes.

Diffs

Diffs
Found 263 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 41802100
Total bytes of diff: 41798188
Total bytes of delta: -3912 (-0.01 % of base)
Total relative delta: -94.35
    diff is an improvement.
    relative diff is an improvement.


Total byte diff includes 216 bytes from reconciling methods
	Base had    0 unique methods,        0 unique bytes
	Diff had   36 unique methods,      216 unique bytes

Top file improvements (bytes):
       -3912 : System.Private.CoreLib.dasm (-0.05 % of base)

1 total files with Code Size differences (1 improved, 0 regressed), 258 unchanged.

Top method regressions (bytes):
          35 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref,ulong) (FullOpts) (0 base, 2 diff methods)
          32 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref) (FullOpts) (0 base, 2 diff methods)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          16 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:LoadUnsafe(byref):System.Numerics.Vector3 (FullOpts) (0 base, 1 diff methods)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts)
           5 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:LoadUnsafe(byref):System.Numerics.Vector2 (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)

Top method improvements (bytes):
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.__Canon[],int):this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.__Canon[],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int):this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.Nullable`1[int][],int):System.Numerics.Vector`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int):this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Numerics.Vector`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int64View():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NIntView():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NUIntView():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SByteView():byte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SingleView():float[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt16View():ushort[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt32View():uint[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt64View():ulong[]:this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts)

Top method regressions (percentages):
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
          35 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref,ulong) (FullOpts) (0 base, 2 diff methods)
          32 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:StoreUnsafe(byref,byref) (FullOpts) (0 base, 2 diff methods)
           5 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:LoadUnsafe(byref):System.Numerics.Vector2 (FullOpts) (0 base, 1 diff methods)
          16 (Infinity of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:LoadUnsafe(byref):System.Numerics.Vector3 (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[double](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[int](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[long](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[short](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.__Canon](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Nullable`1[int]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[System.Numerics.Vector`1[float]](byref):byref (FullOpts) (0 base, 1 diff methods)
           4 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:AsRef[ubyte](byref):byref (FullOpts) (0 base, 1 diff methods)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          32 (168.42 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts)
          29 (131.82 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
          26 (104.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
           9 (21.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts)
           8 (18.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts)

Top method improvements (percentages):
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:CopyTo(System.Nullable`1[int][],int):this (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:CopyTo(System.Numerics.Vector`1[float][],int):this (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.CopyTo(System.Numerics.Vector`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Nullable`1[int]](System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:CopyTo[System.Numerics.Vector`1[float]](System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]],System.Nullable`1[int][],int) (FullOpts)
         -24 (-55.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][],int) (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:.ctor(System.__Canon[],int):this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.__Canon[],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:.ctor(System.Nullable`1[int][],int):this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.Nullable`1[int][],int):System.Numerics.Vector`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:.ctor(System.Numerics.Vector`1[float][],int):this (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Numerics.Vector`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector128`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector128`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector256`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector256`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector512`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector512`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon[],int):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Nullable`1[int]](System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.Nullable`1[int][],int):System.Runtime.Intrinsics.Vector64`1[System.Nullable`1[int]] (FullOpts)
         -23 (-54.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.Numerics.Vector`1[float][],int):System.Runtime.Intrinsics.Vector64`1[System.Numerics.Vector`1[float]] (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_ByteView():ubyte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_DoubleView():double[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int16View():short[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int32View():int[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_Int64View():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NIntView():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_NUIntView():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SByteView():byte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_SingleView():float[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt16View():ushort[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt32View():uint[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Nullable`1[int]]:get_UInt64View():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_ByteView():ubyte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_DoubleView():double[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int16View():short[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int32View():int[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_Int64View():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NIntView():long[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_NUIntView():ulong[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SByteView():byte[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_SingleView():float[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt16View():ushort[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt32View():uint[]:this (FullOpts)
         -23 (-51.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512DebugView`1[System.Numerics.Vector`1[float]]:get_UInt64View():ulong[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_ByteView():ubyte[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_DoubleView():double[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int16View():short[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int32View():int[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_Int64View():long[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NIntView():long[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_NUIntView():ulong[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SByteView():byte[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_SingleView():float[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt16View():ushort[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt32View():uint[]:this (FullOpts)
         -16 (-42.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256DebugView`1[System.__Canon]:get_UInt64View():ulong[]:this (FullOpts)

529 total methods with Code Size differences (463 improved, 66 regressed), 255391 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 13, 2024

Top method regressions

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 13, 2024

Top method improvements

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 13, 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