Diffs are based on 15,914 contexts (4 MinOpts, 15,910 FullOpts).
Base JIT options: UseSveForVectorT=0
Diff JIT options: UseSveForVectorT=1
Overall (+768 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | PerfScore in Diffs |
|---|---|---|---|
| benchmarks.run.windows.arm64.checked.mch | 7,485,508 | +768 | +18.88% |
FullOpts (+768 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | PerfScore in Diffs |
|---|---|---|---|
| benchmarks.run.windows.arm64.checked.mch | 7,485,104 | +768 | +18.88% |
Example diffs
benchmarks.run.windows.arm64.checked.mch
-28 (-24.14%) : 14589.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:DotBenchmark():ulong:this (FullOpts)
@@ -10,8 +10,8 @@
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Numerics.Tests.Perf_VectorOf`1[ulong]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-; V02 tmp1 [V02,T02] ( 3, 6 ) simd16 -> d16 "Inlining Arg" <System.Numerics.Vector`1[ulong]>
-; V03 tmp2 [V03,T03] ( 3, 6 ) simd16 -> d17 "Inlining Arg" <System.Numerics.Vector`1[ulong]>
+; V02 tmp1 [V02,T02] ( 2, 4 ) simd16 -> d16 "Inlining Arg" <System.Numerics.Vector`1[ulong]>
+; V03 tmp2 [V03,T03] ( 2, 4 ) simd16 -> d17 "Inlining Arg" <System.Numerics.Vector`1[ulong]>
;* V04 cse0 [V04,T01] ( 0, 0 ) byref -> zero-ref "CSE #02: aggressive"
; V05 cse1 [V05,T00] ( 3, 3 ) long -> x0 "CSE #03: aggressive"
;
@@ -34,17 +34,10 @@ G_M2272_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
ldr q17, [x0, #0x20]
+ mul z16.d, z16.d, z17.d
+ addp d16, v16.2d
umov x0, v16.d[0]
- umov x1, v17.d[0]
- mul x0, x0, x1
- ins v18.d[0], x0
- umov x0, v16.d[1]
- umov x1, v17.d[1]
- mul x0, x0, x1
- ins v18.d[1], x0
- addp d16, v18.2d
- umov x0, v16.d[0]
- ;; size=60 bbWeight=1 PerfScore 20.50
+ ;; size=32 bbWeight=1 PerfScore 14.50
G_M2272_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
@@ -57,7 +50,7 @@ G_M2272_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
b G_M2272_IG03
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 116, prolog size 8, PerfScore 29.50, instruction count 29, allocated bytes for code 116 (MethodHash=7fa2f71f) for method System.Numerics.Tests.Perf_VectorOf`1[ulong]:DotBenchmark():ulong:this (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 23.50, instruction count 22, allocated bytes for code 88 (MethodHash=7fa2f71f) for method System.Numerics.Tests.Perf_VectorOf`1[ulong]:DotBenchmark():ulong:this (FullOpts)
; ============================================================
Unwind Info:
@@ -68,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 29 (0x0001d) Actual length = 116 (0x000074)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)-4 (-3.85%) : 4471.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanAllBenchmark():ubyte:this (FullOpts)
@@ -11,7 +11,6 @@
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;* V02 cse0 [V02,T01] ( 0, 0 ) byref -> zero-ref "CSE #02: aggressive"
; V03 cse1 [V03,T00] ( 3, 3 ) long -> x0 "CSE #03: aggressive"
-; V04 rat0 [V04,T02] ( 3, 6 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 0
@@ -32,14 +31,13 @@ G_M64305_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
ldr q17, [x0, #0x20]
- cmgt v16.2d, v17.2d, v16.2d
- mvni v17.4s, #0
- cmeq v16.2d, v16.2d, v17.2d
- uminp v16.4s, v16.4s, v16.4s
- umov x0, v16.d[0]
- cmn x0, #1
+ ptrue p0.d
+ cmpgt p0.d, p0/z, z17.d, z16.d
+ ptrue p1.d
+ cntp x0, p1, p0.d
+ cmp x0, #2
cset x0, eq
- ;; size=48 bbWeight=1 PerfScore 13.00
+ ;; size=44 bbWeight=1 PerfScore 17.50
G_M64305_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
@@ -52,7 +50,7 @@ G_M64305_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
b G_M64305_IG03
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 8, PerfScore 22.00, instruction count 26, allocated bytes for code 104 (MethodHash=d6c204ce) for method System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanAllBenchmark():ubyte:this (FullOpts)
+; Total bytes of code 100, prolog size 8, PerfScore 26.50, instruction count 25, allocated bytes for code 100 (MethodHash=d6c204ce) for method System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanAllBenchmark():ubyte:this (FullOpts)
; ============================================================
Unwind Info:
@@ -63,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
+ Function Length : 25 (0x00019) Actual length = 100 (0x000064)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)-4 (-3.85%) : 8634.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualAllBenchmark():ubyte:this (FullOpts)
@@ -11,7 +11,6 @@
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;* V02 cse0 [V02,T01] ( 0, 0 ) byref -> zero-ref "CSE #02: aggressive"
; V03 cse1 [V03,T00] ( 3, 3 ) long -> x0 "CSE #03: aggressive"
-; V04 rat0 [V04,T02] ( 3, 6 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 0
@@ -32,14 +31,13 @@ G_M45761_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
ldr q17, [x0, #0x20]
- fcmge v16.4s, v16.4s, v17.4s
- mvni v17.4s, #0
- cmeq v16.4s, v16.4s, v17.4s
- uminp v16.4s, v16.4s, v16.4s
- umov x0, v16.d[0]
- cmn x0, #1
+ ptrue p0.s
+ fcmge p0.s, p0/z, z16.s, z17.s
+ ptrue p1.s
+ cntp x0, p1, p0.s
+ cmp x0, #4
cset x0, eq
- ;; size=48 bbWeight=1 PerfScore 13.00
+ ;; size=44 bbWeight=1 PerfScore 15.50
G_M45761_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
@@ -52,7 +50,7 @@ G_M45761_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
b G_M45761_IG03
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 8, PerfScore 22.00, instruction count 26, allocated bytes for code 104 (MethodHash=e2754d3e) for method System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualAllBenchmark():ubyte:this (FullOpts)
+; Total bytes of code 100, prolog size 8, PerfScore 24.50, instruction count 25, allocated bytes for code 100 (MethodHash=e2754d3e) for method System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualAllBenchmark():ubyte:this (FullOpts)
; ============================================================
Unwind Info:
@@ -63,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
+ Function Length : 25 (0x00019) Actual length = 100 (0x000064)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)+12 (+15.79%) : 12389.dasm - System.Numerics.Tests.Perf_VectorConvert:Widen[float,double](float[]):System.Numerics.Vector`1[double] (FullOpts)
@@ -37,15 +37,18 @@ G_M50163_IG02: ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
mov w1, #0xD1FFAB1E
;; size=20 bbWeight=0.25 PerfScore 1.38
G_M50163_IG03: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
- ldr q16, [x0], #0x10
+ ldr q16, [x0]
mov v17.16b, v16.16b
- fcvtl v17.2d, v17.2s
- fcvtl2 v16.2d, v16.4s
- eor v16.2d, v17.2d, v16.2d
- eor v0.2d, v0.2d, v16.2d
+ ptrue p0.s
+ fcvt z17.d, p0/m, z17.s
+ ptrue p0.s
+ fcvtlt z16.d, p0/m, z16.s
+ eor z16.d, z17.d, z16.d
+ eor z0.d, z0.d, z16.d
+ add x0, x0, #16
sub w1, w1, #1
tbz w1, #31, G_M50163_IG03
- ;; size=32 bbWeight=4 PerfScore 48.00
+ ;; size=44 bbWeight=4 PerfScore 70.00
G_M50163_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; byrRegs -[x0]
ldp fp, lr, [sp], #0x10
@@ -57,7 +60,7 @@ G_M50163_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
brk #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 76, prolog size 8, PerfScore 51.75, instruction count 19, allocated bytes for code 76 (MethodHash=b7133c0c) for method System.Numerics.Tests.Perf_VectorConvert:Widen[float,double](float[]):System.Numerics.Vector`1[double] (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 73.75, instruction count 22, allocated bytes for code 88 (MethodHash=b7133c0c) for method System.Numerics.Tests.Perf_VectorConvert:Widen[float,double](float[]):System.Numerics.Vector`1[double] (FullOpts)
; ============================================================
Unwind Info:
@@ -68,7 +71,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 19 (0x00013) Actual length = 76 (0x00004c)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)+32 (+10.39%) : 4104.dasm - SveBenchmarks.StrIndexOf:SveIndexOf():int:this (FullOpts)
@@ -54,7 +54,7 @@ G_M22667_IG04: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22667_IG05: ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
ldrh w3, [x0, #0x14]
- dup v16.8h, w3
+ mov z16.h, w3
ldr w3, [x0, #0x10]
mov w4, wzr
whilelt p0.h, w4, w3
@@ -78,38 +78,46 @@ G_M22667_IG06: ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
;; size=48 bbWeight=4 PerfScore 98.00
G_M22667_IG07: ; bbWeight=2, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
mov w3, wzr
- umov w4, v17.h[0]
+ mov z18.h, h17
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #1
- umov w4, v17.h[1]
+ mov z18.h, z17.h[1]
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #2
- umov w4, v17.h[2]
+ mov z18.h, z17.h[2]
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #3
- umov w4, v17.h[3]
+ mov z18.h, z17.h[3]
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #4
- umov w4, v17.h[4]
+ mov z18.h, z17.h[4]
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #5
- umov w4, v17.h[5]
+ mov z18.h, z17.h[5]
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #6
- umov w4, v17.h[6]
+ mov z18.h, z17.h[6]
+ umov w4, v18.h[0]
cmp w4, #1
beq G_M22667_IG11
mov w3, #7
- umov w4, v17.h[7]
+ mov z17.h, z17.h[7]
+ umov w4, v17.h[0]
cmp w4, #1
beq G_M22667_IG11
- ;; size=128 bbWeight=2 PerfScore 48.00
+ ;; size=160 bbWeight=2 PerfScore 80.00
G_M22667_IG08: ; bbWeight=4, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
ldr w3, [x0, #0x10]
whilelt p0.h, w1, w3
@@ -135,7 +143,7 @@ G_M22667_IG12: ; bbWeight=0.50, epilog, nogc, extend
ret lr
;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 308, prolog size 12, PerfScore 217.50, instruction count 77, allocated bytes for code 308 (MethodHash=8b05a774) for method SveBenchmarks.StrIndexOf:SveIndexOf():int:this (FullOpts)
+; Total bytes of code 340, prolog size 12, PerfScore 249.50, instruction count 85, allocated bytes for code 340 (MethodHash=8b05a774) for method SveBenchmarks.StrIndexOf:SveIndexOf():int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -146,7 +154,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 77 (0x0004d) Actual length = 308 (0x000134)
+ Function Length : 85 (0x00055) Actual length = 340 (0x000154)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)+8 (+10.00%) : 13623.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:LessThanBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
@@ -31,8 +31,10 @@ G_M61526_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #32
ldr q0, [x0]
ldr q16, [x0, #0x20]
- cmgt v0.4s, v16.4s, v0.4s
- ;; size=24 bbWeight=1 PerfScore 8.50
+ ptrue p0.s
+ cmpgt p0.s, p0/z, z16.s, z0.s
+ mov z0.s, p0/z, #1
+ ;; size=32 bbWeight=1 PerfScore 14.50
G_M61526_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
@@ -45,7 +47,7 @@ G_M61526_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
b G_M61526_IG03
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 80, prolog size 8, PerfScore 17.50, instruction count 20, allocated bytes for code 80 (MethodHash=6f960fa9) for method System.Numerics.Tests.Perf_VectorOf`1[int]:LessThanBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 23.50, instruction count 22, allocated bytes for code 88 (MethodHash=6f960fa9) for method System.Numerics.Tests.Perf_VectorOf`1[int]:LessThanBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
; ============================================================
Unwind Info:
@@ -56,7 +58,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 20 (0x00014) Actual length = 80 (0x000050)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)Details
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) |
|---|---|---|---|---|---|---|
| benchmarks.run.windows.arm64.checked.mch | 62 | 5 | 33 | 24 | -44 | +812 |
| Collection | Contexts with diffs | Improvements | Regressions | Same PerfScore | Improvements (PerfScore) | Regressions (PerfScore) | PerfScore Overall in FullOpts |
|---|---|---|---|---|---|---|---|
| benchmarks.run.windows.arm64.checked.mch | 62 | 2 | 56 | 4 | -13.07% | +21.71% | +0.0674% |
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff |
|---|---|---|---|---|---|
| benchmarks.run.windows.arm64.checked.mch | 15,914 | 4 | 15,910 | 0 (0.00%) | 0 (0.00%) |
benchmarks.run.windows.arm64.checked.mch
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 7485508 (overridden on cmd)
Total bytes of diff: 7486276 (overridden on cmd)
Total bytes of delta: 768 (0.01 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
512 : 882.dasm (134.74% of base)
52 : 7616.dasm (5.68% of base)
52 : 8537.dasm (5.51% of base)
32 : 4104.dasm (10.39% of base)
12 : 12389.dasm (15.79% of base)
8 : 13244.dasm (1.71% of base)
8 : 11577.dasm (10.00% of base)
8 : 13623.dasm (10.00% of base)
8 : 12967.dasm (10.00% of base)
8 : 3961.dasm (9.52% of base)
8 : 8098.dasm (2.94% of base)
8 : 6510.dasm (10.00% of base)
8 : 8636.dasm (10.00% of base)
8 : 8947.dasm (10.00% of base)
8 : 5808.dasm (9.52% of base)
4 : 13627.dasm (4.17% of base)
4 : 8612.dasm (4.76% of base)
4 : 6248.dasm (5.26% of base)
4 : 4132.dasm (5.26% of base)
4 : 5720.dasm (4.17% of base)
Top file improvements (bytes):
-28 : 14589.dasm (-24.14% of base)
-4 : 4471.dasm (-3.85% of base)
-4 : 8634.dasm (-3.85% of base)
-4 : 12980.dasm (-3.85% of base)
-4 : 12391.dasm (-3.85% of base)
36 total files with Code Size differences (5 improved, 31 regressed), 23 unchanged.
Top method regressions (bytes):
512 (134.74% of base) : 882.dasm - SveBenchmarks.StrCmp:SveStrCmp():long:this (FullOpts)
52 ( 5.68% of base) : 7616.dasm - Algorithms.VectorDoubleRenderer:RenderSingleThreadedNoADT(float,float,float,float,float):this (FullOpts)
52 ( 5.51% of base) : 8537.dasm - Algorithms.VectorDoubleRenderer:RenderSingleThreadedWithADT(float,float,float,float,float):this (FullOpts)
32 (10.39% of base) : 4104.dasm - SveBenchmarks.StrIndexOf:SveIndexOf():int:this (FullOpts)
12 (15.79% of base) : 12389.dasm - System.Numerics.Tests.Perf_VectorConvert:Widen[float,double](float[]):System.Numerics.Vector`1[double] (FullOpts)
8 ( 2.94% of base) : 8098.dasm - SeekUnroll:Test(int):ubyte:this (FullOpts)
8 (10.00% of base) : 8947.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:AndNotBenchmark():System.Numerics.Vector`1[byte]:this (FullOpts)
8 (10.00% of base) : 6510.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualBenchmark():System.Numerics.Vector`1[float]:this (FullOpts)
8 ( 9.52% of base) : 3961.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:ConditionalSelectBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
8 (10.00% of base) : 13623.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:LessThanBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
8 (10.00% of base) : 8636.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:GreaterThanBenchmark():System.Numerics.Vector`1[uint]:this (FullOpts)
8 (10.00% of base) : 11577.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:LessThanOrEqualBenchmark():System.Numerics.Vector`1[uint]:this (FullOpts)
8 ( 9.52% of base) : 5808.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:MaxBenchmark():System.Numerics.Vector`1[ulong]:this (FullOpts)
8 (10.00% of base) : 12967.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:EqualsStaticBenchmark():System.Numerics.Vector`1[ushort]:this (FullOpts)
8 ( 1.71% of base) : 13244.dasm - System.Text.Latin1Utility:NarrowUtf16ToLatin1(ulong,ulong,ulong):ulong (FullOpts)
4 ( 6.25% of base) : 5151.dasm - System.Numerics.Tests.Perf_VectorConvert:Convert[int,float](int[]):System.Numerics.Vector`1[float] (FullOpts)
4 ( 4.17% of base) : 13966.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanAnyBenchmark():ubyte:this (FullOpts)
4 ( 4.17% of base) : 12968.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:InequalityOperatorBenchmark():ubyte:this (FullOpts)
4 ( 4.17% of base) : 13627.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:EqualsBenchmark():ubyte:this (FullOpts)
4 ( 4.17% of base) : 12975.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:GreaterThanOrEqualAnyBenchmark():ubyte:this (FullOpts)
Top method improvements (bytes):
-28 (-24.14% of base) : 14589.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:DotBenchmark():ulong:this (FullOpts)
-4 (-3.85% of base) : 12391.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanAllBenchmark():ubyte:this (FullOpts)
-4 (-3.85% of base) : 8634.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualAllBenchmark():ubyte:this (FullOpts)
-4 (-3.85% of base) : 4471.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanAllBenchmark():ubyte:this (FullOpts)
-4 (-3.85% of base) : 12980.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:LessThanOrEqualAllBenchmark():ubyte:this (FullOpts)
Top method regressions (percentages):
512 (134.74% of base) : 882.dasm - SveBenchmarks.StrCmp:SveStrCmp():long:this (FullOpts)
12 (15.79% of base) : 12389.dasm - System.Numerics.Tests.Perf_VectorConvert:Widen[float,double](float[]):System.Numerics.Vector`1[double] (FullOpts)
32 (10.39% of base) : 4104.dasm - SveBenchmarks.StrIndexOf:SveIndexOf():int:this (FullOpts)
8 (10.00% of base) : 8947.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:AndNotBenchmark():System.Numerics.Vector`1[byte]:this (FullOpts)
8 (10.00% of base) : 6510.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualBenchmark():System.Numerics.Vector`1[float]:this (FullOpts)
8 (10.00% of base) : 13623.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:LessThanBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
8 (10.00% of base) : 8636.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:GreaterThanBenchmark():System.Numerics.Vector`1[uint]:this (FullOpts)
8 (10.00% of base) : 11577.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:LessThanOrEqualBenchmark():System.Numerics.Vector`1[uint]:this (FullOpts)
8 (10.00% of base) : 12967.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:EqualsStaticBenchmark():System.Numerics.Vector`1[ushort]:this (FullOpts)
8 ( 9.52% of base) : 3961.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:ConditionalSelectBenchmark():System.Numerics.Vector`1[int]:this (FullOpts)
8 ( 9.52% of base) : 5808.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:MaxBenchmark():System.Numerics.Vector`1[ulong]:this (FullOpts)
4 ( 6.25% of base) : 5151.dasm - System.Numerics.Tests.Perf_VectorConvert:Convert[int,float](int[]):System.Numerics.Vector`1[float] (FullOpts)
52 ( 5.68% of base) : 7616.dasm - Algorithms.VectorDoubleRenderer:RenderSingleThreadedNoADT(float,float,float,float,float):this (FullOpts)
4 ( 5.56% of base) : 4105.dasm - System.Numerics.Tests.Perf_VectorOf`1[ubyte]:NegateBenchmark():System.Numerics.Vector`1[ubyte]:this (FullOpts)
52 ( 5.51% of base) : 8537.dasm - Algorithms.VectorDoubleRenderer:RenderSingleThreadedWithADT(float,float,float,float,float):this (FullOpts)
4 ( 5.26% of base) : 13965.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AbsBenchmark():System.Numerics.Vector`1[long]:this (FullOpts)
4 ( 5.26% of base) : 12343.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:UnaryNegateOperatorBenchmark():System.Numerics.Vector`1[long]:this (FullOpts)
4 ( 5.26% of base) : 4132.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:OnesComplementBenchmark():System.Numerics.Vector`1[ushort]:this (FullOpts)
4 ( 5.26% of base) : 6248.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:OnesComplementOperatorBenchmark():System.Numerics.Vector`1[ushort]:this (FullOpts)
4 ( 4.76% of base) : 8612.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:MinBenchmark():System.Numerics.Vector`1[ulong]:this (FullOpts)
Top method improvements (percentages):
-28 (-24.14% of base) : 14589.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:DotBenchmark():ulong:this (FullOpts)
-4 (-3.85% of base) : 12391.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanAllBenchmark():ubyte:this (FullOpts)
-4 (-3.85% of base) : 8634.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:GreaterThanOrEqualAllBenchmark():ubyte:this (FullOpts)
-4 (-3.85% of base) : 4471.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanAllBenchmark():ubyte:this (FullOpts)
-4 (-3.85% of base) : 12980.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:LessThanOrEqualAllBenchmark():ubyte:this (FullOpts)