Assembly Diffs

linux arm

Diffs are based on 2,239,390 contexts (829,328 MinOpts, 1,410,062 FullOpts).

MISSED contexts: 71,274 (3.08%)

No diffs found.

Details

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm.checked.mch 45,964 5,344 40,620 1,203 (2.55%) 1,203 (2.55%)
benchmarks.run_pgo.linux.arm.checked.mch 159,513 56,729 102,784 3,201 (1.97%) 3,201 (1.97%)
benchmarks.run_tiered.linux.arm.checked.mch 80,099 43,607 36,492 1,086 (1.34%) 1,086 (1.34%)
coreclr_tests.run.linux.arm.checked.mch 471,992 259,195 212,797 7,171 (1.50%) 7,171 (1.50%)
libraries.crossgen2.linux.arm.checked.mch 188,191 14 188,177 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.arm.checked.mch 272,360 6 272,354 7,786 (2.78%) 7,786 (2.78%)
libraries_tests.run.linux.arm.Release.mch 710,231 442,672 267,559 16,195 (2.23%) 16,195 (2.23%)
librariestestsnotieredcompilation.run.linux.arm.Release.mch 274,633 21,604 253,029 33,224 (10.79%) 33,224 (10.79%)
realworld.run.linux.arm.checked.mch 36,407 157 36,250 1,408 (3.72%) 1,408 (3.72%)
2,239,390 829,328 1,410,062 71,274 (3.08%) 71,274 (3.08%)


windows x86

Diffs are based on 2,293,451 contexts (839,658 MinOpts, 1,453,793 FullOpts).

MISSED contexts: 45 (0.00%)

Overall (-542 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 309,385,411 -287
libraries.crossgen2.windows.x86.checked.mch 31,716,097 -80
libraries.pmi.windows.x86.checked.mch 49,269,895 -33
libraries_tests.run.windows.x86.Release.mch 186,683,551 -68
librariestestsnotieredcompilation.run.windows.x86.Release.mch 103,821,073 -74

MinOpts (-304 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 201,788,134 -236
libraries_tests.run.windows.x86.Release.mch 98,273,700 -68

FullOpts (-238 bytes)

Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 107,597,277 -51
libraries.crossgen2.windows.x86.checked.mch 31,715,037 -80
libraries.pmi.windows.x86.checked.mch 49,174,662 -33
librariestestsnotieredcompilation.run.windows.x86.Release.mch 95,141,009 -74

Example diffs

coreclr_tests.run.windows.x86.checked.mch

-4 (-12.50%) : 239110.dasm - Runtime_90508:Test1(System.Runtime.Intrinsics.Vector1281[double],double):System.Runtime.Intrinsics.Vector1281double

@@ -20,17 +20,16 @@ G_M47826_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=6 bbWeight=1 PerfScore 2.25 G_M47826_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
vmovups xmm1, xmmword ptr [ebp+0x10] vaddpd xmm0, xmm1, xmm0 vmovups xmmword ptr [ecx], xmm0
- ;; size=22 bbWeight=1 PerfScore 12.00
+ ;; size=18 bbWeight=1 PerfScore 11.00
G_M47826_IG03: ; bbWeight=1, epilog, nogc, extend pop ebp ret 24 ;; size=4 bbWeight=1 PerfScore 2.50
-; Total bytes of code 32, prolog size 6, PerfScore 16.75, instruction count 10, allocated bytes for code 32 (MethodHash=7638452d) for method Runtime_90508:Test1(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 28, prolog size 6, PerfScore 15.75, instruction count 9, allocated bytes for code 28 (MethodHash=7638452d) for method Runtime_90508:Test1(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

-2 (-5.41%) : 490090.dasm - Runtime_90508:Test1(System.Runtime.Intrinsics.Vector1281[double],double):System.Runtime.Intrinsics.Vector1281double

@@ -19,19 +19,18 @@ G_M47826_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov bword ptr [ebp-0x04], ecx ;; size=10 bbWeight=1 PerfScore 4.25 G_M47826_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0 - vaddpd xmm0, xmm0, xmmword ptr [ebp+0x10]
+ vmovups xmm0, xmmword ptr [ebp+0x10] + vaddpd xmm0, xmm0, qword ptr [ebp+0x08] {1to2}
mov eax, bword ptr [ebp-0x04] ; byrRegs +[eax] vmovups xmmword ptr [eax], xmm0
- ;; size=21 bbWeight=1 PerfScore 12.00
+ ;; size=19 bbWeight=1 PerfScore 11.00
G_M47826_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 37, prolog size 7, PerfScore 19.00, instruction count 13, allocated bytes for code 37 (MethodHash=7638452d) for method Runtime_90508:Test1(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
+; Total bytes of code 35, prolog size 7, PerfScore 18.00, instruction count 12, allocated bytes for code 35 (MethodHash=7638452d) for method Runtime_90508:Test1(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
; ============================================================

-4 (-3.42%) : 343417.dasm - JIT.HardwareIntrinsics.General.Vector128.VectorCreate_CreateDouble:RunBasicScenario():this (Tier0)

@@ -33,8 +33,7 @@ G_M43778_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} fstp qword ptr [ebp-0x24] vmovsd xmm0, qword ptr [ebp-0x24] vmovsd qword ptr [ebp-0x0C], xmm0
- vmovsd xmm0, qword ptr [ebp-0x0C] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp-0x0C]
vmovups xmmword ptr [ebp-0x1C], xmm0 vmovups xmm0, xmmword ptr [ebp-0x1C] sub esp, 16 @@ -48,13 +47,13 @@ G_M43778_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; gcrRegs +[edx] call [<unknown method>] ; gcrRegs -[ecx edx]
- ;; size=84 bbWeight=1 PerfScore 30.50
+ ;; size=80 bbWeight=1 PerfScore 29.50
G_M43778_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 117, prolog size 26, PerfScore 40.33, instruction count 31, allocated bytes for code 117 (MethodHash=06dc54fd) for method JIT.HardwareIntrinsics.General._Vector128.VectorCreate__CreateDouble:RunBasicScenario():this (Tier0)
+; Total bytes of code 113, prolog size 26, PerfScore 39.33, instruction count 30, allocated bytes for code 113 (MethodHash=06dc54fd) for method JIT.HardwareIntrinsics.General._Vector128.VectorCreate__CreateDouble:RunBasicScenario():this (Tier0)
; ============================================================

+4 (+1.79%) : 104760.dasm - JIT.HardwareIntrinsics.X86.Avx512FVLVector128.SimpleUnaryOpConvTestConvertToVector128DoubleVector128UInt32:RunBasicScenarioLoad():this (MinOpts)

@@ -60,7 +60,8 @@ G_M36494_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov eax, dword ptr [ebp-0x18] vmovups xmm0, xmmword ptr [eax] vmovups xmmword ptr [ebp-0x28], xmm0
- vcvtudq2pd xmm0, xmmword ptr [ebp-0x28]
+ vmovups xmm0, xmmword ptr [ebp-0x28] + vcvtudq2pd xmm0, xmm0
vmovups xmmword ptr [ebp-0x38], xmm0 vmovups xmm0, xmmword ptr [ebp-0x38] vmovups xmmword ptr [ebp-0x14], xmm0 @@ -111,13 +112,13 @@ G_M36494_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; gcr arg pop 1 nop nop
- ;; size=168 bbWeight=1 PerfScore 74.50
+ ;; size=172 bbWeight=1 PerfScore 75.50
G_M36494_IG05: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 223, prolog size 37, PerfScore 91.83, instruction count 66, allocated bytes for code 223 (MethodHash=28e07171) for method JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_Load():this (MinOpts)
+; Total bytes of code 227, prolog size 37, PerfScore 92.83, instruction count 67, allocated bytes for code 227 (MethodHash=28e07171) for method JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_Load():this (MinOpts)
; ============================================================

+1 (+4.76%) : 104763.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector1281[uint]):System.Runtime.Intrinsics.Vector1281double

@@ -17,13 +17,14 @@ G_M19198_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=3 bbWeight=1 PerfScore 1.00 G_M19198_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- vcvtudq2pd xmm0, xmmword ptr [esp+0x04]
+ vmovups xmm0, xmmword ptr [esp+0x04] + vcvtudq2pd xmm0, xmm0
vmovups xmmword ptr [ecx], xmm0
- ;; size=15 bbWeight=1 PerfScore 8.00
+ ;; size=16 bbWeight=1 PerfScore 9.00
G_M19198_IG03: ; bbWeight=1, epilog, nogc, extend ret 16 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 21, prolog size 3, PerfScore 11.00, instruction count 4, allocated bytes for code 21 (MethodHash=6d20b501) for method System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 22, prolog size 3, PerfScore 12.00, instruction count 5, allocated bytes for code 22 (MethodHash=6d20b501) for method System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

+4 (+13.33%) : 371774.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector1281[uint]):System.Runtime.Intrinsics.Vector1281double

@@ -18,17 +18,18 @@ G_M19198_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov bword ptr [ebp-0x04], ecx ;; size=10 bbWeight=1 PerfScore 4.25 G_M19198_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vcvtudq2pd xmm0, xmmword ptr [ebp+0x08]
+ vmovups xmm0, xmmword ptr [ebp+0x08] + vcvtudq2pd xmm0, xmm0
mov eax, bword ptr [ebp-0x04] ; byrRegs +[eax] vmovups xmmword ptr [eax], xmm0
- ;; size=14 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 10.00
G_M19198_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 16 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 30, prolog size 7, PerfScore 16.00, instruction count 11, allocated bytes for code 30 (MethodHash=6d20b501) for method System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
+; Total bytes of code 34, prolog size 7, PerfScore 17.00, instruction count 12, allocated bytes for code 34 (MethodHash=6d20b501) for method System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
; ============================================================

libraries.crossgen2.windows.x86.checked.mch

-4 (-25.00%) : 18446.dasm - System.Runtime.Intrinsics.Vector1281[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(double):System.Runtime.Intrinsics.Vector1281double

@@ -17,14 +17,13 @@ G_M58025_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=0 bbWeight=1 PerfScore 0.00 G_M58025_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- movsd xmm0, qword ptr [esp+0x04] - movddup xmm0, xmm0
+ movddup xmm0, qword ptr [esp+0x04]
movups xmmword ptr [ecx], xmm0
- ;; size=13 bbWeight=1 PerfScore 6.00
+ ;; size=9 bbWeight=1 PerfScore 5.00
G_M58025_IG03: ; bbWeight=1, epilog, nogc, extend ret 8 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 16, prolog size 0, PerfScore 8.00, instruction count 4, allocated bytes for code 16 (MethodHash=768d1d56) for method System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 12, prolog size 0, PerfScore 7.00, instruction count 3, allocated bytes for code 12 (MethodHash=768d1d56) for method System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

-4 (-25.00%) : 7827.dasm - System.Runtime.Intrinsics.Vector128:Create(double):System.Runtime.Intrinsics.Vector128`1double

@@ -17,14 +17,13 @@ G_M30792_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=0 bbWeight=1 PerfScore 0.00 G_M30792_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- movsd xmm0, qword ptr [esp+0x04] - movddup xmm0, xmm0
+ movddup xmm0, qword ptr [esp+0x04]
movups xmmword ptr [ecx], xmm0
- ;; size=13 bbWeight=1 PerfScore 6.00
+ ;; size=9 bbWeight=1 PerfScore 5.00
G_M30792_IG03: ; bbWeight=1, epilog, nogc, extend ret 8 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 16, prolog size 0, PerfScore 8.00, instruction count 4, allocated bytes for code 16 (MethodHash=2f6e87b7) for method System.Runtime.Intrinsics.Vector128:Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 12, prolog size 0, PerfScore 7.00, instruction count 3, allocated bytes for code 12 (MethodHash=2f6e87b7) for method System.Runtime.Intrinsics.Vector128:Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

-4 (-20.00%) : 7967.dasm - System.Runtime.Intrinsics.Vector256:Create(double):System.Runtime.Intrinsics.Vector256`1double

@@ -25,15 +25,14 @@ G_M59272_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=0 bbWeight=1 PerfScore 0.00 G_M59272_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- movsd xmm0, qword ptr [esp+0x04] - movddup xmm0, xmm0
+ movddup xmm0, qword ptr [esp+0x04]
movups xmmword ptr [ecx], xmm0 movups xmmword ptr [ecx+0x10], xmm0
- ;; size=17 bbWeight=1 PerfScore 8.00
+ ;; size=13 bbWeight=1 PerfScore 7.00
G_M59272_IG03: ; bbWeight=1, epilog, nogc, extend ret 8 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 20, prolog size 0, PerfScore 10.00, instruction count 5, allocated bytes for code 20 (MethodHash=385d1877) for method System.Runtime.Intrinsics.Vector256:Create(double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
+; Total bytes of code 16, prolog size 0, PerfScore 9.00, instruction count 4, allocated bytes for code 16 (MethodHash=385d1877) for method System.Runtime.Intrinsics.Vector256:Create(double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
; ============================================================

-4 (-6.25%) : 18479.dasm - System.Runtime.Intrinsics.Vector5121[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Multiply(System.Runtime.Intrinsics.Vector5121[double],double):System.Runtime.Intrinsics.Vector512`1double

@@ -55,8 +55,7 @@ G_M12342_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {e ; byrRegs +[ecx] movups xmm0, xmmword ptr [esp+0x0C] movups xmm1, xmmword ptr [esp+0x1C]
- movsd xmm2, qword ptr [esp+0x04] - movddup xmm2, xmm2
+ movddup xmm2, qword ptr [esp+0x04]
mulpd xmm0, xmm2 mulpd xmm1, xmm2 movups xmm3, xmmword ptr [esp+0x2C] @@ -67,11 +66,11 @@ G_M12342_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {e movups xmmword ptr [ecx+0x10], xmm1 movups xmmword ptr [ecx+0x20], xmm3 movups xmmword ptr [ecx+0x30], xmm2
- ;; size=61 bbWeight=1 PerfScore 36.00
+ ;; size=57 bbWeight=1 PerfScore 35.00
G_M12342_IG03: ; bbWeight=1, epilog, nogc, extend ret 72 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 64, prolog size 0, PerfScore 38.00, instruction count 15, allocated bytes for code 64 (MethodHash=540ccfc9) for method System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Multiply(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
+; Total bytes of code 60, prolog size 0, PerfScore 37.00, instruction count 14, allocated bytes for code 60 (MethodHash=540ccfc9) for method System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Multiply(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
; ============================================================

-4 (-6.25%) : 18472.dasm - System.Runtime.Intrinsics.Vector5121[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector5121[double]):System.Runtime.Intrinsics.Vector512`1double

@@ -55,8 +55,7 @@ G_M50008_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {e ; byrRegs +[ecx] movups xmm0, xmmword ptr [esp+0x04] movups xmm1, xmmword ptr [esp+0x14]
- movsd xmm2, qword ptr [esp+0x44] - movddup xmm2, xmm2
+ movddup xmm2, qword ptr [esp+0x44]
mulpd xmm0, xmm2 mulpd xmm1, xmm2 movups xmm3, xmmword ptr [esp+0x24] @@ -67,11 +66,11 @@ G_M50008_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {e movups xmmword ptr [ecx+0x10], xmm1 movups xmmword ptr [ecx+0x20], xmm3 movups xmmword ptr [ecx+0x30], xmm2
- ;; size=61 bbWeight=1 PerfScore 36.00
+ ;; size=57 bbWeight=1 PerfScore 35.00
G_M50008_IG03: ; bbWeight=1, epilog, nogc, extend ret 72 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 64, prolog size 0, PerfScore 38.00, instruction count 15, allocated bytes for code 64 (MethodHash=19cf3ca7) for method System.Runtime.Intrinsics.Vector512`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector512`1[double]):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
+; Total bytes of code 60, prolog size 0, PerfScore 37.00, instruction count 14, allocated bytes for code 60 (MethodHash=19cf3ca7) for method System.Runtime.Intrinsics.Vector512`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector512`1[double]):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
; ============================================================

-4 (-6.25%) : 18476.dasm - System.Runtime.Intrinsics.Vector5121[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector5121[double],double):System.Runtime.Intrinsics.Vector512`1double

@@ -55,8 +55,7 @@ G_M38185_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {e ; byrRegs +[ecx] movups xmm0, xmmword ptr [esp+0x0C] movups xmm1, xmmword ptr [esp+0x1C]
- movsd xmm2, qword ptr [esp+0x04] - movddup xmm2, xmm2
+ movddup xmm2, qword ptr [esp+0x04]
divpd xmm0, xmm2 divpd xmm1, xmm2 movups xmm3, xmmword ptr [esp+0x2C] @@ -67,11 +66,11 @@ G_M38185_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {e movups xmmword ptr [ecx+0x10], xmm1 movups xmmword ptr [ecx+0x20], xmm3 movups xmmword ptr [ecx+0x30], xmm4
- ;; size=61 bbWeight=1 PerfScore 72.00
+ ;; size=57 bbWeight=1 PerfScore 71.00
G_M38185_IG03: ; bbWeight=1, epilog, nogc, extend ret 72 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 64, prolog size 0, PerfScore 74.00, instruction count 15, allocated bytes for code 64 (MethodHash=23b96ad6) for method System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
+; Total bytes of code 60, prolog size 0, PerfScore 73.00, instruction count 14, allocated bytes for code 60 (MethodHash=23b96ad6) for method System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
; ============================================================

libraries.pmi.windows.x86.checked.mch

-4 (-20.00%) : 9618.dasm - System.Runtime.Intrinsics.X86.Sse3:MoveAndDuplicate(System.Runtime.Intrinsics.Vector1281[double]):System.Runtime.Intrinsics.Vector1281double

@@ -17,14 +17,13 @@ G_M14019_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=3 bbWeight=1 PerfScore 1.00 G_M14019_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- vmovups xmm0, xmmword ptr [esp+0x04] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [esp+0x04]
vmovups xmmword ptr [ecx], xmm0
- ;; size=14 bbWeight=1 PerfScore 6.00
+ ;; size=10 bbWeight=1 PerfScore 5.00
G_M14019_IG03: ; bbWeight=1, epilog, nogc, extend ret 16 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 20, prolog size 3, PerfScore 9.00, instruction count 5, allocated bytes for code 20 (MethodHash=666cc93c) for method System.Runtime.Intrinsics.X86.Sse3:MoveAndDuplicate(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 16, prolog size 3, PerfScore 8.00, instruction count 4, allocated bytes for code 16 (MethodHash=666cc93c) for method System.Runtime.Intrinsics.X86.Sse3:MoveAndDuplicate(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

-4 (-15.38%) : 6341.dasm - System.Runtime.Intrinsics.Vector128:Multiplydouble:System.Runtime.Intrinsics.Vector128`1double

@@ -18,15 +18,14 @@ G_M49156_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=3 bbWeight=1 PerfScore 1.00 G_M49156_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- vmovsd xmm0, qword ptr [esp+0x14] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [esp+0x14]
vmulpd xmm0, xmm0, xmmword ptr [esp+0x04] vmovups xmmword ptr [ecx], xmm0
- ;; size=20 bbWeight=1 PerfScore 11.00
+ ;; size=16 bbWeight=1 PerfScore 10.00
G_M49156_IG03: ; bbWeight=1, epilog, nogc, extend ret 24 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 26, prolog size 3, PerfScore 14.00, instruction count 6, allocated bytes for code 26 (MethodHash=7a3c3ffb) for method System.Runtime.Intrinsics.Vector128:Multiply[double](double,System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 22, prolog size 3, PerfScore 13.00, instruction count 5, allocated bytes for code 22 (MethodHash=7a3c3ffb) for method System.Runtime.Intrinsics.Vector128:Multiply[double](double,System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

-4 (-13.33%) : 6290.dasm - System.Runtime.Intrinsics.Vector128:Dividedouble:System.Runtime.Intrinsics.Vector128`1double

@@ -18,16 +18,15 @@ G_M51323_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=3 bbWeight=1 PerfScore 1.00 G_M51323_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- vmovsd xmm0, qword ptr [esp+0x04] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [esp+0x04]
vmovups xmm1, xmmword ptr [esp+0x0C] vdivpd xmm0, xmm1, xmm0 vmovups xmmword ptr [ecx], xmm0
- ;; size=24 bbWeight=1 PerfScore 21.00
+ ;; size=20 bbWeight=1 PerfScore 20.00
G_M51323_IG03: ; bbWeight=1, epilog, nogc, extend ret 24 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 30, prolog size 3, PerfScore 24.00, instruction count 7, allocated bytes for code 30 (MethodHash=473e3784) for method System.Runtime.Intrinsics.Vector128:Divide[double](System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 26, prolog size 3, PerfScore 23.00, instruction count 6, allocated bytes for code 26 (MethodHash=473e3784) for method System.Runtime.Intrinsics.Vector128:Divide[double](System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

-4 (-1.65%) : 2874.dasm - System.SpanHelpers:CountValueTypedouble:int (FullOpts)

@@ -95,11 +95,10 @@ G_M58357_IG06: ; bbWeight=0.50, epilog, nogc, extend ;; size=9 bbWeight=0.50 PerfScore 2.25 G_M58357_IG07: ; bbWeight=0.50, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000042 {ecx esi}, gcvars, byref ; byrRegs +[ecx]
- vmovaps xmm1, xmm0 - vmovddup xmm1, xmm1
+ vmovddup xmm1, xmm0
lea edx, bword ptr [esi-0x10] ; byrRegs +[edx]
- ;; size=11 bbWeight=0.50 PerfScore 0.88
+ ;; size=7 bbWeight=0.50 PerfScore 0.75
G_M58357_IG08: ; bbWeight=4, gcrefRegs=00000000 {}, byrefRegs=00000046 {ecx edx esi}, byref, isz vcmppd xmm2, xmm1, xmmword ptr [ecx], 0 vmovmskpd edi, xmm2 @@ -174,6 +173,6 @@ G_M58357_IG17: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 ret 8 ;; size=9 bbWeight=0.50 PerfScore 2.25
-; Total bytes of code 243, prolog size 13, PerfScore 150.12, instruction count 90, allocated bytes for code 243 (MethodHash=3f0f1c0a) for method System.SpanHelpers:CountValueType[double](byref,double,int):int (FullOpts)
+; Total bytes of code 239, prolog size 13, PerfScore 150.00, instruction count 89, allocated bytes for code 239 (MethodHash=3f0f1c0a) for method System.SpanHelpers:CountValueType[double](byref,double,int):int (FullOpts)
; ============================================================

-4 (-0.94%) : 2736.dasm - System.SpanHelpers:NonPackedContainsValueTypedouble:ubyte (FullOpts)

@@ -175,13 +175,12 @@ G_M60494_IG17: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000002 ;; size=35 bbWeight=0.50 PerfScore 18.29 G_M60494_IG18: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000040 {esi}, byref ; byrRegs -[ecx] +[esi]
- vmovsd xmm1, qword ptr [ebp+0x08] - vmovddup xmm0, xmm1
+ vmovddup xmm0, qword ptr [ebp+0x08]
mov eax, esi ; byrRegs +[eax] lea ecx, bword ptr [eax+8*edi-0x10] ; byrRegs +[ecx]
- ;; size=15 bbWeight=0.50 PerfScore 2.62
+ ;; size=11 bbWeight=0.50 PerfScore 2.12
G_M60494_IG19: ; bbWeight=4, gcrefRegs=00000000 {}, byrefRegs=00000003 {eax ecx}, byref, isz ; byrRegs -[esi] vcmppd xmm1, xmm0, xmmword ptr [eax], 0 @@ -240,6 +239,6 @@ G_M60494_IG25: ; bbWeight=0.50, epilog, nogc, extend ret 8 ;; size=10 bbWeight=0.50 PerfScore 2.50
-; Total bytes of code 427, prolog size 13, PerfScore 242.38, instruction count 129, allocated bytes for code 427 (MethodHash=06e113b1) for method System.SpanHelpers:NonPackedContainsValueType[double](byref,double,int):ubyte (FullOpts)
+; Total bytes of code 423, prolog size 13, PerfScore 241.88, instruction count 128, allocated bytes for code 423 (MethodHash=06e113b1) for method System.SpanHelpers:NonPackedContainsValueType[double](byref,double,int):ubyte (FullOpts)
; ============================================================

+1 (+4.76%) : 8919.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector1281[uint]):System.Runtime.Intrinsics.Vector1281double

@@ -17,13 +17,14 @@ G_M19198_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=3 bbWeight=1 PerfScore 1.00 G_M19198_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000002 {ecx}, byref ; byrRegs +[ecx]
- vcvtudq2pd xmm0, xmmword ptr [esp+0x04]
+ vmovups xmm0, xmmword ptr [esp+0x04] + vcvtudq2pd xmm0, xmm0
vmovups xmmword ptr [ecx], xmm0
- ;; size=15 bbWeight=1 PerfScore 8.00
+ ;; size=16 bbWeight=1 PerfScore 9.00
G_M19198_IG03: ; bbWeight=1, epilog, nogc, extend ret 16 ;; size=3 bbWeight=1 PerfScore 2.00
-; Total bytes of code 21, prolog size 3, PerfScore 11.00, instruction count 4, allocated bytes for code 21 (MethodHash=6d20b501) for method System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 22, prolog size 3, PerfScore 12.00, instruction count 5, allocated bytes for code 22 (MethodHash=6d20b501) for method System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; ============================================================

libraries_tests.run.windows.x86.Release.mch

-12 (-10.81%) : 420230.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (Tier0)

@@ -26,31 +26,28 @@ G_M32366_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov gword ptr [ebp-0x04], ecx ;; size=26 bbWeight=1 PerfScore 7.75 G_M32366_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0x14] call [<unknown method>]
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-0x14] sub esp, 16 vmovups xmmword ptr [esp], xmm0
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 call [<unknown method>]
- ;; size=79 bbWeight=1 PerfScore 30.50
+ ;; size=67 bbWeight=1 PerfScore 27.50
G_M32366_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 111, prolog size 23, PerfScore 41.00, instruction count 31, allocated bytes for code 111 (MethodHash=d0478191) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (Tier0)
+; Total bytes of code 99, prolog size 23, PerfScore 38.00, instruction count 28, allocated bytes for code 99 (MethodHash=d0478191) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (Tier0)
; ============================================================

-12 (-10.81%) : 420035.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (Tier0)

@@ -26,31 +26,28 @@ G_M8981_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov gword ptr [ebp-0x04], ecx ;; size=26 bbWeight=1 PerfScore 7.75 G_M8981_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0x14] call [<unknown method>]
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-0x14] sub esp, 16 vmovups xmmword ptr [esp], xmm0
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 call [<unknown method>]
- ;; size=79 bbWeight=1 PerfScore 30.50
+ ;; size=67 bbWeight=1 PerfScore 27.50
G_M8981_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 111, prolog size 23, PerfScore 41.00, instruction count 31, allocated bytes for code 111 (MethodHash=b03cdcea) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (Tier0)
+; Total bytes of code 99, prolog size 23, PerfScore 38.00, instruction count 28, allocated bytes for code 99 (MethodHash=b03cdcea) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (Tier0)
; ============================================================

-12 (-10.81%) : 420235.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (Tier0)

@@ -26,31 +26,28 @@ G_M28892_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov gword ptr [ebp-0x04], ecx ;; size=26 bbWeight=1 PerfScore 7.75 G_M28892_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0x14] call [<unknown method>]
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-0x14] sub esp, 16 vmovups xmmword ptr [esp], xmm0
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 call [<unknown method>]
- ;; size=79 bbWeight=1 PerfScore 30.50
+ ;; size=67 bbWeight=1 PerfScore 27.50
G_M28892_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 111, prolog size 23, PerfScore 41.00, instruction count 31, allocated bytes for code 111 (MethodHash=05418f23) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (Tier0)
+; Total bytes of code 99, prolog size 23, PerfScore 38.00, instruction count 28, allocated bytes for code 99 (MethodHash=05418f23) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (Tier0)
; ============================================================

-8 (-1.12%) : 363267.dasm - System.Numerics.Tensors.TensorPrimitives:g_VectorizedSmall8|2336[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)

@@ -138,8 +138,7 @@ G_M3651_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, ;; size=76 bbWeight=1 PerfScore 35.25 G_M3651_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; byrRegs -[eax]
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmovups xmmword ptr [ebp-0xA0], xmm0 mov eax, bword ptr [ebp-0x04] ; byrRegs +[eax] @@ -182,7 +181,7 @@ G_M3651_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, vmovups xmm0, xmmword ptr [ebp-0xC0] vmovups xmmword ptr [eax+8*edx-0x10], xmm0 jmp G_M3651_IG10
- ;; size=183 bbWeight=1 PerfScore 68.50
+ ;; size=179 bbWeight=1 PerfScore 67.50
G_M3651_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz ; byrRegs -[eax] mov eax, bword ptr [ebp-0x04] @@ -194,8 +193,7 @@ G_M3651_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, vmovups xmm0, xmmword ptr [eax] sub esp, 16 vmovups xmmword ptr [esp], xmm0
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0xD0] @@ -206,7 +204,7 @@ G_M3651_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, vmovups xmm0, xmmword ptr [ebp-0xD0] vmovups xmmword ptr [eax], xmm0 jmp SHORT G_M3651_IG10
- ;; size=76 bbWeight=1 PerfScore 32.25
+ ;; size=72 bbWeight=1 PerfScore 31.25
G_M3651_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; byrRegs -[eax] mov eax, bword ptr [ebp-0x04] @@ -246,6 +244,6 @@ RWD00 dd G_M3651_IG10 - G_M3651_IG02 dd G_M3651_IG05 - G_M3651_IG02
-; Total bytes of code 716, prolog size 52, PerfScore 285.33, instruction count 168, allocated bytes for code 716 (MethodHash=97e2f1bc) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanScalarIntoSpan>g__VectorizedSmall8|233_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)
+; Total bytes of code 708, prolog size 52, PerfScore 283.33, instruction count 166, allocated bytes for code 708 (MethodHash=97e2f1bc) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanScalarIntoSpan>g__VectorizedSmall8|233_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)
; ============================================================

-8 (-1.12%) : 363308.dasm - System.Numerics.Tensors.TensorPrimitives:g_VectorizedSmall8|2346[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,double,byref,byref,uint) (Tier0)

@@ -138,8 +138,7 @@ G_M62212_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=76 bbWeight=1 PerfScore 35.25 G_M62212_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; byrRegs -[eax]
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmovups xmmword ptr [ebp-0xA0], xmm0 mov eax, bword ptr [ebp-0x04] ; byrRegs +[eax] @@ -182,7 +181,7 @@ G_M62212_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} vmovups xmm0, xmmword ptr [ebp-0xC0] vmovups xmmword ptr [eax+8*edx-0x10], xmm0 jmp G_M62212_IG10
- ;; size=183 bbWeight=1 PerfScore 68.50
+ ;; size=179 bbWeight=1 PerfScore 67.50
G_M62212_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz ; byrRegs -[eax] mov eax, bword ptr [ebp-0x04] @@ -190,8 +189,7 @@ G_M62212_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} vmovups xmm0, xmmword ptr [eax] sub esp, 16 vmovups xmmword ptr [esp], xmm0
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov eax, bword ptr [ebp-0x08] @@ -206,7 +204,7 @@ G_M62212_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} vmovups xmm0, xmmword ptr [ebp-0xD0] vmovups xmmword ptr [eax], xmm0 jmp SHORT G_M62212_IG10
- ;; size=76 bbWeight=1 PerfScore 32.25
+ ;; size=72 bbWeight=1 PerfScore 31.25
G_M62212_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; byrRegs -[eax] mov eax, bword ptr [ebp-0x04] @@ -246,6 +244,6 @@ RWD00 dd G_M62212_IG10 - G_M62212_IG02 dd G_M62212_IG05 - G_M62212_IG02
-; Total bytes of code 716, prolog size 52, PerfScore 285.33, instruction count 168, allocated bytes for code 716 (MethodHash=0d790cfb) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarSpanIntoSpan>g__VectorizedSmall8|234_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,double,byref,byref,uint) (Tier0)
+; Total bytes of code 708, prolog size 52, PerfScore 283.33, instruction count 166, allocated bytes for code 708 (MethodHash=0d790cfb) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarSpanIntoSpan>g__VectorizedSmall8|234_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,double,byref,byref,uint) (Tier0)
; ============================================================

-8 (-1.00%) : 363795.dasm - System.Numerics.Tensors.TensorPrimitives:g_VectorizedSmall8|2316double,System.Numerics.Tensors.TensorPrimitives+IdentityOperator1[double],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator1[double] (Tier0)

@@ -145,8 +145,7 @@ G_M33451_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=89 bbWeight=1 PerfScore 36.75 G_M33451_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; byrRegs -[eax]
- vmovsd xmm0, qword ptr [ebp+0x0C] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x0C]
vmovups xmmword ptr [ebp-0xA0], xmm0 mov eax, bword ptr [ebp-0x04] ; byrRegs +[eax] @@ -190,7 +189,7 @@ G_M33451_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} vmovups xmm0, xmmword ptr [ebp-0xC0] vmovups xmmword ptr [eax+8*edx-0x10], xmm0 jmp G_M33451_IG10
- ;; size=204 bbWeight=1 PerfScore 70.50
+ ;; size=200 bbWeight=1 PerfScore 69.50
G_M33451_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz ; byrRegs -[eax] mov eax, bword ptr [ebp-0x04] @@ -204,8 +203,7 @@ G_M33451_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} vmovups xmm0, xmmword ptr [ebp-0x168] sub esp, 16 vmovups xmmword ptr [esp], xmm0
- vmovsd xmm0, qword ptr [ebp+0x0C] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x0C]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0xD0] @@ -215,7 +213,7 @@ G_M33451_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} vmovups xmm0, xmmword ptr [ebp-0xD0] vmovups xmmword ptr [eax], xmm0 jmp SHORT G_M33451_IG10
- ;; size=89 bbWeight=1 PerfScore 33.75
+ ;; size=85 bbWeight=1 PerfScore 32.75
G_M33451_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref ; byrRegs -[eax] mov eax, bword ptr [ebp-0x04] @@ -256,6 +254,6 @@ RWD00 dd G_M33451_IG10 - G_M33451_IG02 dd G_M33451_IG05 - G_M33451_IG02
-; Total bytes of code 797, prolog size 52, PerfScore 293.83, instruction count 173, allocated bytes for code 797 (MethodHash=32c57d54) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__VectorizedSmall8|231_6[double,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[double],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[double]](byref,double,byref,uint) (Tier0)
+; Total bytes of code 789, prolog size 52, PerfScore 291.83, instruction count 171, allocated bytes for code 789 (MethodHash=32c57d54) for method System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__VectorizedSmall8|231_6[double,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[double],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[double]](byref,double,byref,uint) (Tier0)
; ============================================================

librariestestsnotieredcompilation.run.windows.x86.Release.mch

-12 (-3.17%) : 197522.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (FullOpts)

@@ -92,19 +92,16 @@ G_M32366_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x14], eax ;; size=26 bbWeight=1 PerfScore 6.75 G_M32366_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0x20] call [<unknown method>] vmovups xmm0, xmmword ptr [ebp-0x20] vmovups xmmword ptr [ebp-0x10], xmm0
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmovups xmmword ptr [ebp-0x30], xmm0
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
vmovups xmmword ptr [ebp-0x40], xmm0 mov eax, dword ptr [ebp-0x30] mov edx, dword ptr [ebp-0x2C] @@ -154,10 +151,10 @@ G_M32366_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x9C], edx mov eax, dword ptr [ebp-0x90] mov edx, dword ptr [ebp-0x8C]
- ;; size=259 bbWeight=1 PerfScore 80.50 -G_M32366_IG03: ; bbWeight=1, extend
mov dword ptr [ebp-0x60], eax mov dword ptr [ebp-0x5C], edx
+ ;; size=253 bbWeight=1 PerfScore 79.50 +G_M32366_IG03: ; bbWeight=1, extend
vmovsd xmm0, qword ptr [ebp-0x60] mov eax, dword ptr [ebp-0x98] mov edx, dword ptr [ebp-0x94] @@ -176,13 +173,13 @@ G_M32366_IG03: ; bbWeight=1, extend sub esp, 8 vmovsd qword ptr [esp], xmm0 call [<unknown method>]
- ;; size=87 bbWeight=1 PerfScore 28.75
+ ;; size=81 bbWeight=1 PerfScore 26.75
G_M32366_IG04: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 378, prolog size 26, PerfScore 118.75, instruction count 94, allocated bytes for code 378 (MethodHash=d0478191) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (FullOpts)
+; Total bytes of code 366, prolog size 26, PerfScore 115.75, instruction count 91, allocated bytes for code 366 (MethodHash=d0478191) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (FullOpts)
; ============================================================

-12 (-3.17%) : 197168.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (FullOpts)

@@ -92,19 +92,16 @@ G_M8981_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov dword ptr [ebp-0x14], eax ;; size=26 bbWeight=1 PerfScore 6.75 G_M8981_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0x20] call [<unknown method>] vmovups xmm0, xmmword ptr [ebp-0x20] vmovups xmmword ptr [ebp-0x10], xmm0
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmovups xmmword ptr [ebp-0x30], xmm0
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
vmovups xmmword ptr [ebp-0x40], xmm0 mov eax, dword ptr [ebp-0x30] mov edx, dword ptr [ebp-0x2C] @@ -154,10 +151,10 @@ G_M8981_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov dword ptr [ebp-0x9C], edx mov eax, dword ptr [ebp-0x90] mov edx, dword ptr [ebp-0x8C]
- ;; size=259 bbWeight=1 PerfScore 80.50 -G_M8981_IG03: ; bbWeight=1, extend
mov dword ptr [ebp-0x60], eax mov dword ptr [ebp-0x5C], edx
+ ;; size=253 bbWeight=1 PerfScore 79.50 +G_M8981_IG03: ; bbWeight=1, extend
vmovsd xmm0, qword ptr [ebp-0x60] mov eax, dword ptr [ebp-0x98] mov edx, dword ptr [ebp-0x94] @@ -176,13 +173,13 @@ G_M8981_IG03: ; bbWeight=1, extend sub esp, 8 vmovsd qword ptr [esp], xmm0 call [<unknown method>]
- ;; size=87 bbWeight=1 PerfScore 28.75
+ ;; size=81 bbWeight=1 PerfScore 26.75
G_M8981_IG04: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 378, prolog size 26, PerfScore 118.75, instruction count 94, allocated bytes for code 378 (MethodHash=b03cdcea) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (FullOpts)
+; Total bytes of code 366, prolog size 26, PerfScore 115.75, instruction count 91, allocated bytes for code 366 (MethodHash=b03cdcea) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (FullOpts)
; ============================================================

-12 (-3.17%) : 197528.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (FullOpts)

@@ -92,19 +92,16 @@ G_M28892_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x14], eax ;; size=26 bbWeight=1 PerfScore 6.75 G_M28892_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-0x20] call [<unknown method>] vmovups xmm0, xmmword ptr [ebp-0x20] vmovups xmmword ptr [ebp-0x10], xmm0
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmovups xmmword ptr [ebp-0x30], xmm0
- vmovsd xmm0, qword ptr [ebp+0x08] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x08]
vmovups xmmword ptr [ebp-0x40], xmm0 mov eax, dword ptr [ebp-0x30] mov edx, dword ptr [ebp-0x2C] @@ -154,10 +151,10 @@ G_M28892_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x9C], edx mov eax, dword ptr [ebp-0x90] mov edx, dword ptr [ebp-0x8C]
- ;; size=259 bbWeight=1 PerfScore 80.50 -G_M28892_IG03: ; bbWeight=1, extend
mov dword ptr [ebp-0x60], eax mov dword ptr [ebp-0x5C], edx
+ ;; size=253 bbWeight=1 PerfScore 79.50 +G_M28892_IG03: ; bbWeight=1, extend
vmovsd xmm0, qword ptr [ebp-0x60] mov eax, dword ptr [ebp-0x98] mov edx, dword ptr [ebp-0x94] @@ -176,13 +173,13 @@ G_M28892_IG03: ; bbWeight=1, extend sub esp, 8 vmovsd qword ptr [esp], xmm0 call [<unknown method>]
- ;; size=87 bbWeight=1 PerfScore 28.75
+ ;; size=81 bbWeight=1 PerfScore 26.75
G_M28892_IG04: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 24 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 378, prolog size 26, PerfScore 118.75, instruction count 94, allocated bytes for code 378 (MethodHash=05418f23) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (FullOpts)
+; Total bytes of code 366, prolog size 26, PerfScore 115.75, instruction count 91, allocated bytes for code 366 (MethodHash=05418f23) for method System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (FullOpts)
; ============================================================

-11 (-2.31%) : 166668.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator1[double]](System.ReadOnlySpan1[double],System.ReadOnlySpan1[double],double,System.Span1[double]) (FullOpts)

@@ -241,7 +241,7 @@ G_M2600_IG11: ; bbWeight=0.50, gcVars=00000002 {V100}, gcrefRegs=00000000 add edx, eax jmp edx ;; size=44 bbWeight=0.50 PerfScore 4.62
-G_M2600_IG12: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref
+G_M2600_IG12: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz
vbroadcastsd ymm0, qword ptr [ebp+0x10] vmovups ymm1, ymmword ptr [esi] vaddpd ymm1, ymm1, ymmword ptr [edi] @@ -252,8 +252,8 @@ G_M2600_IG12: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 mov edi, bword ptr [ebp-0x14] vmovups ymmword ptr [edi], ymm1 vmovups ymmword ptr [edi+8*ebx-0x20], ymm0
- jmp G_M2600_IG17 - ;; size=52 bbWeight=0.50 PerfScore 19.50
+ jmp SHORT G_M2600_IG17 + ;; size=49 bbWeight=0.50 PerfScore 19.50
G_M2600_IG13: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz vmovups ymm1, ymmword ptr [esi] vaddpd ymm1, ymm1, ymmword ptr [edi] @@ -264,8 +264,7 @@ G_M2600_IG13: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 jmp SHORT G_M2600_IG17 ;; size=27 bbWeight=0.50 PerfScore 11.50 G_M2600_IG14: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmovups xmm1, xmmword ptr [esi] vaddpd xmm1, xmm1, xmmword ptr [edi] vmulpd xmm1, xmm1, xmm0 @@ -276,17 +275,16 @@ G_M2600_IG14: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 vmovups xmmword ptr [edi], xmm1 vmovups xmmword ptr [edi+8*ebx-0x10], xmm0 jmp SHORT G_M2600_IG17
- ;; size=52 bbWeight=0.50 PerfScore 18.50
+ ;; size=48 bbWeight=0.50 PerfScore 18.00
G_M2600_IG15: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz vmovups xmm1, xmmword ptr [esi] vaddpd xmm1, xmm1, xmmword ptr [edi]
- vmovsd xmm0, qword ptr [ebp+0x10] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x10]
vmulpd xmm0, xmm1, xmm0 mov edi, bword ptr [ebp-0x14] vmovups xmmword ptr [edi], xmm0 jmp SHORT G_M2600_IG17
- ;; size=30 bbWeight=0.50 PerfScore 11.00
+ ;; size=26 bbWeight=0.50 PerfScore 10.50
G_M2600_IG16: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref vmovsd xmm1, qword ptr [esi] vaddsd xmm1, xmm1, qword ptr [edi] @@ -334,6 +332,6 @@ RWD00 dd G_M2600_IG17 - G_M2600_IG02 dd G_M2600_IG12 - G_M2600_IG02
-; Total bytes of code 476, prolog size 12, PerfScore 120.25, instruction count 141, allocated bytes for code 476 (MethodHash=0ed2f5d7) for method System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double],double,System.Span`1[double]) (FullOpts)
+; Total bytes of code 465, prolog size 12, PerfScore 119.25, instruction count 139, allocated bytes for code 465 (MethodHash=0ed2f5d7) for method System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double],double,System.Span`1[double]) (FullOpts)
; ============================================================

-8 (-1.78%) : 167190.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator1[double]](System.ReadOnlySpan1[double],double,System.ReadOnlySpan1[double],System.Span1[double]) (FullOpts)

@@ -261,8 +261,7 @@ G_M64136_IG13: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 jmp SHORT G_M64136_IG17 ;; size=23 bbWeight=0.50 PerfScore 10.50 G_M64136_IG14: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
vmulpd xmm1, xmm0, xmmword ptr [esi] vaddpd xmm1, xmm1, xmmword ptr [edi] vmulpd xmm0, xmm0, xmmword ptr [esi+8*ebx-0x10] @@ -271,16 +270,15 @@ G_M64136_IG14: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 vmovups xmmword ptr [edi], xmm1 vmovups xmmword ptr [edi+8*ebx-0x10], xmm0 jmp SHORT G_M64136_IG17
- ;; size=44 bbWeight=0.50 PerfScore 17.50
+ ;; size=40 bbWeight=0.50 PerfScore 17.00
G_M64136_IG15: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
vmulpd xmm0, xmm0, xmmword ptr [esi] vaddpd xmm0, xmm0, xmmword ptr [edi] mov edi, bword ptr [ebp-0x14] vmovups xmmword ptr [edi], xmm0 jmp SHORT G_M64136_IG17
- ;; size=26 bbWeight=0.50 PerfScore 10.50
+ ;; size=22 bbWeight=0.50 PerfScore 10.00
G_M64136_IG16: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref vmovsd xmm0, qword ptr [ebp+0x18] vmulsd xmm0, xmm0, qword ptr [esi] @@ -328,6 +326,6 @@ RWD00 dd G_M64136_IG17 - G_M64136_IG02 dd G_M64136_IG12 - G_M64136_IG02
-; Total bytes of code 449, prolog size 12, PerfScore 115.75, instruction count 135, allocated bytes for code 449 (MethodHash=9daf0577) for method System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)
+; Total bytes of code 441, prolog size 12, PerfScore 114.75, instruction count 133, allocated bytes for code 441 (MethodHash=9daf0577) for method System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)
; ============================================================

-8 (-1.78%) : 166679.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator1[double]](System.ReadOnlySpan1[double],double,System.ReadOnlySpan1[double],System.Span1[double]) (FullOpts)

@@ -261,8 +261,7 @@ G_M64136_IG13: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 jmp SHORT G_M64136_IG17 ;; size=23 bbWeight=0.50 PerfScore 10.50 G_M64136_IG14: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
vmulpd xmm1, xmm0, xmmword ptr [esi] vaddpd xmm1, xmm1, xmmword ptr [edi] vmulpd xmm0, xmm0, xmmword ptr [esi+8*ebx-0x10] @@ -271,16 +270,15 @@ G_M64136_IG14: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 vmovups xmmword ptr [edi], xmm1 vmovups xmmword ptr [edi+8*ebx-0x10], xmm0 jmp SHORT G_M64136_IG17
- ;; size=44 bbWeight=0.50 PerfScore 17.50
+ ;; size=40 bbWeight=0.50 PerfScore 17.00
G_M64136_IG15: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref, isz
- vmovsd xmm0, qword ptr [ebp+0x18] - vmovddup xmm0, xmm0
+ vmovddup xmm0, qword ptr [ebp+0x18]
vmulpd xmm0, xmm0, xmmword ptr [esi] vaddpd xmm0, xmm0, xmmword ptr [edi] mov edi, bword ptr [ebp-0x14] vmovups xmmword ptr [edi], xmm0 jmp SHORT G_M64136_IG17
- ;; size=26 bbWeight=0.50 PerfScore 10.50
+ ;; size=22 bbWeight=0.50 PerfScore 10.00
G_M64136_IG16: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=000000C0 {esi edi}, byref vmovsd xmm0, qword ptr [ebp+0x18] vmulsd xmm0, xmm0, qword ptr [esi] @@ -328,6 +326,6 @@ RWD00 dd G_M64136_IG17 - G_M64136_IG02 dd G_M64136_IG12 - G_M64136_IG02
-; Total bytes of code 449, prolog size 12, PerfScore 115.75, instruction count 135, allocated bytes for code 449 (MethodHash=9daf0577) for method System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)
+; Total bytes of code 441, prolog size 12, PerfScore 114.75, instruction count 133, allocated bytes for code 441 (MethodHash=9daf0577) for method System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)
; ============================================================

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.windows.x86.checked.mch 0 0 0 0 -0 +0
benchmarks.run_pgo.windows.x86.checked.mch 0 0 0 0 -0 +0
benchmarks.run_tiered.windows.x86.checked.mch 0 0 0 0 -0 +0
coreclr_tests.run.windows.x86.checked.mch 76 67 9 0 -308 +21
libraries.crossgen2.windows.x86.checked.mch 20 20 0 0 -80 +0
libraries.pmi.windows.x86.checked.mch 10 9 1 0 -34 +1
libraries_tests.run.windows.x86.Release.mch 7 7 0 0 -68 +0
librariestestsnotieredcompilation.run.windows.x86.Release.mch 7 7 0 0 -74 +0
realworld.run.windows.x86.checked.mch 0 0 0 0 -0 +0
120 110 10 0 -564 +22

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.x86.checked.mch 24,492 4 24,488 1 (0.00%) 1 (0.00%)
benchmarks.run_pgo.windows.x86.checked.mch 117,805 41,904 75,901 2 (0.00%) 2 (0.00%)
benchmarks.run_tiered.windows.x86.checked.mch 47,882 28,747 19,135 1 (0.00%) 1 (0.00%)
coreclr_tests.run.windows.x86.checked.mch 574,647 319,847 254,800 21 (0.00%) 21 (0.00%)
libraries.crossgen2.windows.x86.checked.mch 242,615 15 242,600 4 (0.00%) 4 (0.00%)
libraries.pmi.windows.x86.checked.mch 305,766 6 305,760 7 (0.00%) 7 (0.00%)
libraries_tests.run.windows.x86.Release.mch 627,828 427,222 200,606 5 (0.00%) 5 (0.00%)
librariestestsnotieredcompilation.run.windows.x86.Release.mch 316,432 21,910 294,522 3 (0.00%) 3 (0.00%)
realworld.run.windows.x86.checked.mch 35,984 3 35,981 1 (0.00%) 1 (0.00%)
2,293,451 839,658 1,453,793 45 (0.00%) 45 (0.00%)

jit-analyze output

coreclr_tests.run.windows.x86.checked.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 309385411 (overridden on cmd)
Total bytes of diff: 309385124 (overridden on cmd)
Total bytes of delta: -287 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           4 : 104760.dasm (1.79 % of base)
           4 : 104761.dasm (1.79 % of base)
           4 : 371774.dasm (13.33 % of base)
           4 : 104757.dasm (1.79 % of base)
           1 : 104764.dasm (0.42 % of base)
           1 : 104763.dasm (4.76 % of base)
           1 : 122216.dasm (0.31 % of base)
           1 : 387332.dasm (0.65 % of base)
           1 : 122218.dasm (0.31 % of base)

Top file improvements (bytes):
         -40 : 31491.dasm (-2.88 % of base)
         -40 : 31495.dasm (-2.88 % of base)
         -40 : 31496.dasm (-1.04 % of base)
          -4 : 114901.dasm (-1.67 % of base)
          -4 : 117233.dasm (-1.11 % of base)
          -4 : 125106.dasm (-1.17 % of base)
          -4 : 145021.dasm (-0.19 % of base)
          -4 : 145024.dasm (-0.20 % of base)
          -4 : 145033.dasm (-0.20 % of base)
          -4 : 145036.dasm (-0.20 % of base)
          -4 : 239110.dasm (-12.50 % of base)
          -4 : 31613.dasm (-1.67 % of base)
          -4 : 31618.dasm (-0.46 % of base)
          -4 : 343417.dasm (-3.42 % of base)
          -4 : 378011.dasm (-2.53 % of base)
          -4 : 378017.dasm (-2.61 % of base)
          -4 : 378029.dasm (-2.53 % of base)
          -4 : 378034.dasm (-2.53 % of base)
          -4 : 380999.dasm (-2.37 % of base)
          -4 : 381013.dasm (-2.56 % of base)

67 total files with Code Size differences (58 improved, 9 regressed), 0 unchanged.

Top method regressions (bytes):
           4 (1.79 % of base) : 104760.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_Load():this (MinOpts)
           4 (1.79 % of base) : 104761.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_LoadAligned():this (MinOpts)
           4 (1.79 % of base) : 104757.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_UnsafeRead():this (MinOpts)
           4 (13.33 % of base) : 371774.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
           1 (0.42 % of base) : 104764.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunLclVarScenario_UnsafeRead():this (MinOpts)
           1 (0.65 % of base) : 387332.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunLclVarScenario_UnsafeRead():this (Tier0)
           1 (0.31 % of base) : 122218.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunStructFldScenario():this (FullOpts)
           1 (0.31 % of base) : 122216.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunStructLclFldScenario():this (FullOpts)
           1 (4.76 % of base) : 104763.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)

Top method improvements (bytes):
         -40 (-2.88 % of base) : 31491.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsDouble:RunBasicScenario():this (MinOpts)
         -40 (-2.88 % of base) : 31495.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsDouble:RunGenericScenario():this (MinOpts)
         -40 (-1.04 % of base) : 31496.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsDouble:RunReflectionScenario():this (MinOpts)
          -4 (-0.48 % of base) : 151185.dasm - IntelHardwareIntrinsicTest._Sse3.Program:MoveAndDuplicate() (MinOpts)
          -4 (-0.20 % of base) : 145027.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[byte](byte):System.Runtime.Intrinsics.Vector128`1[byte] (MinOpts)
          -4 (-0.19 % of base) : 145021.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[double](double):System.Runtime.Intrinsics.Vector128`1[double] (MinOpts)
          -4 (-0.19 % of base) : 145016.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[float](float):System.Runtime.Intrinsics.Vector128`1[float] (MinOpts)
          -4 (-0.20 % of base) : 145036.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[int](int):System.Runtime.Intrinsics.Vector128`1[int] (MinOpts)
          -4 (-0.20 % of base) : 145030.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[short](short):System.Runtime.Intrinsics.Vector128`1[short] (MinOpts)
          -4 (-0.20 % of base) : 145024.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[ubyte](ubyte):System.Runtime.Intrinsics.Vector128`1[ubyte] (MinOpts)
          -4 (-0.20 % of base) : 145039.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[uint](uint):System.Runtime.Intrinsics.Vector128`1[uint] (MinOpts)
          -4 (-0.20 % of base) : 145033.dasm - IntelHardwareIntrinsicTest.General.Program:CreateVector128[ushort](ushort):System.Runtime.Intrinsics.Vector128`1[ushort] (MinOpts)
          -4 (-1.68 % of base) : 70937.dasm - JIT.HardwareIntrinsics.General._Vector128.Program:CreateDouble() (FullOpts)
          -4 (-2.58 % of base) : 37731.dasm - JIT.HardwareIntrinsics.General._Vector128.VectorCreate__CreateDouble:RunBasicScenario():this (MinOpts)
          -4 (-3.42 % of base) : 343417.dasm - JIT.HardwareIntrinsics.General._Vector128.VectorCreate__CreateDouble:RunBasicScenario():this (Tier0)
          -4 (-1.67 % of base) : 31613.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorDouble:RunBasicScenario():this (MinOpts)
          -4 (-0.46 % of base) : 31618.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsVectorDouble:RunReflectionScenario():this (MinOpts)
          -4 (-2.53 % of base) : 378034.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleInt32:RunBasicScenario_Load():this (Tier0)
          -4 (-1.67 % of base) : 114901.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleInt32:RunBasicScenario_UnsafeRead():this (FullOpts)
          -4 (-2.53 % of base) : 378029.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleInt32:RunBasicScenario_UnsafeRead():this (Tier0)

Top method regressions (percentages):
           4 (13.33 % of base) : 371774.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
           1 (4.76 % of base) : 104763.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
           4 (1.79 % of base) : 104760.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_Load():this (MinOpts)
           4 (1.79 % of base) : 104761.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_LoadAligned():this (MinOpts)
           4 (1.79 % of base) : 104757.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunBasicScenario_UnsafeRead():this (MinOpts)
           1 (0.65 % of base) : 387332.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunLclVarScenario_UnsafeRead():this (Tier0)
           1 (0.42 % of base) : 104764.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunLclVarScenario_UnsafeRead():this (MinOpts)
           1 (0.31 % of base) : 122218.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunStructFldScenario():this (FullOpts)
           1 (0.31 % of base) : 122216.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector128.SimpleUnaryOpConvTest__ConvertToVector128DoubleVector128UInt32:RunStructLclFldScenario():this (FullOpts)

Top method improvements (percentages):
          -4 (-12.50 % of base) : 239110.dasm - Runtime_90508:Test1(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -2 (-5.41 % of base) : 490090.dasm - Runtime_90508:Test1(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (Tier0)
          -4 (-3.42 % of base) : 343417.dasm - JIT.HardwareIntrinsics.General._Vector128.VectorCreate__CreateDouble:RunBasicScenario():this (Tier0)
          -4 (-2.88 % of base) : 390938.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector256.SimpleUnaryOpConvTest__ConvertToVector256DoubleVector128UInt32+TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector256.SimpleUnaryOpConvTest__ConvertToVector256DoubleVector128UInt32):this (Tier0)
         -40 (-2.88 % of base) : 31491.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsDouble:RunBasicScenario():this (MinOpts)
         -40 (-2.88 % of base) : 31495.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorAs__AsDouble:RunGenericScenario():this (MinOpts)
          -4 (-2.63 % of base) : 390929.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector256.SimpleUnaryOpConvTest__ConvertToVector256DoubleVector128UInt32:RunBasicScenario_Load():this (Tier0)
          -4 (-2.63 % of base) : 390925.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector256.SimpleUnaryOpConvTest__ConvertToVector256DoubleVector128UInt32:RunBasicScenario_UnsafeRead():this (Tier0)
          -4 (-2.61 % of base) : 378039.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleInt32:RunClsVarScenario():this (Tier0)
          -4 (-2.61 % of base) : 378017.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleSingle:RunClsVarScenario():this (Tier0)
          -4 (-2.58 % of base) : 37731.dasm - JIT.HardwareIntrinsics.General._Vector128.VectorCreate__CreateDouble:RunBasicScenario():this (MinOpts)
          -4 (-2.56 % of base) : 381013.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleUnaryOpConvTest__ConvertToVector512DoubleVector256UInt32+TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.X86._Avx512F.SimpleUnaryOpConvTest__ConvertToVector512DoubleVector256UInt32):this (Tier0)
          -4 (-2.53 % of base) : 378034.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleInt32:RunBasicScenario_Load():this (Tier0)
          -4 (-2.53 % of base) : 378029.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleInt32:RunBasicScenario_UnsafeRead():this (Tier0)
          -4 (-2.53 % of base) : 378011.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleSingle:RunBasicScenario_Load():this (Tier0)
          -4 (-2.53 % of base) : 378007.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleSingle:RunBasicScenario_UnsafeRead():this (Tier0)
          -4 (-2.37 % of base) : 381004.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleUnaryOpConvTest__ConvertToVector512DoubleVector256UInt32:RunBasicScenario_Load():this (Tier0)
          -4 (-2.37 % of base) : 380999.dasm - JIT.HardwareIntrinsics.X86._Avx512F.SimpleUnaryOpConvTest__ConvertToVector512DoubleVector256UInt32:RunBasicScenario_UnsafeRead():this (Tier0)
          -4 (-2.03 % of base) : 108387.dasm - JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector256.SimpleUnaryOpConvTest__ConvertToVector256DoubleVector128UInt32+TestStruct:RunStructFldScenario(JIT.HardwareIntrinsics.X86._Avx512F_VL_Vector256.SimpleUnaryOpConvTest__ConvertToVector256DoubleVector128UInt32):this (MinOpts)
          -4 (-1.91 % of base) : 114892.dasm - JIT.HardwareIntrinsics.X86._Avx512F.handwritten.SimpleUnaryOpTest__ConvertToVector512DoubleSingle:RunClsVarScenario():this (FullOpts)


libraries.crossgen2.windows.x86.checked.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 31716097 (overridden on cmd)
Total bytes of diff: 31716017 (overridden on cmd)
Total bytes of delta: -80 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
          -4 : 18442.dasm (-16.00 % of base)
          -4 : 18458.dasm (-10.53 % of base)
          -4 : 18445.dasm (-16.00 % of base)
          -4 : 18457.dasm (-10.53 % of base)
          -4 : 18462.dasm (-10.53 % of base)
          -4 : 18471.dasm (-6.25 % of base)
          -4 : 18476.dasm (-6.25 % of base)
          -4 : 18446.dasm (-25.00 % of base)
          -4 : 18456.dasm (-10.53 % of base)
          -4 : 18459.dasm (-20.00 % of base)
          -4 : 18470.dasm (-6.25 % of base)
          -4 : 18473.dasm (-14.29 % of base)
          -4 : 7827.dasm (-25.00 % of base)
          -4 : 7967.dasm (-20.00 % of base)
          -4 : 18449.dasm (-16.00 % of base)
          -4 : 18451.dasm (-16.00 % of base)
          -4 : 18465.dasm (-10.53 % of base)
          -4 : 18472.dasm (-6.25 % of base)
          -4 : 18479.dasm (-6.25 % of base)
          -4 : 8107.dasm (-14.29 % of base)

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

Top method improvements (bytes):
          -4 (-16.00 % of base) : 18442.dasm - System.Numerics.Vector`1[double]:op_Multiply(double,System.Numerics.Vector`1[double]):System.Numerics.Vector`1[double] (FullOpts)
          -4 (-25.00 % of base) : 7827.dasm - System.Runtime.Intrinsics.Vector128:Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18445.dasm - System.Runtime.Intrinsics.Vector128`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-25.00 % of base) : 18446.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18449.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Divide(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18451.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Multiply(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-20.00 % of base) : 7967.dasm - System.Runtime.Intrinsics.Vector256:Create(double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18456.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Division(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18458.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18457.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Multiply(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-20.00 % of base) : 18459.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18462.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Divide(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18465.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Multiply(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-14.29 % of base) : 8107.dasm - System.Runtime.Intrinsics.Vector512:Create(double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18470.dasm - System.Runtime.Intrinsics.Vector512`1[double]:op_Division(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18472.dasm - System.Runtime.Intrinsics.Vector512`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector512`1[double]):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18471.dasm - System.Runtime.Intrinsics.Vector512`1[double]:op_Multiply(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-14.29 % of base) : 18473.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18476.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18479.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Multiply(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)

Top method improvements (percentages):
          -4 (-25.00 % of base) : 7827.dasm - System.Runtime.Intrinsics.Vector128:Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-25.00 % of base) : 18446.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-20.00 % of base) : 7967.dasm - System.Runtime.Intrinsics.Vector256:Create(double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-20.00 % of base) : 18459.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18442.dasm - System.Numerics.Vector`1[double]:op_Multiply(double,System.Numerics.Vector`1[double]):System.Numerics.Vector`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18445.dasm - System.Runtime.Intrinsics.Vector128`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18449.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Divide(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-16.00 % of base) : 18451.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Multiply(System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-14.29 % of base) : 8107.dasm - System.Runtime.Intrinsics.Vector512:Create(double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-14.29 % of base) : 18473.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18456.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Division(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18458.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector256`1[double]):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18457.dasm - System.Runtime.Intrinsics.Vector256`1[double]:op_Multiply(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18462.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Divide(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-10.53 % of base) : 18465.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Multiply(System.Runtime.Intrinsics.Vector256`1[double],double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18470.dasm - System.Runtime.Intrinsics.Vector512`1[double]:op_Division(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18472.dasm - System.Runtime.Intrinsics.Vector512`1[double]:op_Multiply(double,System.Runtime.Intrinsics.Vector512`1[double]):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18471.dasm - System.Runtime.Intrinsics.Vector512`1[double]:op_Multiply(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18476.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Divide(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)
          -4 (-6.25 % of base) : 18479.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Multiply(System.Runtime.Intrinsics.Vector512`1[double],double):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts)

20 total methods with Code Size differences (20 improved, 0 regressed).


libraries.pmi.windows.x86.checked.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 49269895 (overridden on cmd)
Total bytes of diff: 49269862 (overridden on cmd)
Total bytes of delta: -33 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           1 : 8919.dasm (4.76 % of base)

Top file improvements (bytes):
          -4 : 2874.dasm (-1.65 % of base)
          -4 : 6290.dasm (-13.33 % of base)
          -4 : 2736.dasm (-0.94 % of base)
          -4 : 6335.dasm (-13.33 % of base)
          -4 : 6563.dasm (-12.12 % of base)
          -4 : 6341.dasm (-15.38 % of base)
          -4 : 9618.dasm (-20.00 % of base)
          -3 : 266041.dasm (-3.49 % of base)
          -3 : 266037.dasm (-3.12 % of base)

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

Top method regressions (bytes):
           1 (4.76 % of base) : 8919.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)

Top method improvements (bytes):
          -4 (-13.33 % of base) : 6290.dasm - System.Runtime.Intrinsics.Vector128:Divide[double](System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-15.38 % of base) : 6341.dasm - System.Runtime.Intrinsics.Vector128:Multiply[double](double,System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-13.33 % of base) : 6335.dasm - System.Runtime.Intrinsics.Vector128:Multiply[double](System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-12.12 % of base) : 6563.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -4 (-20.00 % of base) : 9618.dasm - System.Runtime.Intrinsics.X86.Sse3:MoveAndDuplicate(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-1.65 % of base) : 2874.dasm - System.SpanHelpers:CountValueType[double](byref,double,int):int (FullOpts)
          -4 (-0.94 % of base) : 2736.dasm - System.SpanHelpers:NonPackedContainsValueType[double](byref,double,int):ubyte (FullOpts)
          -3 (-3.12 % of base) : 266037.dasm - System.Numerics.Tensors.TensorPrimitives+DegreesToRadiansOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -3 (-3.49 % of base) : 266041.dasm - System.Numerics.Tensors.TensorPrimitives+RadiansToDegreesOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)

Top method regressions (percentages):
           1 (4.76 % of base) : 8919.dasm - System.Runtime.Intrinsics.X86.Avx512F+VL:ConvertToVector128Double(System.Runtime.Intrinsics.Vector128`1[uint]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)

Top method improvements (percentages):
          -4 (-20.00 % of base) : 9618.dasm - System.Runtime.Intrinsics.X86.Sse3:MoveAndDuplicate(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-15.38 % of base) : 6341.dasm - System.Runtime.Intrinsics.Vector128:Multiply[double](double,System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-13.33 % of base) : 6290.dasm - System.Runtime.Intrinsics.Vector128:Divide[double](System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-13.33 % of base) : 6335.dasm - System.Runtime.Intrinsics.Vector128:Multiply[double](System.Runtime.Intrinsics.Vector128`1[double],double):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-12.12 % of base) : 6563.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts)
          -3 (-3.49 % of base) : 266041.dasm - System.Numerics.Tensors.TensorPrimitives+RadiansToDegreesOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -3 (-3.12 % of base) : 266037.dasm - System.Numerics.Tensors.TensorPrimitives+DegreesToRadiansOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
          -4 (-1.65 % of base) : 2874.dasm - System.SpanHelpers:CountValueType[double](byref,double,int):int (FullOpts)
          -4 (-0.94 % of base) : 2736.dasm - System.SpanHelpers:NonPackedContainsValueType[double](byref,double,int):ubyte (FullOpts)

10 total methods with Code Size differences (9 improved, 1 regressed).


libraries_tests.run.windows.x86.Release.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 186683551 (overridden on cmd)
Total bytes of diff: 186683483 (overridden on cmd)
Total bytes of delta: -68 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
         -12 : 420230.dasm (-10.81 % of base)
         -12 : 420035.dasm (-10.81 % of base)
         -12 : 420235.dasm (-10.81 % of base)
          -8 : 363308.dasm (-1.12 % of base)
          -8 : 363267.dasm (-1.12 % of base)
          -8 : 363805.dasm (-1.12 % of base)
          -8 : 363795.dasm (-1.00 % of base)

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

Top method improvements (bytes):
         -12 (-10.81 % of base) : 420035.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (Tier0)
         -12 (-10.81 % of base) : 420230.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (Tier0)
         -12 (-10.81 % of base) : 420235.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (Tier0)
          -8 (-1.00 % of base) : 363795.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__VectorizedSmall8|231_6[double,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[double],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[double]](byref,double,byref,uint) (Tier0)
          -8 (-1.12 % of base) : 363308.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarSpanIntoSpan>g__VectorizedSmall8|234_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,double,byref,byref,uint) (Tier0)
          -8 (-1.12 % of base) : 363267.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanScalarIntoSpan>g__VectorizedSmall8|233_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)
          -8 (-1.12 % of base) : 363805.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanScalarIntoSpan>g__VectorizedSmall8|233_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)

Top method improvements (percentages):
         -12 (-10.81 % of base) : 420035.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (Tier0)
         -12 (-10.81 % of base) : 420230.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (Tier0)
         -12 (-10.81 % of base) : 420235.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (Tier0)
          -8 (-1.12 % of base) : 363308.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarSpanIntoSpan>g__VectorizedSmall8|234_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,double,byref,byref,uint) (Tier0)
          -8 (-1.12 % of base) : 363267.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanScalarIntoSpan>g__VectorizedSmall8|233_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)
          -8 (-1.12 % of base) : 363805.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanSpanScalarIntoSpan>g__VectorizedSmall8|233_6[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](byref,byref,double,byref,uint) (Tier0)
          -8 (-1.00 % of base) : 363795.dasm - System.Numerics.Tensors.TensorPrimitives:<InvokeSpanScalarIntoSpan>g__VectorizedSmall8|231_6[double,System.Numerics.Tensors.TensorPrimitives+IdentityOperator`1[double],System.Numerics.Tensors.TensorPrimitives+MultiplyOperator`1[double]](byref,double,byref,uint) (Tier0)

7 total methods with Code Size differences (7 improved, 0 regressed).


librariestestsnotieredcompilation.run.windows.x86.Release.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 103821073 (overridden on cmd)
Total bytes of diff: 103820999 (overridden on cmd)
Total bytes of delta: -74 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
         -12 : 197168.dasm (-3.17 % of base)
         -12 : 197522.dasm (-3.17 % of base)
         -12 : 197528.dasm (-3.17 % of base)
         -11 : 167195.dasm (-2.31 % of base)
         -11 : 166668.dasm (-2.31 % of base)
          -8 : 166679.dasm (-1.78 % of base)
          -8 : 167190.dasm (-1.78 % of base)

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

Top method improvements (bytes):
         -12 (-3.17 % of base) : 197168.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (FullOpts)
         -12 (-3.17 % of base) : 197522.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (FullOpts)
         -12 (-3.17 % of base) : 197528.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (FullOpts)
         -11 (-2.31 % of base) : 167195.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double],double,System.Span`1[double]) (FullOpts)
         -11 (-2.31 % of base) : 166668.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double],double,System.Span`1[double]) (FullOpts)
          -8 (-1.78 % of base) : 166679.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)
          -8 (-1.78 % of base) : 167190.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)

Top method improvements (percentages):
         -12 (-3.17 % of base) : 197168.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:ExpDoubleTest(double,double,double):this (FullOpts)
         -12 (-3.17 % of base) : 197522.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:Log2DoubleTest(double,double,double):this (FullOpts)
         -12 (-3.17 % of base) : 197528.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:LogDoubleTest(double,double,double):this (FullOpts)
         -11 (-2.31 % of base) : 167195.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double],double,System.Span`1[double]) (FullOpts)
         -11 (-2.31 % of base) : 166668.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanSpanScalarIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+AddMultiplyOperator`1[double]](System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double],double,System.Span`1[double]) (FullOpts)
          -8 (-1.78 % of base) : 166679.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)
          -8 (-1.78 % of base) : 167190.dasm - System.Numerics.Tensors.TensorPrimitives:InvokeSpanScalarSpanIntoSpan[double,System.Numerics.Tensors.TensorPrimitives+MultiplyAddOperator`1[double]](System.ReadOnlySpan`1[double],double,System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts)

7 total methods with Code Size differences (7 improved, 0 regressed).