Diffs are based on 2,491,707 contexts (1,001,189 MinOpts, 1,490,518 FullOpts).
MISSED contexts: 3,807 (0.15%)
Overall (+148,204 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch
14,270,080
+0
benchmarks.run_pgo.linux.arm64.checked.mch
83,058,256
+1,980
benchmarks.run_tiered.linux.arm64.checked.mch
21,983,044
+588
coreclr_tests.run.linux.arm64.checked.mch
510,170,492
+144,156
libraries.crossgen2.linux.arm64.checked.mch
55,689,604
+0
libraries.pmi.linux.arm64.checked.mch
75,931,904
+0
libraries_tests.run.linux.arm64.Release.mch
379,668,404
+1,372
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
162,138,568
+108
realworld.run.linux.arm64.checked.mch
15,784,696
+0
MinOpts (+148,204 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch
218,508
+0
benchmarks.run_pgo.linux.arm64.checked.mch
26,552,600
+1,980
benchmarks.run_tiered.linux.arm64.checked.mch
17,400,224
+588
coreclr_tests.run.linux.arm64.checked.mch
349,264,408
+144,156
libraries.crossgen2.linux.arm64.checked.mch
1,636
+0
libraries.pmi.linux.arm64.checked.mch
119,984
+0
libraries_tests.run.linux.arm64.Release.mch
214,980,496
+1,372
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
13,480,568
+108
realworld.run.linux.arm64.checked.mch
575,816
+0
Example diffs
benchmarks.run.linux.arm64.checked.mch
+0 (0.00%) : 5105.dasm - BenchmarkDotNet.Autogenerated.Runnable87:TrickTheJIT_():this (MinOpts)
@@ -47,14 +47,14 @@ G_M21598_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x3, [x3, #0x30]
blr x3
; gcrRegs -[x0]
- ldr x8, [fp, #0x38] // [V00 this]
- ; gcrRegs +[x8]
- str w0, [x8, #0x78]
+ ldr x1, [fp, #0x38] // [V00 this]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x78]
add x8, fp, #24 // [V03 tmp2]
- ; gcrRegs -[x8]
ldr x0, [fp, #0x38] // [V00 this]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
+ ; gcrRegs -[x1]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+0 (0.00%) : 5353.dasm - BenchmarkDotNet.Autogenerated.Runnable98:ForDisassemblyDiagnoser_():System.Numerics.Vector`1[int]:this (MinOpts)
@@ -39,8 +39,8 @@ G_M56502_IG03: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
G_M56502_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- movi v0.4s, #0
- str q0, [fp, #0x10] // [V01 loc0]
+ movi v16.4s, #0
+ str q16, [fp, #0x10] // [V01 loc0]
ldr q0, [fp, #0x10] // [V01 loc0]
;; size=12 bbWeight=1 PerfScore 3.50
G_M56502_IG05: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 5757.dasm - BenchmarkDotNet.Autogenerated.Runnable127:ForDisassemblyDiagnoser_():System.Runtime.Intrinsics.Vector128`1[uint]:this (MinOpts)
@@ -39,8 +39,8 @@ G_M30507_IG03: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
G_M30507_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- movi v0.4s, #0
- str q0, [fp, #0x10] // [V01 loc0]
+ movi v16.4s, #0
+ str q16, [fp, #0x10] // [V01 loc0]
ldr q0, [fp, #0x10] // [V01 loc0]
;; size=12 bbWeight=1 PerfScore 3.50
G_M30507_IG05: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 27284.dasm - BenchmarkDotNet.Autogenerated.Runnable116:ForDisassemblyDiagnoser_():System.Numerics.Vector`1[long]:this (MinOpts)
@@ -39,8 +39,8 @@ G_M21208_IG03: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
G_M21208_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- movi v0.4s, #0
- str q0, [fp, #0x10] // [V01 loc0]
+ movi v16.4s, #0
+ str q16, [fp, #0x10] // [V01 loc0]
ldr q0, [fp, #0x10] // [V01 loc0]
;; size=12 bbWeight=1 PerfScore 3.50
G_M21208_IG05: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 27600.dasm - BenchmarkDotNet.Autogenerated.Runnable145:ForDisassemblyDiagnoser_():System.Runtime.Intrinsics.Vector128`1[ulong]:this (MinOpts)
@@ -39,8 +39,8 @@ G_M8470_IG03: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
G_M8470_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- movi v0.4s, #0
- str q0, [fp, #0x10] // [V01 loc0]
+ movi v16.4s, #0
+ str q16, [fp, #0x10] // [V01 loc0]
ldr q0, [fp, #0x10] // [V01 loc0]
;; size=12 bbWeight=1 PerfScore 3.50
G_M8470_IG05: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 27692.dasm - BenchmarkDotNet.Autogenerated.Runnable86:TrickTheJIT_():this (MinOpts)
@@ -47,14 +47,14 @@ G_M28095_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x3, [x3, #0x30]
blr x3
; gcrRegs -[x0]
- ldr x8, [fp, #0x38] // [V00 this]
- ; gcrRegs +[x8]
- str w0, [x8, #0x78]
+ ldr x1, [fp, #0x38] // [V00 this]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x78]
add x8, fp, #24 // [V03 tmp2]
- ; gcrRegs -[x8]
ldr x0, [fp, #0x38] // [V00 this]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
+ ; gcrRegs -[x1]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
benchmarks.run_pgo.linux.arm64.checked.mch
-20 (-10.42%) : 36235.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,12 +23,12 @@ G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -36,36 +36,31 @@ G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x1, [x1]
blr x1
; gcrRegs -[x0]
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 17.50
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=48 bbWeight=1 PerfScore 18.50
G_M58230_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M58230_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -73,26 +68,27 @@ G_M58230_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M58230_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 192, prolog size 40, PerfScore 68.50, instruction count 48, allocated bytes for code 192 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 172, prolog size 36, PerfScore 60.00, instruction count 43, allocated bytes for code 172 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
+ Function Length : 43 (0x0002b) Actual length = 172 (0x0000ac)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -100,10 +96,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 16013.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of
1[ulong]:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128
1[ulong]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ulong]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ulong]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M37823_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M37823_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M37823_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M37823_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- eor v0.2d, v8.2d, v0.2d
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ eor v0.2d, v17.2d, v16.2d
;; size=84 bbWeight=1 PerfScore 18.50
G_M37823_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.00, instruction count 28, allocated bytes for code 112 (MethodHash=b4be6c40) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ulong]:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[ulong]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.00, instruction count 26, allocated bytes for code 104 (MethodHash=b4be6c40) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ulong]:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[ulong]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 18589.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Int>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Int>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M7841_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M7841_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M7841_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M7841_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- eor v0.4s, v8.4s, v0.4s
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ eor v0.4s, v17.4s, v16.4s
;; size=84 bbWeight=1 PerfScore 18.50
G_M7841_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.00, instruction count 28, allocated bytes for code 112 (MethodHash=ab96e15e) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.00, instruction count 26, allocated bytes for code 104 (MethodHash=ab96e15e) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
+4 (+10.00%) : 1270.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128
1[ushort],System.Runtime.Intrinsics.Vector128
1[ushort]):System.Runtime.Intrinsics.Vector128`1ubyte@@ -18,17 +18,18 @@ G_M3630_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q1, [fp, #0x10] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M3630_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x20] // [V00 arg0]
- uqxtn v0.8b, v0.8h
- ldr q16, [fp, #0x10] // [V01 arg1]
- uqxtn2 v0.16b, v16.8h
- ;; size=16 bbWeight=1 PerfScore 10.00
+ ldr q16, [fp, #0x20] // [V00 arg0]
+ uqxtn v16.8b, v16.8h
+ ldr q17, [fp, #0x10] // [V01 arg1]
+ uqxtn2 v16.16b, v17.8h
+ mov v0.16b, v16.16b
+ ;; size=20 bbWeight=1 PerfScore 10.50
G_M3630_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 40, prolog size 8, PerfScore 15.50, instruction count 10, allocated bytes for code 40 (MethodHash=bc79f1d1) for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 16.00, instruction count 11, allocated bytes for code 44 (MethodHash=bc79f1d1) for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+10.00%) : 63387.dasm - System.MathF:CopySign(float,float):float (Tier0)
@@ -18,11 +18,12 @@ G_M24268_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str s1, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M24268_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr s16, [fp, #0x18] // [V01 arg1]
- ldr s17, [fp, #0x1C] // [V00 arg0]
- bsl v0.4s, v16.4s, v17.4s
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr s17, [fp, #0x18] // [V01 arg1]
+ ldr s18, [fp, #0x1C] // [V00 arg0]
+ bsl v16.4s, v17.4s, v18.4s
+ dup s0, v16.s[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000080000000h, 8000000080000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+11.11%) : 6329.dasm - System.Runtime.Intrinsics.Vector128:Createbyte:System.Runtime.Intrinsics.Vector128`1byte
@@ -19,16 +19,17 @@ G_M51682_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x20] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M51682_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x28] // [V00 arg0]
- ldr d16, [fp, #0x20] // [V01 arg1]
- ins v0.d[1], v16.d[0]
- ;; size=12 bbWeight=1 PerfScore 5.00
+ ldr d16, [fp, #0x28] // [V00 arg0]
+ ldr d17, [fp, #0x20] // [V01 arg1]
+ ins v16.d[1], v17.d[0]
+ mov v0.16b, v16.16b
+ ;; size=16 bbWeight=1 PerfScore 5.50
G_M51682_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 10.50, instruction count 9, allocated bytes for code 36 (MethodHash=7a23361d) for method System.Runtime.Intrinsics.Vector128:Create[byte](System.Runtime.Intrinsics.Vector64`1[byte],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
+; Total bytes of code 40, prolog size 8, PerfScore 11.00, instruction count 10, allocated bytes for code 40 (MethodHash=7a23361d) for method System.Runtime.Intrinsics.Vector128:Create[byte](System.Runtime.Intrinsics.Vector64`1[byte],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
benchmarks.run_tiered.linux.arm64.checked.mch
-20 (-10.42%) : 22836.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,12 +23,12 @@ G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -36,36 +36,31 @@ G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x1, [x1]
blr x1
; gcrRegs -[x0]
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 17.50
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=48 bbWeight=1 PerfScore 18.50
G_M58230_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M58230_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -73,26 +68,27 @@ G_M58230_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M58230_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 192, prolog size 40, PerfScore 68.50, instruction count 48, allocated bytes for code 192 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 172, prolog size 36, PerfScore 60.00, instruction count 43, allocated bytes for code 172 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
+ Function Length : 43 (0x0002b) Actual length = 172 (0x0000ac)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -100,10 +96,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 18101.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Int>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Int>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M7841_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M7841_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M7841_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M7841_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- eor v0.4s, v8.4s, v0.4s
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ eor v0.4s, v17.4s, v16.4s
;; size=84 bbWeight=1 PerfScore 18.50
G_M7841_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.00, instruction count 28, allocated bytes for code 112 (MethodHash=ab96e15e) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.00, instruction count 26, allocated bytes for code 104 (MethodHash=ab96e15e) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 24873.dasm - System.Numerics.Tests.Perf_VectorOf
1[uint]:SubtractBenchmark():System.Numerics.Vector
1[uint]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[uint]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[uint]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M8856_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M8856_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M8856_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M8856_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- sub v0.4s, v8.4s, v0.4s
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ sub v0.4s, v17.4s, v16.4s
;; size=84 bbWeight=1 PerfScore 19.00
G_M8856_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=4124dd67) for method System.Numerics.Tests.Perf_VectorOf`1[uint]:SubtractBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=4124dd67) for method System.Numerics.Tests.Perf_VectorOf`1[uint]:SubtractBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
+4 (+10.00%) : 1130.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128
1[ushort],System.Runtime.Intrinsics.Vector128
1[ushort]):System.Runtime.Intrinsics.Vector128`1ubyte@@ -18,17 +18,18 @@ G_M3630_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q1, [fp, #0x10] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M3630_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x20] // [V00 arg0]
- uqxtn v0.8b, v0.8h
- ldr q16, [fp, #0x10] // [V01 arg1]
- uqxtn2 v0.16b, v16.8h
- ;; size=16 bbWeight=1 PerfScore 10.00
+ ldr q16, [fp, #0x20] // [V00 arg0]
+ uqxtn v16.8b, v16.8h
+ ldr q17, [fp, #0x10] // [V01 arg1]
+ uqxtn2 v16.16b, v17.8h
+ mov v0.16b, v16.16b
+ ;; size=20 bbWeight=1 PerfScore 10.50
G_M3630_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 40, prolog size 8, PerfScore 15.50, instruction count 10, allocated bytes for code 40 (MethodHash=bc79f1d1) for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 16.00, instruction count 11, allocated bytes for code 44 (MethodHash=bc79f1d1) for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+10.00%) : 29084.dasm - System.MathF:CopySign(float,float):float (Tier0)
@@ -18,11 +18,12 @@ G_M24268_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str s1, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M24268_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr s16, [fp, #0x18] // [V01 arg1]
- ldr s17, [fp, #0x1C] // [V00 arg0]
- bsl v0.4s, v16.4s, v17.4s
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr s17, [fp, #0x18] // [V01 arg1]
+ ldr s18, [fp, #0x1C] // [V00 arg0]
+ bsl v16.4s, v17.4s, v18.4s
+ dup s0, v16.s[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000080000000h, 8000000080000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+11.11%) : 9796.dasm - System.Runtime.Intrinsics.Vector128:Createubyte:System.Runtime.Intrinsics.Vector128`1ubyte
@@ -19,16 +19,17 @@ G_M6114_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x20] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M6114_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x28] // [V00 arg0]
- ldr d16, [fp, #0x20] // [V01 arg1]
- ins v0.d[1], v16.d[0]
- ;; size=12 bbWeight=1 PerfScore 5.00
+ ldr d16, [fp, #0x28] // [V00 arg0]
+ ldr d17, [fp, #0x20] // [V01 arg1]
+ ins v16.d[1], v17.d[0]
+ mov v0.16b, v16.16b
+ ;; size=16 bbWeight=1 PerfScore 5.50
G_M6114_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 10.50, instruction count 9, allocated bytes for code 36 (MethodHash=2ac7e81d) for method System.Runtime.Intrinsics.Vector128:Create[ubyte](System.Runtime.Intrinsics.Vector64`1[ubyte],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
+; Total bytes of code 40, prolog size 8, PerfScore 11.00, instruction count 10, allocated bytes for code 40 (MethodHash=2ac7e81d) for method System.Runtime.Intrinsics.Vector128:Create[ubyte](System.Runtime.Intrinsics.Vector64`1[ubyte],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
coreclr_tests.run.linux.arm64.checked.mch
-8 (-6.67%) : 524548.dasm - GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
@@ -10,22 +10,21 @@
; V02 tmp1 [V02 ] ( 1, 1 ) simd16 -> [fp+0x20] HFA(float) do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.Numerics.Vector4>
; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 56
+; Lcl frame size = 48
G_M39822_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
- str d8, [sp, #0x48]
+ stp fp, lr, [sp, #-0x40]!
mov fp, sp
str s0, [fp, #0x30] // [V00 arg0]
str s1, [fp, #0x34] // [V00 arg0+0x04]
str s2, [fp, #0x38] // [V00 arg0+0x08]
str s3, [fp, #0x3C] // [V00 arg0+0x0c]
- ;; size=28 bbWeight=1 PerfScore 6.50
+ ;; size=24 bbWeight=1 PerfScore 5.50
G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
fmov s16, #1.0000
str s16, [fp, #0x3C] // [V00 arg0+0x0c]
- ldr q8, [fp, #0x30] // [V00 arg0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [fp, #0x30] // [V00 arg0]
+ str q16, [fp, #0x10] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -35,8 +34,8 @@ G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fadd v16.4s, v8.4s, v16.4s
+ ldr q17, [fp, #0x10] // [TEMP_01]
+ fadd v16.4s, v17.4s, v16.4s
str q16, [fp, #0x20] // [V02 tmp1]
ldr s0, [fp, #0x20] // [V02 tmp1]
ldr s1, [fp, #0x24] // [V02 tmp1+0x04]
@@ -44,23 +43,22 @@ G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr s3, [fp, #0x2C] // [V02 tmp1+0x0c]
;; size=80 bbWeight=1 PerfScore 26.00
G_M39822_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x48]
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x40
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 120, prolog size 12, PerfScore 36.50, instruction count 30, allocated bytes for code 120 (MethodHash=3ff16471) for method GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
+; Total bytes of code 112, prolog size 8, PerfScore 33.50, instruction count 28, allocated bytes for code 112 (MethodHash=3ff16471) for method GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 30 (0x0001e) Actual length = 120 (0x000078)
+ Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -68,10 +66,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 09 save_freg X#0 Z#9 (0x09); str d8, [sp, #72]
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
- E4 end
- E4 end
+ 87 save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
E4 end
E4 end
-12 (-6.12%) : 524988.dasm - Performance_2700:TestEntryPoint():int (Tier0)
@@ -11,15 +11,14 @@
; V03 tmp2 [V03 ] ( 1, 1 ) simd16 -> [fp+0x20] "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 72
+; Lcl frame size = 64
G_M50724_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x60]!
- str d8, [sp, #0x58]
+ stp fp, lr, [sp, #-0x50]!
mov fp, sp
str xzr, [fp, #0x40] // [V00 loc0]
str xzr, [fp, #0x48] // [V00 loc0+0x08]
- ;; size=20 bbWeight=1 PerfScore 4.50
+ ;; size=16 bbWeight=1 PerfScore 3.50
G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -29,8 +28,8 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x10] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -40,8 +39,8 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fmul v16.4s, v8.4s, v16.4s
+ ldr q17, [fp, #0x10] // [TEMP_01]
+ fmul v16.4s, v17.4s, v16.4s
str q16, [fp, #0x40] // [V00 loc0]
movi v16.4s, #0
str q16, [fp, #0x30] // [V02 tmp1]
@@ -60,33 +59,31 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov w0, wzr
;; size=148 bbWeight=1 PerfScore 40.50
G_M50724_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x58]
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M50724_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov w0, #100
;; size=4 bbWeight=1 PerfScore 0.50
G_M50724_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x58]
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
RWD00 dq 4000000040000000h, 4000000040000000h
-; Total bytes of code 196, prolog size 20, PerfScore 53.50, instruction count 49, allocated bytes for code 196 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
+; Total bytes of code 184, prolog size 16, PerfScore 48.50, instruction count 46, allocated bytes for code 184 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 2
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 46 (0x0002e) Actual length = 184 (0x0000b8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,10 +94,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 0B save_freg X#0 Z#11 (0x0B); str d8, [sp, #88]
- 8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
- E4 end
- E4 end
+ 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
E4 end
E4 end
-16 (-5.06%) : 185260.dasm - (dynamicClass):ILSTUBPInvoke():System.Numerics.Vector3 (MinOpts)
@@ -7,7 +7,7 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 loc0 [V00 ] ( 1, 1 ) int -> [fp+0xD4] do-not-enreg[]
+; V00 loc0 [V00 ] ( 1, 1 ) int -> [fp+0xDC] do-not-enreg[]
; V01 loc1 [V01 ] ( 1, 1 ) simd12 -> [fp+0xC0] HFA(float) do-not-enreg[SR] multireg-ret <System.Numerics.Vector3>
; V02 loc2 [V02 ] ( 1, 1 ) simd12 -> [fp+0xB0] HFA(float) do-not-enreg[S] <System.Numerics.Vector3>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -21,20 +21,18 @@
; TEMP_02 float -> [fp+0x70]
; TEMP_01 float -> [fp+0x6C]
;
-; Lcl frame size = 200
+; Lcl frame size = 208
G_M47779_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #0xD1FFAB1E]!
- stp d8, d9, [sp, #0xD8]
- str d10, [sp, #0xE8]
- stp x19, x20, [sp, #0xF0]
- stp x21, x22, [sp, #0xD1FFAB1E]
+ stp x19, x20, [sp, #0xE0]
+ stp x21, x22, [sp, #0xF0]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
str x12, [fp, #0x60] // [V04 tmp1]
- ;; size=40 bbWeight=1 PerfScore 9.50
+ ;; size=32 bbWeight=1 PerfScore 7.50
G_M47779_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
add x0, fp, #32 // [V09 PInvokeFrame+0x08]
mov x1, x12
@@ -48,7 +46,7 @@ G_M47779_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x1, fp, #32 // [V09 PInvokeFrame+0x08]
; byrRegs +[x1]
str x1, [x0, #0x10]
- str wzr, [fp, #0xD4] // [V00 loc0]
+ str wzr, [fp, #0xDC] // [V00 loc0]
nop
nop
ldr x0, [fp, #0x60] // [V04 tmp1]
@@ -88,12 +86,12 @@ G_M47779_IG05: ; bbWeight=1, isz, extend
; gcr arg pop 0
;; size=52 bbWeight=1 PerfScore 13.50
G_M47779_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr s8, [fp, #0x74] // [TEMP_03]
- str s8, [fp, #0x90] // [V06 tmp3]
- ldr s9, [fp, #0x70] // [TEMP_02]
- str s9, [fp, #0x94] // [V06 tmp3+0x04]
- ldr s10, [fp, #0x6C] // [TEMP_01]
- str s10, [fp, #0x98] // [V06 tmp3+0x08]
+ ldr s16, [fp, #0x74] // [TEMP_03]
+ str s16, [fp, #0x90] // [V06 tmp3]
+ ldr s17, [fp, #0x70] // [TEMP_02]
+ str s17, [fp, #0x94] // [V06 tmp3+0x04]
+ ldr s18, [fp, #0x6C] // [TEMP_01]
+ str s18, [fp, #0x98] // [V06 tmp3+0x08]
nop
ldr q16, [fp, #0x90] // [V06 tmp3]
str q16, [fp, #0xB0] // [V02 loc2]
@@ -114,26 +112,24 @@ G_M47779_IG07: ; bbWeight=1, epilog, nogc, extend
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xD1FFAB1E]
- ldp x21, x22, [sp, #0xD1FFAB1E]
- ldp x19, x20, [sp, #0xF0]
- ldr d10, [sp, #0xE8]
- ldp d8, d9, [sp, #0xD8]
+ ldp x21, x22, [sp, #0xF0]
+ ldp x19, x20, [sp, #0xE0]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
- ;; size=36 bbWeight=1 PerfScore 10.00
+ ;; size=28 bbWeight=1 PerfScore 7.00
-; Total bytes of code 316, prolog size 40, PerfScore 92.00, instruction count 79, allocated bytes for code 316 (MethodHash=962e455c) for method (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
+; Total bytes of code 300, prolog size 32, PerfScore 87.00, instruction count 75, allocated bytes for code 300 (MethodHash=962e455c) for method (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 4
+ Code Words : 3
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 79 (0x0004f) Actual length = 316 (0x00013c)
+ Function Length : 75 (0x0004b) Actual length = 300 (0x00012c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -145,10 +141,8 @@ Unwind Info:
E6 save_next
E6 save_next
E6 save_next
- C8 1E save_regp X#0 Z#30 (0x1E); stp x19, x20, [sp, #240]
- DC 9D save_freg X#2 Z#29 (0x1D); str d10, [sp, #232]
- D8 1B save_fregp X#0 Z#27 (0x1B); stp d8, d9, [sp, #216]
- A7 save_fplr_x #39 (0x27); stp fp, lr, [sp, #-320]!
+ C8 1C save_regp X#0 Z#28 (0x1C); stp x19, x20, [sp, #224]
+ A5 save_fplr_x #37 (0x25); stp fp, lr, [sp, #-304]!
E4 end
E4 end
E4 end
+44 (+73.33%) : 346513.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64
1[ubyte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector128
1[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector64
1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x48] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x18] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x10] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x88] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x58] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x50] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 simd8 -> [fp+0x48]
+; TEMP_01 simd8 -> [fp+0x40]
+; TEMP_05 simd16 -> [fp+0x30]
+; TEMP_04 simd16 -> [fp+0x20]
+; TEMP_03 simd16 -> [fp+0x10]
;
-; Lcl frame size = 64
+; Lcl frame size = 128
G_M54744_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
+ stp fp, lr, [sp, #-0x90]!
mov fp, sp
- str d0, [fp, #0x48] // [V00 arg0]
- str q1, [fp, #0x18] // [V01 arg1]
- str q2, [fp, #0x28] // [V01 arg1+0x10]
- str q3, [fp, #0x38] // [V01 arg1+0x20]
- str d4, [fp, #0x10] // [V02 arg2]
+ str d0, [fp, #0x88] // [V00 arg0]
+ str q1, [fp, #0x58] // [V01 arg1]
+ str q2, [fp, #0x68] // [V01 arg1+0x10]
+ str q3, [fp, #0x78] // [V01 arg1+0x20]
+ str d4, [fp, #0x50] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M54744_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x48] // [V00 arg0]
- ldr q16, [fp, #0x18] // [V01 arg1]
- ldr q17, [fp, #0x28] // [V01 arg1+0x10]
- ldr q18, [fp, #0x38] // [V01 arg1+0x20]
- ldr d19, [fp, #0x10] // [V02 arg2]
- tbx v0.8b, {v16.16b, v17.16b, v18.16b}, v19.8b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr d16, [fp, #0x88] // [V00 arg0]
+ str d16, [fp, #0x48] // [TEMP_02]
+ ldr q16, [fp, #0x58] // [V01 arg1]
+ str q16, [fp, #0x30] // [TEMP_05]
+ ldr q16, [fp, #0x68] // [V01 arg1+0x10]
+ str q16, [fp, #0x20] // [TEMP_04]
+ ldr q16, [fp, #0x78] // [V01 arg1+0x20]
+ str q16, [fp, #0x10] // [TEMP_03]
+ ldr d16, [fp, #0x50] // [V02 arg2]
+ str d16, [fp, #0x40] // [TEMP_01]
+ ldr d16, [fp, #0x48] // [TEMP_02]
+ ldr q17, [fp, #0x30] // [TEMP_05]
+ ldr q18, [fp, #0x20] // [TEMP_04]
+ ldr q19, [fp, #0x10] // [TEMP_03]
+ ldr d20, [fp, #0x40] // [TEMP_01]
+ tbx v16.8b, {v17.16b, v18.16b, v19.16b}, v20.8b
+ mov v0.8b, v16.8b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M54744_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x90
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=cf242a27) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=cf242a27) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
+ 91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
+44 (+73.33%) : 346515.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64
1[byte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector128
1[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector64
1[byte]):System.Runtime.Intrinsics.Vector64`1[byte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x48] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x18] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x10] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x88] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x58] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x50] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 simd8 -> [fp+0x48]
+; TEMP_01 simd8 -> [fp+0x40]
+; TEMP_05 simd16 -> [fp+0x30]
+; TEMP_04 simd16 -> [fp+0x20]
+; TEMP_03 simd16 -> [fp+0x10]
;
-; Lcl frame size = 64
+; Lcl frame size = 128
G_M2168_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
+ stp fp, lr, [sp, #-0x90]!
mov fp, sp
- str d0, [fp, #0x48] // [V00 arg0]
- str q1, [fp, #0x18] // [V01 arg1]
- str q2, [fp, #0x28] // [V01 arg1+0x10]
- str q3, [fp, #0x38] // [V01 arg1+0x20]
- str d4, [fp, #0x10] // [V02 arg2]
+ str d0, [fp, #0x88] // [V00 arg0]
+ str q1, [fp, #0x58] // [V01 arg1]
+ str q2, [fp, #0x68] // [V01 arg1+0x10]
+ str q3, [fp, #0x78] // [V01 arg1+0x20]
+ str d4, [fp, #0x50] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M2168_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x48] // [V00 arg0]
- ldr q16, [fp, #0x18] // [V01 arg1]
- ldr q17, [fp, #0x28] // [V01 arg1+0x10]
- ldr q18, [fp, #0x38] // [V01 arg1+0x20]
- ldr d19, [fp, #0x10] // [V02 arg2]
- tbx v0.8b, {v16.16b, v17.16b, v18.16b}, v19.8b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr d16, [fp, #0x88] // [V00 arg0]
+ str d16, [fp, #0x48] // [TEMP_02]
+ ldr q16, [fp, #0x58] // [V01 arg1]
+ str q16, [fp, #0x30] // [TEMP_05]
+ ldr q16, [fp, #0x68] // [V01 arg1+0x10]
+ str q16, [fp, #0x20] // [TEMP_04]
+ ldr q16, [fp, #0x78] // [V01 arg1+0x20]
+ str q16, [fp, #0x10] // [TEMP_03]
+ ldr d16, [fp, #0x50] // [V02 arg2]
+ str d16, [fp, #0x40] // [TEMP_01]
+ ldr d16, [fp, #0x48] // [TEMP_02]
+ ldr q17, [fp, #0x30] // [TEMP_05]
+ ldr q18, [fp, #0x20] // [TEMP_04]
+ ldr q19, [fp, #0x10] // [TEMP_03]
+ ldr d20, [fp, #0x40] // [TEMP_01]
+ tbx v16.8b, {v17.16b, v18.16b, v19.16b}, v20.8b
+ mov v0.8b, v16.8b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M2168_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x90
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=e897f787) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=e897f787) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
+ 91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
+44 (+73.33%) : 343068.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128
1[ubyte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector128
1[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector128
1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0x50] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[ubyte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x20] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd16 -> [fp+0x10] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0xA0] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x70] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd16 -> [fp+0x60] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[ubyte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_05 simd16 -> [fp+0x50]
+; TEMP_04 simd16 -> [fp+0x40]
+; TEMP_03 simd16 -> [fp+0x30]
+; TEMP_02 simd16 -> [fp+0x20]
+; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 80
+; Lcl frame size = 160
G_M246_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x60]!
+ stp fp, lr, [sp, #-0xB0]!
mov fp, sp
- str q0, [fp, #0x50] // [V00 arg0]
- str q1, [fp, #0x20] // [V01 arg1]
- str q2, [fp, #0x30] // [V01 arg1+0x10]
- str q3, [fp, #0x40] // [V01 arg1+0x20]
- str q4, [fp, #0x10] // [V02 arg2]
+ str q0, [fp, #0xA0] // [V00 arg0]
+ str q1, [fp, #0x70] // [V01 arg1]
+ str q2, [fp, #0x80] // [V01 arg1+0x10]
+ str q3, [fp, #0x90] // [V01 arg1+0x20]
+ str q4, [fp, #0x60] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M246_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x50] // [V00 arg0]
- ldr q16, [fp, #0x20] // [V01 arg1]
- ldr q17, [fp, #0x30] // [V01 arg1+0x10]
- ldr q18, [fp, #0x40] // [V01 arg1+0x20]
- ldr q19, [fp, #0x10] // [V02 arg2]
- tbx v0.16b, {v16.16b, v17.16b, v18.16b}, v19.16b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr q16, [fp, #0xA0] // [V00 arg0]
+ str q16, [fp, #0x50] // [TEMP_05]
+ ldr q16, [fp, #0x70] // [V01 arg1]
+ str q16, [fp, #0x40] // [TEMP_04]
+ ldr q16, [fp, #0x80] // [V01 arg1+0x10]
+ str q16, [fp, #0x30] // [TEMP_03]
+ ldr q16, [fp, #0x90] // [V01 arg1+0x20]
+ str q16, [fp, #0x20] // [TEMP_02]
+ ldr q16, [fp, #0x60] // [V02 arg2]
+ str q16, [fp, #0x10] // [TEMP_01]
+ ldr q16, [fp, #0x50] // [TEMP_05]
+ ldr q17, [fp, #0x40] // [TEMP_04]
+ ldr q18, [fp, #0x30] // [TEMP_03]
+ ldr q19, [fp, #0x20] // [TEMP_02]
+ ldr q20, [fp, #0x10] // [TEMP_01]
+ tbx v16.16b, {v17.16b, v18.16b, v19.16b}, v20.16b
+ mov v0.16b, v16.16b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M246_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0xB0
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=4b78ff09) for method System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=4b78ff09) for method System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
+ 95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
libraries.crossgen2.linux.arm64.checked.mch
+0 (0.00%) : 6613.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -28,17 +28,17 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- fcvtzs x11, d0
- str x11, [fp, #0x18] // [V02 loc0]
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0
- sxtw x0, w0
- cmp x11, x0
+ fcvtzs x0, d0
+ str x0, [fp, #0x18] // [V02 loc0]
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0
+ sxtw x1, w1
+ cmp x0, x1
blt G_M28342_IG03
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0xD1FFAB1E LSL #16
- sxtw x0, w0
- cmp x11, x0
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0xD1FFAB1E LSL #16
+ sxtw x1, w1
+ cmp x0, x1
ble G_M28342_IG04
;; size=68 bbWeight=1 PerfScore 17.50
G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+0 (0.00%) : 6617.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -34,26 +34,26 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x3
; gcrRegs -[x0 x2]
str w0, [fp, #0x24] // [V01 loc0]
- ldr x1, [fp, #0x28] // [V00 arg0]
- ; gcrRegs +[x1]
- ldr w1, [x1, #0x08]
- ; gcrRegs -[x1]
- cbz w1, G_M30483_IG03
- ldr w1, [fp, #0x24] // [V01 loc0]
- cmn w1, #1
- cset x1, ne
- str w1, [fp, #0x14] // [V04 tmp1]
+ ldr x0, [fp, #0x28] // [V00 arg0]
+ ; gcrRegs +[x0]
+ ldr w0, [x0, #0x08]
+ ; gcrRegs -[x0]
+ cbz w0, G_M30483_IG03
+ ldr w0, [fp, #0x24] // [V01 loc0]
+ cmn w0, #1
+ cset x0, ne
+ str w0, [fp, #0x14] // [V04 tmp1]
b G_M30483_IG04
;; size=68 bbWeight=1 PerfScore 22.50
G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov w1, #1
- str w1, [fp, #0x14] // [V04 tmp1]
+ mov w0, #1
+ str w0, [fp, #0x14] // [V04 tmp1]
;; size=8 bbWeight=1 PerfScore 1.50
G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- adrp x1, [HIGH RELOC #0xD1FFAB1E] // const ptr
- add x1, x1, [LOW RELOC #0xD1FFAB1E]
- ldr x1, [x1]
- ldr x1, [x1]
+ adrp x0, [HIGH RELOC #0xD1FFAB1E] // const ptr
+ add x0, x0, [LOW RELOC #0xD1FFAB1E]
+ ldr x0, [x0]
+ ldr x1, [x0]
; gcrRegs +[x1]
ldr w0, [fp, #0x14] // [V04 tmp1]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
+0 (0.00%) : 176793.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -38,8 +38,8 @@ G_M16092_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- ldr w11, [fp, #0x20] // [V06 tmp1]
- cmp w0, w11
+ ldr w1, [fp, #0x20] // [V06 tmp1]
+ cmp w0, w1
beq G_M16092_IG04
mov w0, wzr
;; size=60 bbWeight=1 PerfScore 16.00
+0 (0.00%) : 6618.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -28,17 +28,17 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- fcvtzs x11, d0
- str x11, [fp, #0x18] // [V02 loc0]
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0
- sxtw x0, w0
- cmp x11, x0
+ fcvtzs x0, d0
+ str x0, [fp, #0x18] // [V02 loc0]
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0
+ sxtw x1, w1
+ cmp x0, x1
blt G_M50957_IG03
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0xD1FFAB1E LSL #16
- sxtw x0, w0
- cmp x11, x0
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0xD1FFAB1E LSL #16
+ sxtw x1, w1
+ cmp x0, x1
ble G_M50957_IG04
;; size=68 bbWeight=1 PerfScore 17.50
G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+0 (0.00%) : 6612.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -33,10 +33,10 @@ G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x3
; gcrRegs -[x0 x2]
str w0, [fp, #0x24] // [V01 loc0]
- adrp x1, [HIGH RELOC #0xD1FFAB1E] // const ptr
- add x1, x1, [LOW RELOC #0xD1FFAB1E]
- ldr x1, [x1]
- ldr x1, [x1]
+ adrp x0, [HIGH RELOC #0xD1FFAB1E] // const ptr
+ add x0, x0, [LOW RELOC #0xD1FFAB1E]
+ ldr x0, [x0]
+ ldr x1, [x0]
; gcrRegs +[x1]
ldr w0, [fp, #0x24] // [V01 loc0]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
libraries.pmi.linux.arm64.checked.mch
+0 (0.00%) : 36693.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
@@ -1350,21 +1350,22 @@ G_M12913_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcr arg pop 0
str x0, [fp, #0xD1FFAB1E] // [V02 loc0]
- ldr x2, [fp, #0xD1FFAB1E] // [V02 loc0]
- ; gcrRegs +[x2]
- cbz x2, G_M12913_IG05
- ldr x2, [fp, #0xD1FFAB1E] // [V02 loc0]
- ldr x2, [x2, #0x08]
- str x2, [fp, #0xD1FFAB1E] // [V03 loc1]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ cbz x0, G_M12913_IG05
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ ldr x0, [x0, #0x08]
+ str x0, [fp, #0xD1FFAB1E] // [V03 loc1]
;; size=48 bbWeight=1 PerfScore 17.50
G_M12913_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0 x2]
- ldr x2, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs -[x0]
+ ldr x0, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs +[x0]
+ ldr x2, [x0, #0x08]
; gcrRegs +[x2]
- ldr x2, [x2, #0x08]
ldr x1, [fp, #0xD1FFAB1E] // [V03 loc1]
; gcrRegs +[x1]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38354,16 +38355,18 @@ G_M12913_IG649: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V1269 tmp844]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V1269 tmp844]
ldr x1, [fp, #0xD1FFAB1E] // [V1269 tmp844]
+ ; gcrRegs +[x1]
ldr x2, [fp, #0xD1FFAB1E] // [V411 loc409]
; gcrRegs +[x2]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38389,21 +38392,23 @@ G_M12913_IG649: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V1270 tmp845]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V1270 tmp845]
ldr x1, [fp, #0xD1FFAB1E] // [V1270 tmp845]
- ldr x4, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs +[x1]
+ ldr x0, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ldr x4, [x0, #0x08]
; gcrRegs +[x4]
- ldr x4, [x4, #0x08]
ldr x2, [fp, #0xD1FFAB1E] // [V411 loc409]
; gcrRegs +[x2]
ldr x3, [fp, #0xD1FFAB1E] // [V412 loc410]
; gcrRegs +[x3]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for <unknown method>
@@ -38476,16 +38481,18 @@ G_M12913_IG650: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xF8] // [V1272 tmp847]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xF8] // [V1272 tmp847]
ldr x1, [fp, #0xF8] // [V1272 tmp847]
+ ; gcrRegs +[x1]
ldr x2, [fp, #0xD1FFAB1E] // [V31 loc29]
; gcrRegs +[x2]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38911,9 +38918,11 @@ G_M12913_IG662: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0xB0] // [V1281 tmp856]
ldr x2, [fp, #0xB0] // [V1281 tmp856]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39054,9 +39063,11 @@ G_M12913_IG670: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x90] // [V1285 tmp860]
ldr x2, [fp, #0x90] // [V1285 tmp860]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39257,9 +39268,11 @@ G_M12913_IG679: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x70] // [V1289 tmp864]
ldr x2, [fp, #0x70] // [V1289 tmp864]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39400,9 +39413,11 @@ G_M12913_IG687: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x50] // [V1293 tmp868]
ldr x2, [fp, #0x50] // [V1293 tmp868]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
libraries_tests.run.linux.arm64.Release.mch
-20 (-10.42%) : 551969.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,12 +23,12 @@ G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -36,36 +36,31 @@ G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x1, [x1]
blr x1
; gcrRegs -[x0]
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 17.50
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=48 bbWeight=1 PerfScore 18.50
G_M58230_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M58230_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -73,26 +68,27 @@ G_M58230_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M58230_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 192, prolog size 40, PerfScore 68.50, instruction count 48, allocated bytes for code 192 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 172, prolog size 36, PerfScore 60.00, instruction count 43, allocated bytes for code 172 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
+ Function Length : 43 (0x0002b) Actual length = 172 (0x0000ac)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -100,10 +96,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-20 (-10.42%) : 552667.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanOpenSsl>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,12 +23,12 @@ G_M58230_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -36,36 +36,31 @@ G_M58230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x1, [x1]
blr x1
; gcrRegs -[x0]
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 17.50
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=48 bbWeight=1 PerfScore 18.50
G_M58230_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M58230_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -73,26 +68,27 @@ G_M58230_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M58230_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 192, prolog size 40, PerfScore 68.50, instruction count 48, allocated bytes for code 192 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
+; Total bytes of code 172, prolog size 36, PerfScore 60.00, instruction count 43, allocated bytes for code 172 (MethodHash=861e1c89) for method System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
+ Function Length : 43 (0x0002b) Actual length = 172 (0x0000ac)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -100,10 +96,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-20 (-6.85%) : 120857.dasm - Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
@@ -5,45 +5,46 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x80] do-not-enreg[] this class-hnd <Stashbox.Registration.SelectionRules.ConditionRule>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x78] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] class-hnd <Stashbox.Registration.ServiceRegistrations.ServiceRegistration>
-; V03 arg3 [V03 ] ( 1, 1 ) ref -> [fp+0x68] do-not-enreg[] class-hnd <Stashbox.Resolution.ResolutionContext>
-; V04 arg4 [V04 ] ( 1, 1 ) byref -> [fp+0x60] do-not-enreg[]
-; V05 loc0 [V05 ] ( 1, 1 ) ref -> [fp+0x58] do-not-enreg[] must-init class-hnd <<unknown class>>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x88] do-not-enreg[] this class-hnd <Stashbox.Registration.SelectionRules.ConditionRule>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x80] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) ref -> [fp+0x78] do-not-enreg[] class-hnd <Stashbox.Registration.ServiceRegistrations.ServiceRegistration>
+; V03 arg3 [V03 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] class-hnd <Stashbox.Resolution.ResolutionContext>
+; V04 arg4 [V04 ] ( 1, 1 ) byref -> [fp+0x68] do-not-enreg[]
+; V05 loc0 [V05 ] ( 1, 1 ) ref -> [fp+0x60] do-not-enreg[] must-init class-hnd <<unknown class>>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07 ] ( 1, 1 ) struct (64) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Stashbox.Resolution.TypeInformation>
-; V08 tmp2 [V08 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V07 tmp1 [V07 ] ( 1, 1 ) struct (64) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Stashbox.Resolution.TypeInformation>
+; V08 tmp2 [V08 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 byref -> [fp+0x10]
;
-; Lcl frame size = 120
+; Lcl frame size = 128
G_M62279_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x90]!
- str x19, [sp, #0x88]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp xzr, xzr, [x9, #0x40]
- str x0, [fp, #0x80] // [V00 this]
- str x1, [fp, #0x78] // [V01 arg1]
- str x2, [fp, #0x70] // [V02 arg2]
- str x3, [fp, #0x68] // [V03 arg3]
- str x4, [fp, #0x60] // [V04 arg4]
+ str xzr, [x9, #0x50]
+ str x0, [fp, #0x88] // [V00 this]
+ str x1, [fp, #0x80] // [V01 arg1]
+ str x2, [fp, #0x78] // [V02 arg2]
+ str x3, [fp, #0x70] // [V03 arg3]
+ str x4, [fp, #0x68] // [V04 arg4]
;; size=52 bbWeight=1 PerfScore 11.50
G_M62279_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x1, [fp, #0x70] // [V02 arg2]
+ ldr x1, [fp, #0x78] // [V02 arg2]
; gcrRegs +[x1]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_ISINSTANCEOFCLASS
; gcrRegs -[x1] +[x0]
- str x0, [fp, #0x58] // [V05 loc0]
- ldr x0, [fp, #0x58] // [V05 loc0]
+ str x0, [fp, #0x60] // [V05 loc0]
+ ldr x0, [fp, #0x60] // [V05 loc0]
cbnz x0, G_M62279_IG04
- ldr x0, [fp, #0x60] // [V04 arg4]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; gcrRegs -[x0]
; byrRegs +[x0]
strb wzr, [x0]
@@ -51,12 +52,11 @@ G_M62279_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; byrRegs -[x0]
;; size=44 bbWeight=1 PerfScore 12.00
G_M62279_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x88]
ldp fp, lr, [sp], #0x90
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M62279_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- ldr x0, [fp, #0x58] // [V05 loc0]
+ ldr x0, [fp, #0x60] // [V05 loc0]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -65,30 +65,28 @@ G_M62279_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
blr x1
; gcrRegs -[x0]
cbz w0, G_M62279_IG08
- ldr x19, [fp, #0x60] // [V04 arg4]
- ; byrRegs +[x19]
- ldr x0, [fp, #0x58] // [V05 loc0]
- ; gcrRegs +[x0]
- str x0, [fp, #0x10] // [V08 tmp2]
- ldr x0, [fp, #0x78] // [V01 arg1]
- ; gcrRegs -[x0]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; byrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 15.50
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0x60] // [V05 loc0]
+ ; gcrRegs +[x1]
+ str x1, [fp, #0x18] // [V08 tmp2]
+ ldr x1, [fp, #0x80] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=48 bbWeight=1 PerfScore 16.50
G_M62279_IG05: ; bbWeight=1, nogc, extend
- ldp x1, x2, [x0]
- stp x1, x2, [fp, #0x18]
- ldp x1, x2, [x0, #0x10]
- stp x1, x2, [fp, #0x28]
- ldp x1, x2, [x0, #0x20]
- stp x1, x2, [fp, #0x38]
- ldp x1, x2, [x0, #0x30]
- stp x1, x2, [fp, #0x48]
- ;; size=32 bbWeight=1 PerfScore 20.00
+ ldp q16, q17, [x1]
+ stp q16, q17, [fp, #0x20]
+ ldp q16, q17, [x1, #0x20]
+ stp q16, q17, [fp, #0x40]
+ ;; size=16 bbWeight=1 PerfScore 8.00
G_M62279_IG06: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V08 tmp2]
+ ldr x0, [fp, #0x18] // [V08 tmp2]
; gcrRegs +[x0]
; byrRegs -[x0]
- add x1, fp, #24 // [V07 tmp1]
+ add x1, fp, #32 // [V07 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -96,23 +94,24 @@ G_M62279_IG06: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- strb w0, [x19]
- ldr x0, [fp, #0x60] // [V04 arg4]
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; byrRegs +[x1]
+ strb w0, [x1]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; byrRegs +[x0]
ldrb w0, [x0]
; byrRegs -[x0]
- ;; size=44 bbWeight=1 PerfScore 17.00
+ ;; size=48 bbWeight=1 PerfScore 19.00
G_M62279_IG07: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x88]
ldp fp, lr, [sp], #0x90
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M62279_IG08: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[x19]
- ldr x0, [fp, #0x60] // [V04 arg4]
+ ; byrRegs -[x1]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; byrRegs +[x0]
strb wzr, [x0]
- ldr x0, [fp, #0x58] // [V05 loc0]
+ ldr x0, [fp, #0x60] // [V05 loc0]
; gcrRegs +[x0]
; byrRegs -[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
@@ -125,23 +124,22 @@ G_M62279_IG08: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
cset x0, eq
;; size=40 bbWeight=1 PerfScore 11.50
G_M62279_IG09: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x88]
ldp fp, lr, [sp], #0x90
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 292, prolog size 32, PerfScore 99.50, instruction count 73, allocated bytes for code 292 (MethodHash=b5d20cb8) for method Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
+; Total bytes of code 272, prolog size 32, PerfScore 84.50, instruction count 68, allocated bytes for code 272 (MethodHash=b5d20cb8) for method Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 3
E bit : 0
X bit : 0
Vers : 0
- Function Length : 73 (0x00049) Actual length = 292 (0x000124)
+ Function Length : 68 (0x00044) Actual length = 272 (0x000110)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -155,10 +153,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 11 save_reg X#0 Z#17 (0x11); str x19, [sp, #136]
91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
- E4 end
- E4 end
+12 (+12.50%) : 496528.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
@@ -24,28 +24,31 @@ G_M30583_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str x0, [fp, #0x38] // [V00 this]
;; size=28 bbWeight=1 PerfScore 6.50
G_M30583_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x30] // [V01 arg1]
+ ldr d16, [fp, #0x30] // [V01 arg1]
+ fmov d0, d16
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
str d0, [fp, #0x18] // [V04 loc0]
- ldr d0, [fp, #0x28] // [V02 arg2]
- ldr d2, [fp, #0x20] // [V03 arg3]
+ ldr d16, [fp, #0x28] // [V02 arg2]
+ fmov d0, d16
+ ldr d16, [fp, #0x20] // [V03 arg3]
+ fmov d2, d16
ldr d1, [fp, #0x18] // [V04 loc0]
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- ;; size=60 bbWeight=1 PerfScore 20.00
+ ;; size=72 bbWeight=1 PerfScore 21.50
G_M30583_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x40
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 96, prolog size 12, PerfScore 28.50, instruction count 24, allocated bytes for code 96 (MethodHash=c9e78888) for method System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
+; Total bytes of code 108, prolog size 12, PerfScore 30.00, instruction count 27, allocated bytes for code 108 (MethodHash=c9e78888) for method System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
; ============================================================
Unwind Info:
@@ -56,7 +59,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 24 (0x00018) Actual length = 96 (0x000060)
+ Function Length : 27 (0x0001b) Actual length = 108 (0x00006c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+14.29%) : 420381.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator
1[double]:Invoke(System.Runtime.Intrinsics.Vector128
1[double]):double (Tier0)@@ -16,15 +16,16 @@ G_M29631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q0, [fp, #0x10] // [V00 arg0]
;; size=12 bbWeight=1 PerfScore 2.50
G_M29631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x10] // [V00 arg0]
- faddp d0, v0.2d
- ;; size=8 bbWeight=1 PerfScore 5.00
+ ldr q16, [fp, #0x10] // [V00 arg0]
+ faddp d16, v16.2d
+ dup d0, v16.d[0]
+ ;; size=12 bbWeight=1 PerfScore 6.00
G_M29631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 9.50, instruction count 7, allocated bytes for code 28 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 10.50, instruction count 8, allocated bytes for code 32 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
; ============================================================
Unwind Info:
@@ -35,7 +36,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 8 (0x00008) Actual length = 32 (0x000020)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+14.29%) : 420449.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator
1[double]:Invoke(System.Runtime.Intrinsics.Vector128
1[double]):double (Instrumented Tier0)@@ -16,15 +16,16 @@ G_M29631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q0, [fp, #0x10] // [V00 arg0]
;; size=12 bbWeight=1 PerfScore 2.50
G_M29631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x10] // [V00 arg0]
- faddp d0, v0.2d
- ;; size=8 bbWeight=1 PerfScore 5.00
+ ldr q16, [fp, #0x10] // [V00 arg0]
+ faddp d16, v16.2d
+ dup d0, v16.d[0]
+ ;; size=12 bbWeight=1 PerfScore 6.00
G_M29631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 9.50, instruction count 7, allocated bytes for code 28 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 10.50, instruction count 8, allocated bytes for code 32 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -35,7 +36,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 8 (0x00008) Actual length = 32 (0x000020)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
-8 (-1.57%) : 13004.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest
1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)@@ -7,39 +7,38 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x60] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [fp+0x50] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [fp+0x4C] do-not-enreg[] must-init
-; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [fp+0x48] do-not-enreg[] must-init
-; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [fp+0x44] do-not-enreg[] must-init
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x78] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x68] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [fp+0x58] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [fp+0x54] do-not-enreg[] must-init
+; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [fp+0x50] do-not-enreg[] must-init
+; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [fp+0x4C] do-not-enreg[] must-init
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07 ] ( 1, 1 ) int -> [fp+0x40] do-not-enreg[] "impSpillStackEnsure"
-; V08 tmp2 [V08 ] ( 1, 1 ) int -> [fp+0x3C] do-not-enreg[] must-init
-; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V11 tmp5 [V11 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] must-init
-; V12 tmp6 [V12 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "impSpillStackEnsure"
-; V13 tmp7 [V13 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "impSpillStackEnsure"
-; V14 tmp8 [V14 ] ( 1, 1 ) int -> [fp+0x18] do-not-enreg[] "impSpillStackEnsure"
+; V07 tmp1 [V07 ] ( 1, 1 ) int -> [fp+0x48] do-not-enreg[] "impSpillStackEnsure"
+; V08 tmp2 [V08 ] ( 1, 1 ) int -> [fp+0x44] do-not-enreg[] must-init
+; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V11 tmp5 [V11 ] ( 1, 1 ) int -> [fp+0x2C] do-not-enreg[] must-init
+; V12 tmp6 [V12 ] ( 1, 1 ) int -> [fp+0x28] do-not-enreg[] "impSpillStackEnsure"
+; V13 tmp7 [V13 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] "impSpillStackEnsure"
+; V14 tmp8 [V14 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "impSpillStackEnsure"
+; TEMP_01 ref -> [fp+0x18]
;
-; Lcl frame size = 104
+; Lcl frame size = 112
G_M13185_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x80]!
- str x19, [sp, #0x78]
mov fp, sp
- add x9, fp, #36
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
- str xzr, [x9, #0x20]
- str wzr, [x9, #0x28]
- str x0, [fp, #0x70] // [V00 this]
- str x1, [fp, #0x60] // [V01 arg1]
- str x2, [fp, #0x68] // [V01 arg1+0x08]
- str x3, [fp, #0x50] // [V02 arg2]
- str x4, [fp, #0x58] // [V02 arg2+0x08]
- ;; size=52 bbWeight=1 PerfScore 11.50
+ stp q16, q16, [x9, #0x20]
+ str x0, [fp, #0x78] // [V00 this]
+ str x1, [fp, #0x68] // [V01 arg1]
+ str x2, [fp, #0x70] // [V01 arg1+0x08]
+ str x3, [fp, #0x58] // [V02 arg2]
+ str x4, [fp, #0x60] // [V02 arg2+0x08]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M13185_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -53,9 +52,9 @@ G_M13185_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x0, [fp, #0x60] // [V01 arg1]
+ ldr x0, [fp, #0x68] // [V01 arg1]
; gcrRegs +[x0]
- ldr x1, [fp, #0x50] // [V02 arg2]
+ ldr x1, [fp, #0x58] // [V02 arg2]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -64,49 +63,48 @@ G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x2
; gcrRegs -[x0-x1]
; gcr arg pop 0
- str w0, [fp, #0x40] // [V07 tmp1]
- ldr w1, [fp, #0x40] // [V07 tmp1]
- uxtb w1, w1
- str w1, [fp, #0x4C] // [V03 loc0]
- ldr w1, [fp, #0x4C] // [V03 loc0]
- cbz w1, G_M13185_IG05
+ str w0, [fp, #0x48] // [V07 tmp1]
+ ldr w0, [fp, #0x48] // [V07 tmp1]
+ uxtb w0, w0
+ str w0, [fp, #0x54] // [V03 loc0]
+ ldr w0, [fp, #0x54] // [V03 loc0]
+ cbz w0, G_M13185_IG05
nop
- str wzr, [fp, #0x48] // [V04 loc1]
+ str wzr, [fp, #0x50] // [V04 loc1]
nop
b G_M13185_IG11
;; size=72 bbWeight=1 PerfScore 20.50
G_M13185_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x1, [fp, #0x68] // [V01 arg1+0x08]
- ; gcrRegs +[x1]
- cbz x1, G_M13185_IG06
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
- cmp x1, #0
- cset x1, eq
- ; gcrRegs -[x1]
- str w1, [fp, #0x3C] // [V08 tmp2]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
+ ; gcrRegs +[x0]
+ cbz x0, G_M13185_IG06
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
+ cmp x0, #0
+ cset x0, eq
+ ; gcrRegs -[x0]
+ str w0, [fp, #0x44] // [V08 tmp2]
b G_M13185_IG07
;; size=28 bbWeight=1 PerfScore 8.00
G_M13185_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov w1, #1
- str w1, [fp, #0x3C] // [V08 tmp2]
+ mov w0, #1
+ str w0, [fp, #0x44] // [V08 tmp2]
;; size=8 bbWeight=1 PerfScore 1.50
G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr w1, [fp, #0x3C] // [V08 tmp2]
- uxtb w1, w1
- str w1, [fp, #0x44] // [V05 loc2]
- ldr w1, [fp, #0x44] // [V05 loc2]
- cbz w1, G_M13185_IG08
+ ldr w0, [fp, #0x44] // [V08 tmp2]
+ uxtb w0, w0
+ str w0, [fp, #0x4C] // [V05 loc2]
+ ldr w0, [fp, #0x4C] // [V05 loc2]
+ cbz w0, G_M13185_IG08
nop
- add x1, fp, #96 // [V01 arg1]
+ add x1, fp, #104 // [V01 arg1]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_BOX
; gcrRegs +[x0]
; gcr arg pop 0
- mov x19, x0
- ; gcrRegs +[x19]
- add x1, fp, #80 // [V02 arg2]
+ str x0, [fp, #0x18] // [TEMP_01]
+ add x1, fp, #88 // [V02 arg2]
movz x0, #0xD1FFAB1E
; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
@@ -114,18 +112,20 @@ G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
bl CORINFO_HELP_BOX
; gcrRegs +[x0]
; gcr arg pop 0
- cmp x19, x0
+ ldr x1, [fp, #0x18] // [TEMP_01]
+ ; gcrRegs +[x1]
+ cmp x1, x0
cset x0, eq
; gcrRegs -[x0]
- str w0, [fp, #0x48] // [V04 loc1]
+ str w0, [fp, #0x50] // [V04 loc1]
nop
b G_M13185_IG11
- ;; size=88 bbWeight=1 PerfScore 17.00
+ ;; size=92 bbWeight=1 PerfScore 19.50
G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[x19]
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ; gcrRegs -[x1]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x0]
- ldr x1, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x1, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -133,9 +133,9 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1, #0x20]
blr x1
; gcr arg pop 0
- str x0, [fp, #0x30] // [V09 tmp3]
- ldr x0, [fp, #0x58] // [V02 arg2+0x08]
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
+ str x0, [fp, #0x38] // [V09 tmp3]
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
+ ldr x1, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -143,13 +143,13 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1, #0x20]
blr x1
; gcr arg pop 0
- str x0, [fp, #0x28] // [V10 tmp4]
- ldr x0, [fp, #0x30] // [V09 tmp3]
- ldr x1, [fp, #0x28] // [V10 tmp4]
+ str x0, [fp, #0x30] // [V10 tmp4]
+ ldr x0, [fp, #0x38] // [V09 tmp3]
+ ldr x1, [fp, #0x30] // [V10 tmp4]
; gcrRegs +[x1]
cmp x0, x1
bne G_M13185_IG09
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
movz x1, #0xD1FFAB1E // code for <unknown method>
; gcrRegs -[x1]
movk x1, #0xD1FFAB1E LSL #16
@@ -159,8 +159,8 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- str w0, [fp, #0x20] // [V12 tmp6]
- ldr x0, [fp, #0x58] // [V02 arg2+0x08]
+ str w0, [fp, #0x28] // [V12 tmp6]
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -170,14 +170,14 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- str w0, [fp, #0x1C] // [V13 tmp7]
- ldr w0, [fp, #0x20] // [V12 tmp6]
- ldr w1, [fp, #0x1C] // [V13 tmp7]
+ str w0, [fp, #0x24] // [V13 tmp7]
+ ldr w0, [fp, #0x28] // [V12 tmp6]
+ ldr w1, [fp, #0x24] // [V13 tmp7]
cmp w0, w1
bne G_M13185_IG09
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x0]
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
+ ldr x1, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -187,41 +187,40 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x2
; gcrRegs -[x0-x1]
; gcr arg pop 0
- str w0, [fp, #0x18] // [V14 tmp8]
- ldr w0, [fp, #0x18] // [V14 tmp8]
- str w0, [fp, #0x24] // [V11 tmp5]
+ str w0, [fp, #0x20] // [V14 tmp8]
+ ldr w0, [fp, #0x20] // [V14 tmp8]
+ str w0, [fp, #0x2C] // [V11 tmp5]
...
-4 (-1.15%) : 154765.dasm - Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -5,75 +5,74 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) struct (16) [fp+0x38] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x28] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
-; V02 loc0 [V02 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] must-init
-; V03 loc1 [V03 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] must-init
+; V00 arg0 [V00 ] ( 1, 1 ) struct (16) [fp+0x40] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x30] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
+; V02 loc0 [V02 ] ( 1, 1 ) int -> [fp+0x2C] do-not-enreg[] must-init
+; V03 loc1 [V03 ] ( 1, 1 ) int -> [fp+0x28] do-not-enreg[] must-init
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "non-inline candidate call"
-; V06 tmp2 [V06 ] ( 1, 1 ) int -> [fp+0x18] do-not-enreg[] "non-inline candidate call"
-; V07 tmp3 [V07 ] ( 1, 1 ) int -> [fp+0x14] do-not-enreg[] "non-inline candidate call"
+; V05 tmp1 [V05 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] "non-inline candidate call"
+; V06 tmp2 [V06 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "non-inline candidate call"
+; V07 tmp3 [V07 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "non-inline candidate call"
+; TEMP_01 int -> [fp+0x18]
;
-; Lcl frame size = 56
+; Lcl frame size = 64
G_M13983_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x50]!
- str x19, [sp, #0x48]
mov fp, sp
- str wzr, [fp, #0x24] // [V02 loc0]
- str wzr, [fp, #0x20] // [V03 loc1]
- str x0, [fp, #0x38] // [V00 arg0]
- str x1, [fp, #0x40] // [V00 arg0+0x08]
- str x2, [fp, #0x28] // [V01 arg1]
- str x3, [fp, #0x30] // [V01 arg1+0x08]
- ;; size=36 bbWeight=1 PerfScore 8.50
+ str wzr, [fp, #0x2C] // [V02 loc0]
+ str wzr, [fp, #0x28] // [V03 loc1]
+ str x0, [fp, #0x40] // [V00 arg0]
+ str x1, [fp, #0x48] // [V00 arg0+0x08]
+ str x2, [fp, #0x30] // [V01 arg1]
+ str x3, [fp, #0x38] // [V01 arg1+0x08]
+ ;; size=32 bbWeight=1 PerfScore 7.50
G_M13983_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- add x0, fp, #56 // [V00 arg0]
+ add x0, fp, #64 // [V00 arg0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- str w0, [fp, #0x1C] // [V05 tmp1]
- add x0, fp, #40 // [V01 arg1]
+ str w0, [fp, #0x24] // [V05 tmp1]
+ add x0, fp, #48 // [V01 arg1]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x1C] // [V05 tmp1]
+ ldr w1, [fp, #0x24] // [V05 tmp1]
cmp w0, w1
beq G_M13983_IG04
mov w0, wzr
;; size=68 bbWeight=1 PerfScore 17.00
G_M13983_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x48]
ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M13983_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- add x0, fp, #56 // [V00 arg0]
+ add x0, fp, #64 // [V00 arg0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- str w0, [fp, #0x18] // [V06 tmp2]
- add x0, fp, #40 // [V01 arg1]
+ str w0, [fp, #0x20] // [V06 tmp2]
+ add x0, fp, #48 // [V01 arg1]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x18] // [V06 tmp2]
+ ldr w1, [fp, #0x20] // [V06 tmp2]
eor w0, w0, w1
- str w0, [fp, #0x24] // [V02 loc0]
- str wzr, [fp, #0x20] // [V03 loc1]
+ str w0, [fp, #0x2C] // [V02 loc0]
+ str wzr, [fp, #0x28] // [V03 loc1]
b G_M13983_IG06
;; size=72 bbWeight=1 PerfScore 18.50
G_M13983_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- add x0, fp, #56 // [V00 arg0]
- ldr w1, [fp, #0x20] // [V03 loc1]
+ add x0, fp, #64 // [V00 arg0]
+ ldr w1, [fp, #0x28] // [V03 loc1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -82,10 +81,11 @@ G_M13983_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs +[x0]
ldrb w0, [x0]
; byrRegs -[x0]
- str w0, [fp, #0x14] // [V07 tmp3]
- ldr w19, [fp, #0x24] // [V02 loc0]
- add x0, fp, #40 // [V01 arg1]
- ldr w1, [fp, #0x20] // [V03 loc1]
+ str w0, [fp, #0x1C] // [V07 tmp3]
+ ldr w0, [fp, #0x2C] // [V02 loc0]
+ str w0, [fp, #0x18] // [TEMP_01]
+ add x0, fp, #48 // [V01 arg1]
+ ldr w1, [fp, #0x28] // [V03 loc1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -94,46 +94,46 @@ G_M13983_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs +[x0]
ldrb w0, [x0]
; byrRegs -[x0]
- ldr w1, [fp, #0x14] // [V07 tmp3]
+ ldr w1, [fp, #0x1C] // [V07 tmp3]
eor w0, w0, w1
- orr w0, w19, w0
- str w0, [fp, #0x24] // [V02 loc0]
- ldr w0, [fp, #0x20] // [V03 loc1]
+ ldr w1, [fp, #0x18] // [TEMP_01]
+ orr w0, w1, w0
+ str w0, [fp, #0x2C] // [V02 loc0]
+ ldr w0, [fp, #0x28] // [V03 loc1]
add w0, w0, #1
- str w0, [fp, #0x20] // [V03 loc1]
- ;; size=100 bbWeight=1 PerfScore 32.50
+ str w0, [fp, #0x28] // [V03 loc1]
+ ;; size=108 bbWeight=1 PerfScore 35.50
G_M13983_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- add x0, fp, #56 // [V00 arg0]
+ add x0, fp, #64 // [V00 arg0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x20] // [V03 loc1]
+ ldr w1, [fp, #0x28] // [V03 loc1]
cmp w0, w1
bgt G_M13983_IG05
- ldr w0, [fp, #0x24] // [V02 loc0]
+ ldr w0, [fp, #0x2C] // [V02 loc0]
cmp w0, #0
cset x0, eq
;; size=48 bbWeight=1 PerfScore 12.50
G_M13983_IG07: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x48]
ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 348, prolog size 20, PerfScore 97.00, instruction count 87, allocated bytes for code 348 (MethodHash=dd55c960) for method Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 344, prolog size 16, PerfScore 95.00, instruction count 86, allocated bytes for code 344 (MethodHash=dd55c960) for method Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 2
E bit : 0
X bit : 0
Vers : 0
- Function Length : 87 (0x00057) Actual length = 348 (0x00015c)
+ Function Length : 86 (0x00056) Actual length = 344 (0x000158)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -144,10 +144,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 09 save_reg X#0 Z#9 (0x09); str x19, [sp, #72]
89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
E4 end
E4 end
- E4 end
- E4 end
+0 (0.00%) : 2021.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:.cctor() (MinOpts)
@@ -150,13 +150,13 @@ G_M31492_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
; byrRegs +[x0]
; gcr arg pop 0
- ldr x1, [x0]
- ; gcrRegs +[x1]
- str x1, [fp, #0x18] // [V08 tmp7]
- ldr x1, [fp, #0x18] // [V08 tmp7]
- ldr x0, [fp, #0x28] // [V06 tmp5]
+ ldr x0, [x0]
; gcrRegs +[x0]
; byrRegs -[x0]
+ str x0, [fp, #0x18] // [V08 tmp7]
+ ldr x1, [fp, #0x18] // [V08 tmp7]
+ ; gcrRegs +[x1]
+ ldr x0, [fp, #0x28] // [V06 tmp5]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
+4 (+2.50%) : 290392.dasm - System.Text.RegularExpressions.Generated.
@@ -36,25 +36,26 @@ G_M43480_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M43480_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- adds w1, w1, #1
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ adds w0, w0, #1
bvc G_M43480_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=24 bbWeight=1 PerfScore 8.00
G_M43480_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M43480_IG06
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=24 bbWeight=1 PerfScore 6.50
G_M43480_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -76,13 +77,13 @@ G_M43480_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=56 bbWeight=1 PerfScore 18.00
+ ;; size=60 bbWeight=1 PerfScore 18.50
G_M43480_IG07: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 160, prolog size 24, PerfScore 46.00, instruction count 40, allocated bytes for code 160 (MethodHash=071c5627) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|84_0(byref,byref,int,int) (MinOpts)
+; Total bytes of code 164, prolog size 24, PerfScore 46.50, instruction count 41, allocated bytes for code 164 (MethodHash=071c5627) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|84_0(byref,byref,int,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -93,7 +94,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
+ Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.86%) : 282993.dasm - System.Text.RegularExpressions.Generated.
@@ -34,19 +34,20 @@ G_M42575_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M42575_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M42575_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=36 bbWeight=1 PerfScore 12.00
G_M42575_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -67,13 +68,13 @@ G_M42575_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=56 bbWeight=1 PerfScore 16.50
G_M42575_IG06: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 140, prolog size 20, PerfScore 40.50, instruction count 35, allocated bytes for code 140 (MethodHash=7ba859b0) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
+; Total bytes of code 144, prolog size 20, PerfScore 41.00, instruction count 36, allocated bytes for code 144 (MethodHash=7ba859b0) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -84,7 +85,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
+ Function Length : 36 (0x00024) Actual length = 144 (0x000090)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.86%) : 290402.dasm - System.Text.RegularExpressions.Generated.
@@ -34,19 +34,20 @@ G_M960_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M960_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M960_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=36 bbWeight=1 PerfScore 12.00
G_M960_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -67,13 +68,13 @@ G_M960_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=56 bbWeight=1 PerfScore 16.50
G_M960_IG06: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 140, prolog size 20, PerfScore 40.50, instruction count 35, allocated bytes for code 140 (MethodHash=3b12fc3f) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
+; Total bytes of code 144, prolog size 20, PerfScore 41.00, instruction count 36, allocated bytes for code 144 (MethodHash=3b12fc3f) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -84,7 +85,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
+ Function Length : 36 (0x00024) Actual length = 144 (0x000090)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
realworld.run.linux.arm64.checked.mch
+0 (0.00%) : 4567.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
@@ -2794,41 +2794,39 @@ G_M23076_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1]
blr x1
str x0, [fp, #0xD1FFAB1E] // [V11 loc9]
- ldr x2, [fp, #0xD1FFAB1E] // [V11 loc9]
- ; gcrRegs +[x2]
- cbz x2, G_M23076_IG09
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ldrb w2, [x2, #0x40]
- ; gcrRegs -[x2]
+ ldr x0, [fp, #0xD1FFAB1E] // [V11 loc9]
+ cbz x0, G_M23076_IG09
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ldrb w0, [x0, #0x40]
+ ; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
- str w2, [fp, xip1] // [V73 tmp3]
+ str w0, [fp, xip1] // [V73 tmp3]
b G_M23076_IG10
;; size=152 bbWeight=1 PerfScore 45.50
G_M23076_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
str wzr, [fp, xip1] // [V73 tmp3]
;; size=8 bbWeight=1 PerfScore 1.50
G_M23076_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov xip1, #0xD1FFAB1E
- ldr w2, [fp, xip1] // [V73 tmp3]
- uxtb w2, w2
+ ldr w0, [fp, xip1] // [V73 tmp3]
+ uxtb w0, w0
mov xip1, #0xD1FFAB1E
- str w2, [fp, xip1] // [V09 loc7]
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x2]
- ldr x2, [x2, #0x30]
- str x2, [fp, #0xD1FFAB1E] // [V12 loc10]
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ldr w2, [x2, #0x38]
- ; gcrRegs -[x2]
- cmp w2, #0
- bgt G_M23076_IG27
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x2]
- ldr x2, [x2, #0x30]
+ str w0, [fp, xip1] // [V09 loc7]
ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
; gcrRegs +[x0]
+ ldr x0, [x0, #0x30]
+ str x0, [fp, #0xD1FFAB1E] // [V12 loc10]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ldr w0, [x0, #0x38]
+ ; gcrRegs -[x0]
+ cmp w0, #0
+ bgt G_M23076_IG27
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ; gcrRegs +[x0]
+ ldr x2, [x0, #0x30]
+ ; gcrRegs +[x2]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
ldr x1, [fp, #0xD1FFAB1E] // [V04 loc2]
; gcrRegs +[x1]
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -18497,8 +18495,8 @@ G_M23076_IG1254: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
blr x1
; gcrRegs -[x0]
str w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
- ldr w1, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
- cmp w1, #26
+ ldr w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
+ cmp w0, #26
bhi G_M23076_IG1255
ldr w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
mov w0, w0
@@ -21988,9 +21986,9 @@ G_M23076_IG1570: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
; gcrRegs -[x0]
cmp w0, #19
bne G_M23076_IG1571
- mov w1, #1
+ mov w0, #1
mov xip1, #0xD1FFAB1E
- str w1, [fp, xip1] // [V325 tmp255]
+ str w0, [fp, xip1] // [V325 tmp255]
b G_M23076_IG1572
;; size=68 bbWeight=1 PerfScore 17.50
G_M23076_IG1571: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -21999,8 +21997,8 @@ G_M23076_IG1571: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
;; size=8 bbWeight=1 PerfScore 1.50
G_M23076_IG1572: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov xip1, #0xD1FFAB1E
- ldr w1, [fp, xip1] // [V325 tmp255]
- cbz w1, G_M23076_IG4962
+ ldr w0, [fp, xip1] // [V325 tmp255]
+ cbz w0, G_M23076_IG4962
b G_M23076_IG4951
;; size=16 bbWeight=1 PerfScore 4.50
G_M23076_IG1573: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -27646,8 +27644,8 @@ G_M23076_IG1990: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
blr x1
; gcrRegs -[x0]
str w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
- ldr w1, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
- cmp w1, #26
+ ldr w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
+ cmp w0, #26
bhi G_M23076_IG1991
ldr w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
mov w0, w0
@@ -63232,17 +63230,17 @@ G_M23076_IG4957: ; bbWeight=1, extend
ldr wzr, [x0]
blr x1
; gcrRegs -[x0]
- ldr x1, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V2239 tmp2169]
- ldr x1, [fp, #0xD1FFAB1E] // [V02 loc0]
- str x1, [fp, #0xD1FFAB1E] // [V2238 tmp2168]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V2239 tmp2169]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ str x0, [fp, #0xD1FFAB1E] // [V2238 tmp2168]
;; size=44 bbWeight=1 PerfScore 16.50
G_M23076_IG4958: ; bbWeight=1, nogc, extend
mov x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
add x0, fp, x0
mov x1, #0xD1FFAB1E
- ; gcrRegs -[x1]
add x1, fp, x1
ldp x2, xip1, [x0]
stp x2, xip1, [x1]
@@ -69238,50 +69236,50 @@ G_M23076_IG5322: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr w0, [fp, #0x20] // [V2632 tmp2562]
cmp w0, #201
bhi G_M23076_IG5323
- ldr w8, [fp, #0x20] // [V2632 tmp2562]
- mov w8, w8
- adr x0, [@RWD36120]
- ldr w0, [x0, x8, LSL #2]
- adr x1, [G_M23076_IG02]
- add x0, x0, x1
- br x0
+ ldr w0, [fp, #0x20] // [V2632 tmp2562]
+ mov w0, w0
+ adr x1, [@RWD36120]
+ ldr w1, [x1, x0, LSL #2]
+ adr x2, [G_M23076_IG02]
+ add x1, x1, x2
+ br x1
;; size=144 bbWeight=1 PerfScore 48.00
G_M23076_IG5323: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
b G_M23076_IG5337
;; size=4 bbWeight=1 PerfScore 1.00
G_M23076_IG5324: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V18 loc16+0x0c]
+ ldr w0, [fp, xip1] // [V18 loc16+0x0c]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V18 loc16+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V18 loc16+0x10]
+ sub w0, w0, w1
mov xip1, #0xD1FFAB1E
- str w8, [fp, xip1] // [V98 tmp28]
- ldr x8, [fp, #0xD1FFAB1E] // [V02 loc0]
- ; gcrRegs +[x8]
- add x8, x8, #16
- ; gcrRegs -[x8]
- ; byrRegs +[x8]
+ str w0, [fp, xip1] // [V98 tmp28]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ ; gcrRegs +[x0]
+ add x0, x0, #16
+ ; gcrRegs -[x0]
+ ; byrRegs +[x0]
;; size=36 bbWeight=1 PerfScore 9.50
G_M23076_IG5325: ; bbWeight=1, nogc, extend
- add x0, x8, #20
- mov x1, #0xD1FFAB1E
- add x1, fp, x1
- ldp x2, xip1, [x0]
- stp x2, xip1, [x1]
- ldr w2, [x0, #0x10]
- str w2, [x1, #0x10]
+ add x1, x0, #20
+ mov x2, #0xD1FFAB1E
+ add x2, fp, x2
+ ldp x3, xip1, [x1]
+ stp x3, xip1, [x2]
+ ldr w3, [x1, #0x10]
+ str w3, [x2, #0x10]
;; size=28 bbWeight=1 PerfScore 10.50
G_M23076_IG5326: ; bbWeight=1, isz, extend
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V58 loc56+0x0c]
- ; byrRegs -[x8]
+ ldr w0, [fp, xip1] // [V58 loc56+0x0c]
+ ; byrRegs -[x0]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V58 loc56+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V58 loc56+0x10]
+ sub w0, w0, w1
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V98 tmp28]
- cmp w8, w0
+ ldr w1, [fp, xip1] // [V98 tmp28]
+ cmp w0, w1
bge G_M23076_IG5329
;; size=36 bbWeight=1 PerfScore 9.50
G_M23076_IG5327: ; bbWeight=1, nogc, extend
@@ -69289,10 +69287,10 @@ G_M23076_IG5327: ; bbWeight=1, nogc, extend
add x0, fp, x0
mov x1, #0xD1FFAB1E
add x1, fp, x1
- ldp x8, xip1, [x0]
- stp x8, xip1, [x1]
- ldr w8, [x0, #0x10]
- str w8, [x1, #0x10]
+ ldp x2, xip1, [x0]
+ stp x2, xip1, [x1]
+ ldr w2, [x0, #0x10]
+ str w2, [x1, #0x10]
;; size=32 bbWeight=1 PerfScore 11.00
G_M23076_IG5328: ; bbWeight=1, extend
b G_M23076_IG5330
@@ -69367,9 +69365,9 @@ G_M23076_IG5333: ; bbWeight=1, isz, extend
ldr wzr, [x0]
blr x1
str x0, [fp, #0xD1FFAB1E] // [V67 loc65]
- ldr x1, [fp, #0xD1FFAB1E] // [V67 loc65]
+ ldr x0, [fp, #0xD1FFAB1E] // [V67 loc65]
+ ldr x1, [x0, #0x08]
; gcrRegs +[x1]
- ldr x1, [x1, #0x08]
ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -69603,12 +69601,12 @@ G_M23076_IG5345: ; bbWeight=1, extend
G_M23076_IG5346: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V18 loc16+0x0c]
+ ldr w0, [fp, xip1] // [V18 loc16+0x0c]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V18 loc16+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V18 loc16+0x10]
+ sub w0, w0, w1
...
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
benchmarks.run.linux.arm64.checked.mch
167
0
0
167
-0
+0
benchmarks.run_pgo.linux.arm64.checked.mch
22,660
286
618
21,756
-2,272
+4,252
benchmarks.run_tiered.linux.arm64.checked.mch
16,733
240
428
16,065
-1,828
+2,416
coreclr_tests.run.linux.arm64.checked.mch
147,695
4,531
7,132
136,032
-36,412
+180,568
libraries.crossgen2.linux.arm64.checked.mch
5
0
0
5
-0
+0
libraries.pmi.linux.arm64.checked.mch
1
0
0
1
-0
+0
libraries_tests.run.linux.arm64.Release.mch
185,953
1,276
2,078
182,599
-13,488
+14,860
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
11,763
2
30
11,731
-12
+120
realworld.run.linux.arm64.checked.mch
1
0
0
1
-0
+0
smoke_tests.nativeaot.linux.arm64.checked.mch
0
0
0
0
-0
+0
384,978
6,335
10,286
368,357
-54,012
+202,216
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
benchmarks.run.linux.arm64.checked.mch
31,199
1,987
29,212
0 (0.00%)
0 (0.00%)
benchmarks.run_pgo.linux.arm64.checked.mch
155,980
61,674
94,306
159 (0.10%)
159 (0.10%)
benchmarks.run_tiered.linux.arm64.checked.mch
59,725
45,070
14,655
0 (0.00%)
0 (0.00%)
coreclr_tests.run.linux.arm64.checked.mch
628,775
384,223
244,552
276 (0.04%)
276 (0.04%)
libraries.crossgen2.linux.arm64.checked.mch
233,665
15
233,650
0 (0.00%)
0 (0.00%)
libraries.pmi.linux.arm64.checked.mch
294,157
6
294,151
9 (0.00%)
9 (0.00%)
libraries_tests.run.linux.arm64.Release.mch
732,267
486,616
245,651
3,310 (0.45%)
3,310 (0.45%)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
303,807
21,517
282,290
53 (0.02%)
53 (0.02%)
realworld.run.linux.arm64.checked.mch
33,074
75
32,999
0 (0.00%)
0 (0.00%)
smoke_tests.nativeaot.linux.arm64.checked.mch
19,058
6
19,052
0 (0.00%)
0 (0.00%)
2,491,707
1,001,189
1,490,518
3,807 (0.15%)
3,807 (0.15%)
jit-analyze output
benchmarks.run.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 14270080 (overridden on cmd)
Total bytes of diff: 14270080 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 55 unchanged.
benchmarks.run_pgo.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 83058256 (overridden on cmd)
Total bytes of diff: 83060236 (overridden on cmd)
Total bytes of delta: 1980 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
616 : 85808.dasm (3.08 % of base)
152 : 2846.dasm (36.19 % of base)
152 : 40899.dasm (33.63 % of base)
88 : 85813.dasm (2.79 % of base)
68 : 105063.dasm (39.53 % of base)
48 : 36199.dasm (2.24 % of base)
48 : 52344.dasm (1.89 % of base)
40 : 144592.dasm (1.60 % of base)
40 : 144605.dasm (1.60 % of base)
40 : 85811.dasm (1.43 % of base)
32 : 96432.dasm (1.65 % of base)
24 : 40942.dasm (0.32 % of base)
24 : 36715.dasm (1.37 % of base)
24 : 117657.dasm (0.32 % of base)
20 : 3918.dasm (8.33 % of base)
16 : 142612.dasm (2.26 % of base)
16 : 66336.dasm (1.09 % of base)
16 : 149935.dasm (1.80 % of base)
16 : 23308.dasm (3.54 % of base)
16 : 31748.dasm (4.94 % of base)
Top file improvements (bytes):
-24 : 13212.dasm (-1.14 % of base)
-24 : 79622.dasm (-0.48 % of base)
-20 : 84379.dasm (-1.28 % of base)
-20 : 36235.dasm (-10.42 % of base)
-16 : 117710.dasm (-0.29 % of base)
-16 : 13444.dasm (-0.33 % of base)
-16 : 8409.dasm (-0.15 % of base)
-16 : 125772.dasm (-2.68 % of base)
-16 : 151917.dasm (-0.39 % of base)
-16 : 27870.dasm (-0.34 % of base)
-16 : 31309.dasm (-0.29 % of base)
-16 : 36027.dasm (-0.49 % of base)
-16 : 5895.dasm (-0.56 % of base)
-16 : 78977.dasm (-0.93 % of base)
-16 : 79107.dasm (-0.28 % of base)
-16 : 104437.dasm (-0.36 % of base)
-16 : 79154.dasm (-0.42 % of base)
-16 : 83528.dasm (-0.42 % of base)
-16 : 94790.dasm (-2.13 % of base)
-12 : 5645.dasm (-0.13 % of base)
74 total files with Code Size differences (39 improved, 35 regressed), 20 unchanged.
Top method regressions (bytes):
616 (3.08 % of base) : 85808.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
152 (33.63 % of base) : 40899.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Instrumented Tier0)
152 (36.19 % of base) : 2846.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
88 (2.79 % of base) : 85813.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
68 (39.53 % of base) : 105063.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
48 (1.89 % of base) : 52344.dasm - System.Security.Cryptography.AesImplementation:GetAlgorithm(int,int,int):long (Instrumented Tier0)
48 (2.24 % of base) : 36199.dasm - System.Security.Cryptography.AesImplementation:GetAlgorithm(int,int,int):long (Tier0)
40 (1.60 % of base) : 144592.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Instrumented Tier0)
40 (1.60 % of base) : 144605.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Instrumented Tier0)
40 (1.43 % of base) : 85811.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
32 (1.65 % of base) : 96432.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
24 (0.32 % of base) : 40942.dasm - Jil.Deserialize.Methods:ParseISO8601Time(System.IO.TextReader,ushort[],int,int):System.TimeSpan (Instrumented Tier0)
24 (0.32 % of base) : 117657.dasm - Jil.Deserialize.Methods:ParseISO8601TimeThunkReader(byref,ushort[],int,int):System.TimeSpan (Instrumented Tier0)
24 (1.37 % of base) : 36715.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (Tier0)
20 (8.33 % of base) : 3918.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
16 (1.09 % of base) : 66336.dasm - NeuralJagged:Init() (Instrumented Tier0)
16 (4.94 % of base) : 31748.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
16 (1.80 % of base) : 149935.dasm - System.Tests.Perf_Array:SetupArrayCopy3D():this (Instrumented Tier0)
16 (2.26 % of base) : 142612.dasm - System.Tests.Perf_Array:SetupArrayRetrieve3D():this (Instrumented Tier0)
16 (3.54 % of base) : 23308.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
Top method improvements (bytes):
-24 (-0.48 % of base) : 79622.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckMembersAgainstBaseType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):this (Instrumented Tier0)
-24 (-1.14 % of base) : 13212.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (Instrumented Tier0)
-20 (-1.28 % of base) : 84379.dasm - Microsoft.Cci.ReferenceIndexerBase:VisitTypeReference(Microsoft.Cci.ITypeReference):ubyte:this (Instrumented Tier0)
-20 (-10.42 % of base) : 36235.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-16 (-0.29 % of base) : 117710.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Instrumented Tier0)
-16 (-0.29 % of base) : 31309.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Instrumented Tier0)
-16 (-0.93 % of base) : 78977.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IDictionary`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Instrumented Tier0)
-16 (-0.28 % of base) : 79107.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (Instrumented Tier0)
-16 (-0.42 % of base) : 79154.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbolExtensions:VisitType[System.__Canon](Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Func`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,ubyte],System.Func`4[System.__Canon,System.__Canon,ubyte,ubyte],System.__Canon,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Instrumented Tier0)
-16 (-0.42 % of base) : 83528.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbolExtensions:VisitType[System.__Canon](Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Func`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,ubyte],System.Func`4[System.__Canon,System.__Canon,ubyte,ubyte],System.__Canon,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Instrumented Tier0)
-16 (-0.36 % of base) : 104437.dasm - Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationProvider:Read(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor):System.Collections.Generic.IDictionary`2[System.String,System.String] (Instrumented Tier0)
-16 (-0.56 % of base) : 5895.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (Instrumented Tier0)
-16 (-0.15 % of base) : 8409.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier0)
-16 (-0.33 % of base) : 13444.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (Instrumented Tier0)
-16 (-2.68 % of base) : 125772.dasm - System.Linq.Enumerable:TryGetElement[int](System.Collections.Generic.IEnumerable`1[int],int,byref):ubyte (Instrumented Tier0)
-16 (-0.34 % of base) : 27870.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:.ctor(System.Type):this (Instrumented Tier0)
-16 (-0.39 % of base) : 151917.dasm - System.Security.Cryptography.CryptoStream+<WriteAsyncCore>d__53:MoveNext():this (Instrumented Tier0)
-16 (-2.13 % of base) : 94790.dasm - System.StubHelpers.CSTRMarshaler:ConvertToNative(int,System.String,long):long (Tier0)
-16 (-0.49 % of base) : 36027.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFrom(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (Instrumented Tier0)
-12 (-0.13 % of base) : 5645.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (Tier0)
Top method regressions (percentages):
68 (39.53 % of base) : 105063.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
152 (36.19 % of base) : 2846.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
152 (33.63 % of base) : 40899.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Instrumented Tier0)
4 (11.11 % of base) : 6329.dasm - System.Runtime.Intrinsics.Vector128:Create[byte](System.Runtime.Intrinsics.Vector64`1[byte],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
4 (10.00 % of base) : 2449.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Instrumented Tier0)
4 (10.00 % of base) : 1270.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 10209.dasm - System.Math:CopySign(double,double):double (Tier0)
4 (10.00 % of base) : 63387.dasm - System.MathF:CopySign(float,float):float (Tier0)
4 (10.00 % of base) : 19609.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVector[uint,ushort](System.Numerics.Vector`1[uint],System.Numerics.Vector`1[uint]):System.Numerics.Vector`1[ushort] (Tier0)
4 (8.33 % of base) : 122956.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Instrumented Tier0)
4 (8.33 % of base) : 31230.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
20 (8.33 % of base) : 3918.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
4 (6.67 % of base) : 47607.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:SumBenchmark():double:this (Tier0)
4 (6.25 % of base) : 83080.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
4 (6.25 % of base) : 78855.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (6.25 % of base) : 113636.dasm - System.Numerics.Tests.Perf_Quaternion:DotBenchmark():float:this (Tier0)
4 (5.26 % of base) : 33473.dasm - MessagePack.MessagePackBinary:WriteArrayHeader(byref,int,int):int (Tier0)
4 (5.26 % of base) : 61995.dasm - MessagePack.MessagePackBinary:WriteMapHeader(byref,int,int):int (Tier0)
4 (5.00 % of base) : 128471.dasm - System.Numerics.Tests.Perf_Quaternion:LengthSquaredBenchmark():float:this (Tier0)
16 (4.94 % of base) : 31748.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
Top method improvements (percentages):
-20 (-10.42 % of base) : 36235.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-8 (-7.14 % of base) : 27661.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:MaxBenchmark():System.Numerics.Vector`1[float]:this (Tier0)
-8 (-7.14 % of base) : 26101.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:GreaterThanOrEqualBenchmark():System.Numerics.Vector`1[int]:this (Tier0)
-8 (-7.14 % of base) : 28949.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:AndNotBenchmark():System.Numerics.Vector`1[ulong]:this (Tier0)
-8 (-7.14 % of base) : 89725.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 118329.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:EqualsStaticBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 50213.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 55989.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 39189.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseOrBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 18589.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 107049.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:LessThanBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 26729.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[float]:AddOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 58905.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[float]:AndNotBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 26169.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[short]:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[short]:this (Tier0)
-8 (-7.14 % of base) : 29341.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[short]:XorBenchmark():System.Runtime.Intrinsics.Vector128`1[short]:this (Tier0)
-8 (-7.14 % of base) : 57837.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:BitwiseAndOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
-8 (-7.14 % of base) : 42385.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:LessThanBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
-8 (-7.14 % of base) : 57993.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[uint]:MultiplyOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 16013.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ulong]:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[ulong]:this (Tier0)
-8 (-7.14 % of base) : 57313.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:GreaterThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
benchmarks.run_tiered.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 21983044 (overridden on cmd)
Total bytes of diff: 21983632 (overridden on cmd)
Total bytes of delta: 588 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
152 : 2411.dasm (36.19 % of base)
68 : 48155.dasm (39.53 % of base)
48 : 22800.dasm (2.24 % of base)
40 : 58572.dasm (1.85 % of base)
24 : 23633.dasm (1.37 % of base)
24 : 24070.dasm (0.36 % of base)
24 : 50600.dasm (0.35 % of base)
20 : 3105.dasm (8.33 % of base)
16 : 13705.dasm (1.06 % of base)
16 : 31630.dasm (1.14 % of base)
16 : 32327.dasm (0.43 % of base)
16 : 58522.dasm (2.48 % of base)
16 : 12857.dasm (2.09 % of base)
16 : 17604.dasm (3.54 % of base)
16 : 20972.dasm (4.94 % of base)
16 : 59507.dasm (1.94 % of base)
12 : 22841.dasm (0.86 % of base)
12 : 46445.dasm (0.71 % of base)
12 : 14611.dasm (1.21 % of base)
12 : 13975.dasm (1.05 % of base)
Top file improvements (bytes):
-24 : 14997.dasm (-1.34 % of base)
-20 : 6760.dasm (-1.37 % of base)
-20 : 22836.dasm (-10.42 % of base)
-16 : 7338.dasm (-0.62 % of base)
-16 : 20034.dasm (-0.33 % of base)
-16 : 45868.dasm (-2.13 % of base)
-16 : 4803.dasm (-0.19 % of base)
-12 : 15886.dasm (-1.45 % of base)
-12 : 21354.dasm (-1.07 % of base)
-12 : 16359.dasm (-0.13 % of base)
-12 : 43595.dasm (-2.83 % of base)
-12 : 11996.dasm (-3.66 % of base)
-8 : 11033.dasm (-5.41 % of base)
-8 : 17965.dasm (-5.71 % of base)
-8 : 18102.dasm (-7.14 % of base)
-8 : 10801.dasm (-5.41 % of base)
-8 : 25253.dasm (-7.14 % of base)
-8 : 26053.dasm (-7.14 % of base)
-8 : 3033.dasm (-3.57 % of base)
-8 : 51797.dasm (-7.14 % of base)
74 total files with Code Size differences (38 improved, 36 regressed), 20 unchanged.
Top method regressions (bytes):
152 (36.19 % of base) : 2411.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
68 (39.53 % of base) : 48155.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
48 (2.24 % of base) : 22800.dasm - System.Security.Cryptography.AesImplementation:GetAlgorithm(int,int,int):long (Tier0)
40 (1.85 % of base) : 58572.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Tier0)
24 (0.36 % of base) : 24070.dasm - Jil.Deserialize.Methods:ParseISO8601Time(System.IO.TextReader,ushort[],int,int):System.TimeSpan (Tier0)
24 (0.35 % of base) : 50600.dasm - Jil.Deserialize.Methods:ParseISO8601TimeThunkReader(byref,ushort[],int,int):System.TimeSpan (Tier0)
24 (1.37 % of base) : 23633.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (Tier0)
20 (8.33 % of base) : 3105.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
16 (0.43 % of base) : 32327.dasm - Neural:read_data_file():this (Tier0)
16 (1.14 % of base) : 31630.dasm - NeuralJagged:Init() (Tier0)
16 (1.06 % of base) : 13705.dasm - System.Globalization.IdnMapping:IcuGetAsciiCore(System.String,ulong,int):System.String:this (Tier0)
16 (4.94 % of base) : 20972.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
16 (2.09 % of base) : 12857.dasm - System.Security.Cryptography.TripleDesImplementation:GetAlgorithm(int,int):long (Tier0)
16 (1.94 % of base) : 59507.dasm - System.Tests.Perf_Array:SetupArrayCopy3D():this (Tier0)
16 (2.48 % of base) : 58522.dasm - System.Tests.Perf_Array:SetupArrayRetrieve3D():this (Tier0)
16 (3.54 % of base) : 17604.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
12 (1.05 % of base) : 13975.dasm - Interop+Crypto:BioNewFile(System.String,System.String):Microsoft.Win32.SafeHandles.SafeBioHandle (Tier0)
12 (1.21 % of base) : 14611.dasm - Interop+Crypto:CheckX509IpAddress(Microsoft.Win32.SafeHandles.SafeX509Handle,ubyte[],int,System.String,int):int (Tier0)
12 (0.86 % of base) : 22841.dasm - Interop+Crypto:EcKeyCreateByKeyParameters(byref,System.String,ubyte[],int,ubyte[],int,ubyte[],int):int (Tier0)
12 (0.71 % of base) : 46445.dasm - Interop+Sys:ForkAndExecProcess(System.String,ulong,ulong,System.String,int,int,int,int,uint,uint,ulong,int,byref,byref,byref,byref):int (Tier0)
Top method improvements (bytes):
-24 (-1.34 % of base) : 14997.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (Tier0)
-20 (-10.42 % of base) : 22836.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-20 (-1.37 % of base) : 6760.dasm - System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this (Tier0)
-16 (-0.33 % of base) : 20034.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Tier0)
-16 (-0.62 % of base) : 7338.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (Tier0)
-16 (-0.19 % of base) : 4803.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier0)
-16 (-2.13 % of base) : 45868.dasm - System.StubHelpers.CSTRMarshaler:ConvertToNative(int,System.String,long):long (Tier0)
-12 (-2.83 % of base) : 43595.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:Equals(Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]):ubyte:this (Tier0)
-12 (-3.66 % of base) : 11996.dasm - System.ComponentModel.TypeDescriptor:CheckDefaultProvider(System.Type) (Tier0)
-12 (-1.07 % of base) : 21354.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
-12 (-1.45 % of base) : 15886.dasm - System.Xml.Serialization.XmlReflectionImporter:GetDefaultValue(System.Xml.Serialization.TypeDesc,System.Type,System.Xml.Serialization.XmlAttributes):System.Object (Tier0)
-12 (-0.13 % of base) : 16359.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (Tier0)
-8 (-5.56 % of base) : 20225.dasm - System.Numerics.Tests.Perf_Vector3:MultiplyOperatorBenchmark():System.Numerics.Vector3:this (Tier0)
-8 (-5.71 % of base) : 17965.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:EqualsAllBenchmark():ubyte:this (Tier0)
-8 (-7.14 % of base) : 18102.dasm - System.Numerics.Tests.Perf_VectorOf`1[double]:LessThanBenchmark():System.Numerics.Vector`1[double]:this (Tier0)
-8 (-5.71 % of base) : 11505.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:LessThanOrEqualAnyBenchmark():ubyte:this (Tier0)
-8 (-7.14 % of base) : 26001.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:EqualsStaticBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 24873.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:SubtractBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-0.38 % of base) : 8065.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
-8 (-7.14 % of base) : 42189.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
Top method regressions (percentages):
68 (39.53 % of base) : 48155.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
152 (36.19 % of base) : 2411.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
4 (11.11 % of base) : 9796.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](System.Runtime.Intrinsics.Vector64`1[ubyte],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 1130.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 5057.dasm - System.Math:CopySign(double,double):double (Tier0)
4 (10.00 % of base) : 29084.dasm - System.MathF:CopySign(float,float):float (Tier0)
4 (10.00 % of base) : 11869.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVector[uint,ushort](System.Numerics.Vector`1[uint],System.Numerics.Vector`1[uint]):System.Numerics.Vector`1[ushort] (Tier0)
4 (8.33 % of base) : 19956.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
20 (8.33 % of base) : 3105.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
4 (6.67 % of base) : 25648.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:SumBenchmark():double:this (Tier0)
4 (6.25 % of base) : 35962.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (6.25 % of base) : 49806.dasm - System.Numerics.Tests.Perf_Quaternion:DotBenchmark():float:this (Tier0)
4 (5.26 % of base) : 18729.dasm - MessagePack.MessagePackBinary:WriteArrayHeader(byref,int,int):int (Tier0)
4 (5.26 % of base) : 29614.dasm - MessagePack.MessagePackBinary:WriteMapHeader(byref,int,int):int (Tier0)
4 (5.00 % of base) : 52810.dasm - System.Numerics.Tests.Perf_Quaternion:LengthSquaredBenchmark():float:this (Tier0)
16 (4.94 % of base) : 20972.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
8 (4.88 % of base) : 18549.dasm - MessagePack.Internal.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
8 (4.88 % of base) : 17524.dasm - Utf8Json.Internal.Emit.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
4 (4.76 % of base) : 52448.dasm - System.Numerics.Tests.Perf_Quaternion:LengthBenchmark():float:this (Tier0)
4 (4.55 % of base) : 54030.dasm - System.Numerics.Tests.Perf_Vector2:LengthSquaredBenchmark():float:this (Tier0)
Top method improvements (percentages):
-20 (-10.42 % of base) : 22836.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-8 (-7.14 % of base) : 18102.dasm - System.Numerics.Tests.Perf_VectorOf`1[double]:LessThanBenchmark():System.Numerics.Vector`1[double]:this (Tier0)
-8 (-7.14 % of base) : 26001.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:EqualsStaticBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 24873.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:SubtractBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 42189.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 59689.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:BitwiseOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 48765.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivideBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 26053.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 26273.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:MinBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 31017.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:SubtractionOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 58929.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 59513.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:AndNotBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 51797.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 18101.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 32777.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:GreaterThanBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 45765.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:GreaterThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 50805.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:LessThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 52665.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:MaxBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 28697.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[int]:MultiplyOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 25253.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:GreaterThanBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
coreclr_tests.run.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 510170492 (overridden on cmd)
Total bytes of diff: 510314648 (overridden on cmd)
Total bytes of delta: 144156 (0.03 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
860 : 322333.dasm (1.99 % of base)
860 : 322345.dasm (2.11 % of base)
860 : 3251.dasm (1.98 % of base)
860 : 3268.dasm (1.83 % of base)
860 : 322282.dasm (2.11 % of base)
860 : 322320.dasm (2.13 % of base)
860 : 322323.dasm (1.98 % of base)
860 : 322360.dasm (2.10 % of base)
860 : 322367.dasm (2.11 % of base)
860 : 3279.dasm (1.97 % of base)
860 : 3301.dasm (1.97 % of base)
860 : 322336.dasm (2.09 % of base)
808 : 228901.dasm (0.60 % of base)
784 : 230286.dasm (0.59 % of base)
784 : 230296.dasm (0.64 % of base)
784 : 229025.dasm (0.59 % of base)
756 : 506473.dasm (0.73 % of base)
720 : 505318.dasm (0.68 % of base)
672 : 506496.dasm (0.69 % of base)
672 : 505497.dasm (0.64 % of base)
Top file improvements (bytes):
-220 : 129394.dasm (-8.63 % of base)
-220 : 129344.dasm (-8.63 % of base)
-204 : 129404.dasm (-11.62 % of base)
-204 : 129354.dasm (-11.62 % of base)
-204 : 424490.dasm (-15.41 % of base)
-204 : 424546.dasm (-15.41 % of base)
-204 : 129384.dasm (-11.62 % of base)
-204 : 424456.dasm (-15.41 % of base)
-200 : 424503.dasm (-5.26 % of base)
-200 : 424446.dasm (-5.26 % of base)
-116 : 129030.dasm (-3.49 % of base)
-116 : 129040.dasm (-3.49 % of base)
-116 : 129334.dasm (-8.73 % of base)
-116 : 129364.dasm (-8.73 % of base)
-116 : 129208.dasm (-3.49 % of base)
-116 : 129240.dasm (-3.49 % of base)
-116 : 129414.dasm (-8.73 % of base)
-116 : 129008.dasm (-3.49 % of base)
-116 : 129220.dasm (-3.49 % of base)
-116 : 129020.dasm (-3.49 % of base)
68 total files with Code Size differences (28 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
860 (1.98 % of base) : 3251.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
860 (2.11 % of base) : 322282.dasm - lclfldadd:TestEntryPoint():int (Tier0)
860 (2.13 % of base) : 322320.dasm - lclfldadd:TestEntryPoint():int (Tier0)
860 (1.83 % of base) : 3268.dasm - lclflddiv:TestEntryPoint():int (MinOpts)
860 (1.99 % of base) : 322333.dasm - lclflddiv:TestEntryPoint():int (Tier0)
860 (1.98 % of base) : 322323.dasm - lclflddiv:TestEntryPoint():int (Tier0)
860 (1.97 % of base) : 3279.dasm - lclfldmul:TestEntryPoint():int (MinOpts)
860 (2.11 % of base) : 322345.dasm - lclfldmul:TestEntryPoint():int (Tier0)
860 (2.09 % of base) : 322336.dasm - lclfldmul:TestEntryPoint():int (Tier0)
860 (1.97 % of base) : 3301.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
860 (2.10 % of base) : 322360.dasm - lclfldsub:TestEntryPoint():int (Tier0)
860 (2.11 % of base) : 322367.dasm - lclfldsub:TestEntryPoint():int (Tier0)
808 (0.60 % of base) : 228901.dasm - i4div:TestEntryPoint():int (MinOpts)
784 (0.59 % of base) : 229025.dasm - i8div:TestEntryPoint():int (MinOpts)
784 (0.59 % of base) : 230286.dasm - u4div:TestEntryPoint():int (MinOpts)
784 (0.64 % of base) : 230296.dasm - u8div:TestEntryPoint():int (MinOpts)
756 (0.73 % of base) : 506473.dasm - u4div:TestEntryPoint():int (Tier0)
720 (0.68 % of base) : 505318.dasm - i4div:TestEntryPoint():int (Tier0)
672 (0.64 % of base) : 505497.dasm - i8div:TestEntryPoint():int (Tier0)
672 (0.69 % of base) : 506496.dasm - u8div:TestEntryPoint():int (Tier0)
Top method improvements (bytes):
-220 (-8.63 % of base) : 129344.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt16:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 129394.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt16:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 424456.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 129354.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 424490.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 129384.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 129404.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 424546.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (Instrumented Tier0)
-200 (-5.26 % of base) : 424446.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperByte:RunBasicScenario():this (Instrumented Tier0)
-200 (-5.26 % of base) : 424503.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSByte:RunBasicScenario():this (Instrumented Tier0)
-116 (-3.49 % of base) : 129008.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt160:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129040.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt1615:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129020.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt163:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129030.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt167:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129208.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt160:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129240.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt1615:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129220.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt163:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 129230.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt167:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-8.73 % of base) : 129334.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 129364.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (MinOpts)
Top method regressions (percentages):
52 (76.47 % of base) : 346519.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
52 (76.47 % of base) : 346517.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
52 (76.47 % of base) : 343086.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
52 (76.47 % of base) : 343083.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
44 (73.33 % of base) : 346515.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
44 (73.33 % of base) : 346513.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
44 (73.33 % of base) : 343081.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
44 (73.33 % of base) : 343068.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
36 (69.23 % of base) : 346511.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
36 (69.23 % of base) : 346509.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
36 (69.23 % of base) : 343060.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
36 (69.23 % of base) : 343053.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
184 (51.11 % of base) : 360198.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookupExtension_3Test__VectorTableLookupExtensionByte:RunStructLclFldScenario():this (Tier0)
184 (51.11 % of base) : 360231.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookupExtension_3Test__VectorTableLookupExtensionSByte:RunStructLclFldScenario():this (Tier0)
184 (48.42 % of base) : 399749.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookupExtension_4Test__VectorTableLookupExtensionByte:RunStructLclFldScenario():this (Tier0)
184 (48.42 % of base) : 399789.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookupExtension_4Test__VectorTableLookupExtensionSByte:RunStructLclFldScenario():this (Tier0)
176 (48.35 % of base) : 399478.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookup_4Test__VectorTableLookupByte:RunStructLclFldScenario():this (Tier0)
176 (48.35 % of base) : 399520.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookup_4Test__VectorTableLookupSByte:RunStructLclFldScenario():this (Tier0)
52 (48.15 % of base) : 523175.dasm - Runtime_91209:Problem4():System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
176 (47.31 % of base) : 360055.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookup_4Test__VectorTableLookupSByte:RunStructLclFldScenario():this (Tier0)
Top method improvements (percentages):
-204 (-15.41 % of base) : 424456.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (Instrumented Tier0)
-204 (-15.41 % of base) : 424490.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-15.41 % of base) : 424546.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 129354.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 129384.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 129404.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 129334.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 129364.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 129414.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 129344.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt16:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 129394.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt16:RunBasicScenario():this (MinOpts)
-112 (-6.83 % of base) : 424480.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (Instrumented Tier0)
-112 (-6.83 % of base) : 424514.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (Instrumented Tier0)
-112 (-6.83 % of base) : 424536.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (Instrumented Tier0)
-8 (-6.67 % of base) : 524548.dasm - GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
-12 (-6.12 % of base) : 524988.dasm - Performance_2700:TestEntryPoint():int (Tier0)
-200 (-5.26 % of base) : 424446.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperByte:RunBasicScenario():this (Instrumented Tier0)
-200 (-5.26 % of base) : 424503.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSByte:RunBasicScenario():this (Instrumented Tier0)
-16 (-5.06 % of base) : 185260.dasm - (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
-96 (-4.54 % of base) : 128998.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementDouble3:RunBasicScenario(int,ubyte):this (MinOpts)
libraries.crossgen2.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 55689604 (overridden on cmd)
Total bytes of diff: 55689604 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 5 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries.pmi.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 75931904 (overridden on cmd)
Total bytes of diff: 75931904 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries_tests.run.linux.arm64.Release.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 379668404 (overridden on cmd)
Total bytes of diff: 379669776 (overridden on cmd)
Total bytes of delta: 1372 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
624 : 452365.dasm (3.07 % of base)
616 : 83564.dasm (3.08 % of base)
188 : 259650.dasm (4.07 % of base)
128 : 500476.dasm (1.75 % of base)
112 : 498770.dasm (1.70 % of base)
96 : 48679.dasm (0.91 % of base)
88 : 472132.dasm (2.28 % of base)
88 : 498876.dasm (1.48 % of base)
88 : 687211.dasm (2.51 % of base)
88 : 704716.dasm (2.79 % of base)
80 : 154173.dasm (0.84 % of base)
80 : 259238.dasm (1.22 % of base)
80 : 471795.dasm (0.90 % of base)
76 : 686397.dasm (4.02 % of base)
72 : 471789.dasm (0.81 % of base)
64 : 470808.dasm (1.71 % of base)
64 : 498824.dasm (1.27 % of base)
64 : 498871.dasm (1.27 % of base)
64 : 498926.dasm (1.27 % of base)
64 : 734618.dasm (2.30 % of base)
Top file improvements (bytes):
-88 : 467548.dasm (-1.30 % of base)
-80 : 263376.dasm (-3.85 % of base)
-72 : 473547.dasm (-3.83 % of base)
-68 : 467754.dasm (-1.03 % of base)
-68 : 556479.dasm (-1.49 % of base)
-52 : 314477.dasm (-1.10 % of base)
-52 : 416579.dasm (-2.21 % of base)
-52 : 314400.dasm (-1.10 % of base)
-48 : 106728.dasm (-2.60 % of base)
-48 : 201671.dasm (-2.37 % of base)
-48 : 23829.dasm (-4.05 % of base)
-48 : 29976.dasm (-4.05 % of base)
-48 : 3156.dasm (-3.70 % of base)
-48 : 106721.dasm (-2.59 % of base)
-48 : 54744.dasm (-2.60 % of base)
-48 : 71597.dasm (-2.59 % of base)
-48 : 71677.dasm (-2.59 % of base)
-48 : 71679.dasm (-2.60 % of base)
-48 : 75440.dasm (-3.86 % of base)
-48 : 106716.dasm (-2.65 % of base)
74 total files with Code Size differences (34 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
624 (3.07 % of base) : 452365.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
616 (3.08 % of base) : 83564.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
188 (4.07 % of base) : 259650.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Instrumented Tier0)
128 (1.75 % of base) : 500476.dasm - System.Numerics.Tests.op_rightshiftTest:RunRightShiftTests() (Instrumented Tier0)
112 (1.70 % of base) : 498770.dasm - System.Numerics.Tests.op_leftshiftTest:RunLeftShiftTests() (Instrumented Tier0)
96 (0.91 % of base) : 48679.dasm - Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel:GetSemanticSymbols(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundNode,Microsoft.CodeAnalysis.CSharp.Binder,int,byref,byref,byref):Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.CSharp.Symbol]:this (Instrumented Tier0)
88 (2.79 % of base) : 704716.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
88 (2.51 % of base) : 687211.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldUncheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
88 (1.48 % of base) : 498876.dasm - System.Numerics.Tests.logTest:RunLogTests() (Instrumented Tier0)
88 (2.28 % of base) : 472132.dasm - System.Xml.Tests.TCDispose:Variation1():int:this (Instrumented Tier0)
80 (0.84 % of base) : 154173.dasm - Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel:GetSemanticSymbols(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundNode,Microsoft.CodeAnalysis.CSharp.Binder,int,byref,byref,byref):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbol]:this (Instrumented Tier0)
80 (1.22 % of base) : 259238.dasm - System.Data.Common.SqlConvert:ChangeType2(System.Object,int,System.Type,System.IFormatProvider):System.Object (Instrumented Tier0)
80 (0.90 % of base) : 471795.dasm - System.Xml.Tests.TCErrorCondition:V9a():int:this (Instrumented Tier0)
76 (4.02 % of base) : 686397.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowUnaryOperator(int,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
72 (0.81 % of base) : 471789.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
64 (2.30 % of base) : 734618.dasm - CoreXml.Test.XLinq.ReaderDiff:Compare(System.Xml.XmlReader,System.Xml.XmlReader) (Instrumented Tier0)
64 (1.27 % of base) : 498871.dasm - System.Numerics.Tests.maxTest:RunMaxTests() (Instrumented Tier0)
64 (1.27 % of base) : 498926.dasm - System.Numerics.Tests.minTest:RunMinTests() (Instrumented Tier0)
64 (1.27 % of base) : 498824.dasm - System.Numerics.Tests.op_andTest:RunAndTests() (Instrumented Tier0)
64 (1.71 % of base) : 470808.dasm - System.Xml.Tests.TCXMLIntegrityBase:InitReaderPointer():int:this (Instrumented Tier0)
Top method improvements (bytes):
-88 (-1.30 % of base) : 467548.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_19(System.Xml.XmlWriterApiTests.XmlWriterUtils,int):this (Instrumented Tier0)
-80 (-3.85 % of base) : 263376.dasm - System.Data.ConstNode:SmallestNumeric(System.Object):System.Object (Instrumented Tier0)
-72 (-3.83 % of base) : 473547.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Tier0)
-68 (-1.49 % of base) : 556479.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (Instrumented Tier0)
-68 (-1.03 % of base) : 467754.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_18(System.Xml.XmlWriterApiTests.XmlWriterUtils,int):this (Instrumented Tier0)
-52 (-1.10 % of base) : 314477.dasm - System.IO.Compression.GzipStreamUnitTests+<TestConcatenatedGzipStreams>d__11:MoveNext():this (Instrumented Tier0)
-52 (-1.10 % of base) : 314400.dasm - System.IO.Compression.GzipStreamUnitTests+<TestConcatenatedGzipStreams>d__11:MoveNext():this (Instrumented Tier0)
-52 (-2.21 % of base) : 416579.dasm - System.Net.WebSockets.Tests.WebSocketTestStream+<ReadAsync>d__36:MoveNext():this (Tier0)
-48 (-4.05 % of base) : 29976.dasm - Xunit.Sdk.AssertEqualityComparer`1[byte]:Equals(byte,byte):ubyte:this (Tier0)
-48 (-2.65 % of base) : 106716.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Instrumented Tier0)
-48 (-3.86 % of base) : 75440.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Tier0)
-48 (-2.60 % of base) : 106728.dasm - Xunit.Sdk.AssertEqualityComparer`1[float]:Equals(float,float):ubyte:this (Instrumented Tier0)
-48 (-3.70 % of base) : 3156.dasm - Xunit.Sdk.AssertEqualityComparer`1[float]:Equals(float,float):ubyte:this (Tier0)
-48 (-2.60 % of base) : 54744.dasm - Xunit.Sdk.AssertEqualityComparer`1[int]:Equals(int,int):ubyte:this (Instrumented Tier0)
-48 (-2.59 % of base) : 106721.dasm - Xunit.Sdk.AssertEqualityComparer`1[short]:Equals(short,short):ubyte:this (Instrumented Tier0)
-48 (-2.37 % of base) : 201671.dasm - Xunit.Sdk.AssertEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Equals(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):ubyte:this (Instrumented Tier0)
-48 (-2.59 % of base) : 71677.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Instrumented Tier0)
-48 (-4.05 % of base) : 23829.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Tier0)
-48 (-2.60 % of base) : 71679.dasm - Xunit.Sdk.AssertEqualityComparer`1[ulong]:Equals(ulong,ulong):ubyte:this (Instrumented Tier0)
-48 (-2.59 % of base) : 71597.dasm - Xunit.Sdk.AssertEqualityComparer`1[ushort]:Equals(ushort,ushort):ubyte:this (Instrumented Tier0)
Top method regressions (percentages):
4 (14.29 % of base) : 420449.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
4 (14.29 % of base) : 420381.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
12 (12.50 % of base) : 496528.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
12 (12.50 % of base) : 496222.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:LogDoubleTest(double,double,double):this (Tier0)
12 (11.54 % of base) : 496224.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:AssertEqual(System.Runtime.Intrinsics.Vector128`1[double],System.Runtime.Intrinsics.Vector128`1[double],System.Runtime.Intrinsics.Vector128`1[double]) (Tier0)
12 (11.54 % of base) : 496526.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:AssertEqual(System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]) (Tier0)
4 (9.09 % of base) : 420928.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 425095.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 424896.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 420898.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 420005.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 425377.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 419999.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 425342.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (8.33 % of base) : 351422.dasm - System.Linq.Enumerable+MaxCalc`1[long]:Compare(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
4 (8.33 % of base) : 419127.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[float]:Invoke(System.Runtime.Intrinsics.Vector128`1[float]):float (Tier0)
4 (8.33 % of base) : 425011.dasm - System.Numerics.Tensors.TensorPrimitives+MaxOperator`1[ulong]:Invoke(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
4 (8.33 % of base) : 417860.dasm - System.Numerics.Tensors.TensorPrimitives+MaxPropagateNaNOperator`1[ulong]:Invoke(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
4 (8.33 % of base) : 417187.dasm - System.Numerics.Tensors.TensorPrimitives+MinPropagateNaNOperator`1[ulong]:Invoke(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
36 (8.33 % of base) : 366675.dasm - System.SpanTests.IndexOfAnyExceptTests`1[ushort]:.ctor():this (Instrumented Tier0)
Top method improvements (percentages):
-20 (-10.42 % of base) : 552667.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
-20 (-10.42 % of base) : 551969.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-20 (-6.85 % of base) : 120857.dasm - Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
-20 (-5.49 % of base) : 189554.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Tier0)
-12 (-4.76 % of base) : 346067.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[int,System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]]]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.IndexedSelectQueryOperator`2[int,System.Collections.Generic.KeyValuePair`2[int,System.Collections.Generic.KeyValuePair`2[int,int]]],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.76 % of base) : 346945.dasm - System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.TakeOrSkipQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.69 % of base) : 341712.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,double]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,double],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.69 % of base) : 341777.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,System.__Canon]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,System.__Canon],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-16 (-4.12 % of base) : 214298.dasm - System.AssertExtensions:AssertThrows[System.__Canon,int](System.ReadOnlySpan`1[int],System.AssertExtensions+AssertThrowsActionReadOnly`1[int]):System.__Canon (Tier0)
-16 (-4.12 % of base) : 215639.dasm - System.AssertExtensions:AssertThrows[System.__Canon,int](System.Span`1[int],System.AssertExtensions+AssertThrowsAction`1[int]):System.__Canon (Tier0)
-48 (-4.05 % of base) : 29976.dasm - Xunit.Sdk.AssertEqualityComparer`1[byte]:Equals(byte,byte):ubyte:this (Tier0)
-48 (-4.05 % of base) : 23829.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Tier0)
-44 (-3.99 % of base) : 3084.dasm - Xunit.Sdk.AssertEqualityComparer`1[System.Drawing.Point]:Equals(System.Drawing.Point,System.Drawing.Point):ubyte:this (Tier0)
-48 (-3.86 % of base) : 75440.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Tier0)
-80 (-3.85 % of base) : 263376.dasm - System.Data.ConstNode:SmallestNumeric(System.Object):System.Object (Instrumented Tier0)
-72 (-3.83 % of base) : 473547.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Tier0)
-16 (-3.77 % of base) : 193060.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Instrumented Tier0)
-48 (-3.70 % of base) : 3156.dasm - Xunit.Sdk.AssertEqualityComparer`1[float]:Equals(float,float):ubyte:this (Tier0)
-12 (-3.66 % of base) : 80440.dasm - System.ComponentModel.TypeDescriptor:CheckDefaultProvider(System.Type) (Tier0)
-8 (-3.64 % of base) : 75412.dasm - SharedTypes.IntWrapperWithNotification:RaiseInvokeSucceeded():this (Tier0)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 162138568 (overridden on cmd)
Total bytes of diff: 162138676 (overridden on cmd)
Total bytes of delta: 108 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
4 : 269216.dasm (2.50 % of base)
4 : 274518.dasm (2.50 % of base)
4 : 274534.dasm (2.50 % of base)
4 : 282382.dasm (2.38 % of base)
4 : 282383.dasm (2.50 % of base)
4 : 290392.dasm (2.50 % of base)
4 : 290402.dasm (2.86 % of base)
4 : 273724.dasm (2.38 % of base)
4 : 280647.dasm (2.50 % of base)
4 : 281336.dasm (2.38 % of base)
4 : 284199.dasm (2.50 % of base)
4 : 286678.dasm (2.50 % of base)
4 : 291883.dasm (2.38 % of base)
4 : 274541.dasm (2.50 % of base)
4 : 274546.dasm (2.50 % of base)
4 : 282601.dasm (2.50 % of base)
4 : 282993.dasm (2.86 % of base)
4 : 291478.dasm (2.27 % of base)
4 : 291746.dasm (2.50 % of base)
4 : 273158.dasm (2.50 % of base)
Top file improvements (bytes):
-8 : 13004.dasm (-1.57 % of base)
-4 : 154765.dasm (-1.15 % of base)
26 total files with Code Size differences (2 improved, 24 regressed), 37 unchanged.
Top method regressions (bytes):
4 (2.50 % of base) : 274518.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 280647.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 281336.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|16_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 291746.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|17_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 291883.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|18_0(byref,byref,int,int,int) (MinOpts)
4 (2.27 % of base) : 291478.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|19_0(byref,byref,int,int,int,int) (MinOpts)
4 (2.50 % of base) : 274534.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 284199.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 274546.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 282383.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 274547.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int,int) (MinOpts)
4 (2.86 % of base) : 282993.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
4 (2.50 % of base) : 282601.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|38_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 269216.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 274541.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 282382.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 286678.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 278040.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 273158.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|68_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 273724.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|69_0(byref,byref,int,int,int) (MinOpts)
Top method improvements (bytes):
-8 (-1.57 % of base) : 13004.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
-4 (-1.15 % of base) : 154765.dasm - Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method regressions (percentages):
4 (2.86 % of base) : 282993.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
4 (2.86 % of base) : 290402.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
4 (2.50 % of base) : 274518.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 280647.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 291746.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|17_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 274534.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 284199.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 274546.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 282383.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 282601.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|38_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 269216.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 274541.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 286678.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 273158.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|68_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 286752.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|7_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 290392.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|84_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 281336.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|16_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 291883.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|18_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 274547.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 282382.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int,int) (MinOpts)
Top method improvements (percentages):
-8 (-1.57 % of base) : 13004.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
-4 (-1.15 % of base) : 154765.dasm - Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
realworld.run.linux.arm64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15784696 (overridden on cmd)
Total bytes of diff: 15784696 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
Diffs are based on 2,542,496 contexts (1,013,312 MinOpts, 1,529,184 FullOpts).
MISSED contexts: 4,042 (0.16%)
Overall (-464,740 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.linux.x64.checked.mch
13,063,008
-5
benchmarks.run_pgo.linux.x64.checked.mch
64,981,453
-15,309
benchmarks.run_tiered.linux.x64.checked.mch
17,221,305
-11,296
coreclr_tests.run.linux.x64.checked.mch
439,635,202
-246,288
libraries.crossgen2.linux.x64.checked.mch
38,636,779
-4
libraries.pmi.linux.x64.checked.mch
59,927,414
-13
libraries_tests.run.linux.x64.Release.mch
328,845,908
-136,481
librariestestsnotieredcompilation.run.linux.x64.Release.mch
129,732,524
-54,318
realworld.run.linux.x64.checked.mch
13,174,701
-1,026
smoke_tests.nativeaot.linux.x64.checked.mch
4,191,403
+0
MinOpts (-464,740 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.linux.x64.checked.mch
230,051
-5
benchmarks.run_pgo.linux.x64.checked.mch
18,706,882
-15,309
benchmarks.run_tiered.linux.x64.checked.mch
13,644,734
-11,296
coreclr_tests.run.linux.x64.checked.mch
310,584,524
-246,288
libraries.crossgen2.linux.x64.checked.mch
1,202
-4
libraries.pmi.linux.x64.checked.mch
112,870
-13
libraries_tests.run.linux.x64.Release.mch
183,459,665
-136,481
librariestestsnotieredcompilation.run.linux.x64.Release.mch
10,657,089
-54,318
realworld.run.linux.x64.checked.mch
387,256
-1,026
smoke_tests.nativeaot.linux.x64.checked.mch
911
+0
Example diffs
benchmarks.run.linux.x64.checked.mch
-1 (-1.18%) : 31770.dasm - BenchmarkDotNet.Autogenerated.Runnable153:ForDisassemblyDiagnoser_():ubyte[]:this (MinOpts)
@@ -22,19 +22,19 @@ G_M31513_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
mov gword ptr [rbp-0x08], rdi
;; size=22 bbWeight=1 PerfScore 5.00
G_M31513_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x44], 11
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x44], 11
jne SHORT G_M31513_IG04
- mov rdi, gword ptr [rbp-0x08]
- mov edi, dword ptr [rdi+0x40]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x0C], edi
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- movzx rdi, byte ptr [rdi+0x4C]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x10], edi
+ mov rax, gword ptr [rbp-0x08]
+ mov eax, dword ptr [rax+0x40]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x0C], eax
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ movzx rax, byte ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x10], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov esi, dword ptr [rbp-0x0C]
@@ -42,7 +42,7 @@ G_M31513_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rdi] +[rax]
nop
- ;; size=49 bbWeight=1 PerfScore 19.25
+ ;; size=48 bbWeight=1 PerfScore 19.25
G_M31513_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
@@ -59,7 +59,7 @@ G_M31513_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 85, prolog size 18, PerfScore 28.00, instruction count 28, allocated bytes for code 85 (MethodHash=0e7784e6) for method BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
+; Total bytes of code 84, prolog size 18, PerfScore 28.00, instruction count 28, allocated bytes for code 84 (MethodHash=0e7784e6) for method BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
; ============================================================
Unwind Info:
-1 (-1.18%) : 28227.dasm - BenchmarkDotNet.Autogenerated.Runnable153:ForDisassemblyDiagnoser_():ubyte[]:this (MinOpts)
@@ -22,19 +22,19 @@ G_M31513_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
mov gword ptr [rbp-0x08], rdi
;; size=22 bbWeight=1 PerfScore 5.00
G_M31513_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x44], 11
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x44], 11
jne SHORT G_M31513_IG04
- mov rdi, gword ptr [rbp-0x08]
- mov edi, dword ptr [rdi+0x40]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x0C], edi
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- movzx rdi, byte ptr [rdi+0x4C]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x10], edi
+ mov rax, gword ptr [rbp-0x08]
+ mov eax, dword ptr [rax+0x40]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x0C], eax
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ movzx rax, byte ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x10], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov esi, dword ptr [rbp-0x0C]
@@ -42,7 +42,7 @@ G_M31513_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rdi] +[rax]
nop
- ;; size=49 bbWeight=1 PerfScore 19.25
+ ;; size=48 bbWeight=1 PerfScore 19.25
G_M31513_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
@@ -59,7 +59,7 @@ G_M31513_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 85, prolog size 18, PerfScore 28.00, instruction count 28, allocated bytes for code 85 (MethodHash=0e7784e6) for method BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
+; Total bytes of code 84, prolog size 18, PerfScore 28.00, instruction count 28, allocated bytes for code 84 (MethodHash=0e7784e6) for method BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
; ============================================================
Unwind Info:
-1 (-1.18%) : 33531.dasm - BenchmarkDotNet.Autogenerated.Runnable153:ForDisassemblyDiagnoser_():ubyte[]:this (MinOpts)
@@ -22,19 +22,19 @@ G_M31513_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
mov gword ptr [rbp-0x08], rdi
;; size=22 bbWeight=1 PerfScore 5.00
G_M31513_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x44], 11
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x44], 11
jne SHORT G_M31513_IG04
- mov rdi, gword ptr [rbp-0x08]
- mov edi, dword ptr [rdi+0x40]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x0C], edi
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- movzx rdi, byte ptr [rdi+0x4C]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x10], edi
+ mov rax, gword ptr [rbp-0x08]
+ mov eax, dword ptr [rax+0x40]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x0C], eax
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ movzx rax, byte ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x10], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov esi, dword ptr [rbp-0x0C]
@@ -42,7 +42,7 @@ G_M31513_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rdi] +[rax]
nop
- ;; size=49 bbWeight=1 PerfScore 19.25
+ ;; size=48 bbWeight=1 PerfScore 19.25
G_M31513_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
@@ -59,7 +59,7 @@ G_M31513_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 85, prolog size 18, PerfScore 28.00, instruction count 28, allocated bytes for code 85 (MethodHash=0e7784e6) for method BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
+; Total bytes of code 84, prolog size 18, PerfScore 28.00, instruction count 28, allocated bytes for code 84 (MethodHash=0e7784e6) for method BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
; ============================================================
Unwind Info:
+0 (0.00%) : 33712.dasm - BenchmarkDotNet.Autogenerated.Runnable163:TrickTheJIT_():this (MinOpts)
@@ -40,12 +40,13 @@ G_M23685_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov dword ptr [rcx+0x50], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
- mov dword ptr [rdi+0x50], eax
- mov rdi, gword ptr [rbp-0x08]
call [<unknown method>]
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rcx rdi]
nop
;; size=77 bbWeight=1 PerfScore 22.25
G_M23685_IG03: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 33720.dasm - BenchmarkDotNet.Autogenerated.Runnable125:ForDisassemblyDiagnoser_():System.Object[]:this (MinOpts)
@@ -17,13 +17,14 @@ G_M62521_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
mov gword ptr [rbp-0x08], rdi
;; size=14 bbWeight=1 PerfScore 2.75
G_M62521_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x40], 11
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x40], 11
jne SHORT G_M62521_IG04
mov rdi, gword ptr [rbp-0x08]
+ ; gcrRegs +[rdi]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rdi]
nop
;; size=21 bbWeight=1 PerfScore 9.25
G_M62521_IG03: ; bbWeight=1, epilog, nogc, extend
+1 (+0.61%) : 3929.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -44,10 +44,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
lea rdi, [rbp-0x10]
call [<unknown method>]
mov dword ptr [rbp-0x24], eax
- xor edi, edi
- mov dword ptr [rbp-0x28], edi
- xor edi, edi
- mov dword ptr [rbp-0x2C], edi
+ xor eax, eax
+ mov dword ptr [rbp-0x28], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x2C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -55,24 +55,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov esi, dword ptr [rbp-0x2C]
call [<unknown method>]
; byrRegs +[rax]
- movzx rdi, byte ptr [rax]
- mov dword ptr [rbp-0x34], edi
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x34], eax
lea rdi, [rbp-0x20]
mov esi, dword ptr [rbp-0x2C]
call [<unknown method>]
+ ; byrRegs +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x34]
sub ecx, eax
- or ecx, dword ptr [rbp-0x28]
- mov dword ptr [rbp-0x28], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x28]
+ mov dword ptr [rbp-0x28], eax
mov eax, dword ptr [rbp-0x2C]
inc eax
mov dword ptr [rbp-0x2C], eax
- ;; size=55 bbWeight=1 PerfScore 20.50
+ ;; size=56 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov edi, dword ptr [rbp-0x2C]
- cmp edi, dword ptr [rbp-0x24]
+ mov eax, dword ptr [rbp-0x2C]
+ cmp eax, dword ptr [rbp-0x24]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x28], 0
@@ -84,7 +87,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 165, prolog size 10, PerfScore 57.25, instruction count 51, allocated bytes for code 165 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 166, prolog size 10, PerfScore 57.50, instruction count 52, allocated bytes for code 166 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
benchmarks.run_pgo.linux.x64.checked.mch
-15 (-9.74%) : 27083.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
@@ -34,32 +34,32 @@ G_M7440_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[rdi]
call [<unknown method>]
; gcrRegs -[rdi]
- mov r9d, dword ptr [rbp+0x10]
- movzx r9, r9b
- test r9d, r9d
+ mov eax, dword ptr [rbp+0x10]
+ movzx rax, al
+ test eax, eax
jne SHORT G_M7440_IG03
- xor r9d, r9d
- mov dword ptr [rbp-0x30], r9d
+ xor eax, eax
+ mov dword ptr [rbp-0x30], eax
jmp SHORT G_M7440_IG04
- ;; size=32 bbWeight=1 PerfScore 9.75
+ ;; size=27 bbWeight=1 PerfScore 9.75
G_M7440_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov dword ptr [rbp-0x30], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M7440_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9d, dword ptr [rbp-0x30]
- mov dword ptr [rbp-0x2C], r9d
- mov r9d, dword ptr [rbp-0x2C]
- mov dword ptr [rsp], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x08], r9d
- xor r9, r9
- ; gcrRegs +[r9]
- mov gword ptr [rsp+0x10], r9
- xor r9d, r9d
- ; gcrRegs -[r9]
- mov dword ptr [rsp+0x18], r9d
- mov r9d, dword ptr [rbp-0x28]
- movzx r9, r9b
+ mov eax, dword ptr [rbp-0x30]
+ mov dword ptr [rbp-0x2C], eax
+ mov eax, dword ptr [rbp-0x2C]
+ mov dword ptr [rsp], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x08], eax
+ xor rax, rax
+ ; gcrRegs +[rax]
+ mov gword ptr [rsp+0x10], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rsp+0x18], eax
+ mov eax, dword ptr [rbp-0x28]
+ movzx r9, al
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov rsi, gword ptr [rbp-0x10]
@@ -72,14 +72,14 @@ G_M7440_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs -[rcx rdx rsi rdi]
nop
- ;; size=75 bbWeight=1 PerfScore 17.25
+ ;; size=65 bbWeight=1 PerfScore 17.25
G_M7440_IG05: ; bbWeight=1, epilog, nogc, extend
add rsp, 80
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 154, prolog size 10, PerfScore 37.50, instruction count 41, allocated bytes for code 154 (MethodHash=8f3be2ef) for method System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
+; Total bytes of code 139, prolog size 10, PerfScore 37.50, instruction count 41, allocated bytes for code 139 (MethodHash=8f3be2ef) for method System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
; ============================================================
Unwind Info:
-6 (-8.96%) : 21145.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
@@ -21,12 +21,12 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x14], edx
;; size=21 bbWeight=1 PerfScore 4.75
G_M42870_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov edi, dword ptr [rbp-0x14]
- movsx rdi, di
- ror di, 8
- movzx rdi, di
- movsx rdi, di
- mov dword ptr [rbp-0x20], edi
+ mov eax, dword ptr [rbp-0x14]
+ cwde
+ ror ax, 8
+ movzx rax, ax
+ cwde
+ mov dword ptr [rbp-0x20], eax
mov rdi, bword ptr [rbp-0x10]
; byrRegs +[rdi]
mov rsi, qword ptr [rbp-0x08]
@@ -34,14 +34,14 @@ G_M42870_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; byrRegs -[rdi]
nop
- ;; size=40 bbWeight=1 PerfScore 9.00
+ ;; size=34 bbWeight=1 PerfScore 9.00
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 67, prolog size 10, PerfScore 15.50, instruction count 20, allocated bytes for code 67 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
+; Total bytes of code 61, prolog size 10, PerfScore 15.50, instruction count 20, allocated bytes for code 61 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
; ============================================================
Unwind Info:
-6 (-8.96%) : 9443.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
@@ -21,12 +21,12 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x14], edx
;; size=21 bbWeight=1 PerfScore 4.75
G_M42870_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov edi, dword ptr [rbp-0x14]
- movsx rdi, di
- ror di, 8
- movzx rdi, di
- movsx rdi, di
- mov dword ptr [rbp-0x20], edi
+ mov eax, dword ptr [rbp-0x14]
+ cwde
+ ror ax, 8
+ movzx rax, ax
+ cwde
+ mov dword ptr [rbp-0x20], eax
mov rdi, bword ptr [rbp-0x10]
; byrRegs +[rdi]
mov rsi, qword ptr [rbp-0x08]
@@ -34,14 +34,14 @@ G_M42870_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; byrRegs -[rdi]
nop
- ;; size=40 bbWeight=1 PerfScore 9.00
+ ;; size=34 bbWeight=1 PerfScore 9.00
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 67, prolog size 10, PerfScore 15.50, instruction count 20, allocated bytes for code 67 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
+; Total bytes of code 61, prolog size 10, PerfScore 15.50, instruction count 20, allocated bytes for code 61 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
; ============================================================
Unwind Info:
+12 (+21.43%) : 84862.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Tier0)
@@ -5,43 +5,48 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x18] do-not-enreg[] this
-; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x10] do-not-enreg[] this
+; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x20]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 24
+ sub rsp, 32
lea rbp, [rsp+0x20]
- mov qword ptr [rbp-0x10], rsi
- mov bword ptr [rbp-0x18], rdi
- mov qword ptr [rbp-0x20], rsi
- ;; size=23 bbWeight=1 PerfScore 5.75
+ xor eax, eax
+ mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x08], rsi
+ mov bword ptr [rbp-0x10], rdi
+ mov qword ptr [rbp-0x18], rsi
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, bword ptr [rbp-0x18]
- ; byrRegs +[rdi]
- mov rbx, gword ptr [rdi]
- ; gcrRegs +[rbx]
- mov rdi, qword ptr [rbp-0x20]
- ; byrRegs -[rdi]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp-0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x20], rax
+ mov rdi, qword ptr [rbp-0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x20]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 24
- pop rbx
+ add rsp, 32
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 2 * 8 + 8 = 24 = 0x18
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 89135.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Instrumented Tier0)
@@ -5,43 +5,48 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x18] do-not-enreg[] this
-; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x10] do-not-enreg[] this
+; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x20]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 24
+ sub rsp, 32
lea rbp, [rsp+0x20]
- mov qword ptr [rbp-0x10], rsi
- mov bword ptr [rbp-0x18], rdi
- mov qword ptr [rbp-0x20], rsi
- ;; size=23 bbWeight=1 PerfScore 5.75
+ xor eax, eax
+ mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x08], rsi
+ mov bword ptr [rbp-0x10], rdi
+ mov qword ptr [rbp-0x18], rsi
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, bword ptr [rbp-0x18]
- ; byrRegs +[rdi]
- mov rbx, gword ptr [rdi]
- ; gcrRegs +[rbx]
- mov rdi, qword ptr [rbp-0x20]
- ; byrRegs -[rdi]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp-0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x20], rax
+ mov rdi, qword ptr [rbp-0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x20]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 24
- pop rbx
+ add rsp, 32
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 2 * 8 + 8 = 24 = 0x18
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+16 (+21.62%) : 79974.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
@@ -8,54 +8,58 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Queue>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp-0x0C] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x18]
;
-; Lcl frame size = 16
+; Lcl frame size = 32
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 16
- lea rbp, [rsp+0x10]
+ sub rsp, 32
+ lea rbp, [rsp+0x20]
+ xor eax, eax
+ mov qword ptr [rbp-0x18], rax
mov gword ptr [rbp-0x08], rdi
mov dword ptr [rbp-0x0C], esi
- ;; size=17 bbWeight=1 PerfScore 3.75
+ ;; size=23 bbWeight=1 PerfScore 5.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rbp-0x08]
; gcrRegs +[rax]
- mov rcx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x18], rax
+ mov rcx, gword ptr [rbp-0x08]
; gcrRegs +[rcx]
- mov rax, gword ptr [rbp-0x08]
- mov eax, dword ptr [rax+0x10]
+ mov ecx, dword ptr [rcx+0x10]
+ ; gcrRegs -[rcx]
+ mov eax, ecx
; gcrRegs -[rax]
add eax, dword ptr [rbp-0x0C]
- mov rdx, gword ptr [rbp-0x08]
- ; gcrRegs +[rdx]
- mov rdi, gword ptr [rdx+0x08]
- ; gcrRegs +[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov rcx, gword ptr [rcx+0x08]
cdq
- ; gcrRegs -[rdx]
- idiv edx:eax, dword ptr [rdi+0x08]
+ idiv edx:eax, dword ptr [rcx+0x08]
+ mov rcx, gword ptr [rbp-0x18]
cmp edx, dword ptr [rcx+0x08]
jae SHORT G_M41139_IG04
mov eax, edx
- lea rcx, bword ptr [rcx+8*rax+0x10]
- ; gcrRegs -[rcx]
- ; byrRegs +[rcx]
- mov rax, gword ptr [rcx]
+ lea rax, bword ptr [rcx+8*rax+0x10]
+ ; byrRegs +[rax]
+ mov rax, gword ptr [rax]
; gcrRegs +[rax]
- ;; size=45 bbWeight=1 PerfScore 43.75
+ ; byrRegs -[rax]
+ ;; size=55 bbWeight=1 PerfScore 46.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 16
+ add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
G_M41139_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[rax rdi]
- ; byrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 74, prolog size 10, PerfScore 49.25, instruction count 24, allocated bytes for code 74 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
+; Total bytes of code 90, prolog size 16, PerfScore 52.75, instruction count 29, allocated bytes for code 90 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
; ============================================================
Unwind Info:
@@ -68,5 +72,5 @@ Unwind Info:
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
benchmarks.run_tiered.linux.x64.checked.mch
-15 (-9.74%) : 21597.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
@@ -34,32 +34,32 @@ G_M7440_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[rdi]
call [<unknown method>]
; gcrRegs -[rdi]
- mov r9d, dword ptr [rbp+0x10]
- movzx r9, r9b
- test r9d, r9d
+ mov eax, dword ptr [rbp+0x10]
+ movzx rax, al
+ test eax, eax
jne SHORT G_M7440_IG03
- xor r9d, r9d
- mov dword ptr [rbp-0x30], r9d
+ xor eax, eax
+ mov dword ptr [rbp-0x30], eax
jmp SHORT G_M7440_IG04
- ;; size=32 bbWeight=1 PerfScore 9.75
+ ;; size=27 bbWeight=1 PerfScore 9.75
G_M7440_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov dword ptr [rbp-0x30], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M7440_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9d, dword ptr [rbp-0x30]
- mov dword ptr [rbp-0x2C], r9d
- mov r9d, dword ptr [rbp-0x2C]
- mov dword ptr [rsp], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x08], r9d
- xor r9, r9
- ; gcrRegs +[r9]
- mov gword ptr [rsp+0x10], r9
- xor r9d, r9d
- ; gcrRegs -[r9]
- mov dword ptr [rsp+0x18], r9d
- mov r9d, dword ptr [rbp-0x28]
- movzx r9, r9b
+ mov eax, dword ptr [rbp-0x30]
+ mov dword ptr [rbp-0x2C], eax
+ mov eax, dword ptr [rbp-0x2C]
+ mov dword ptr [rsp], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x08], eax
+ xor rax, rax
+ ; gcrRegs +[rax]
+ mov gword ptr [rsp+0x10], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rsp+0x18], eax
+ mov eax, dword ptr [rbp-0x28]
+ movzx r9, al
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov rsi, gword ptr [rbp-0x10]
@@ -72,14 +72,14 @@ G_M7440_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs -[rcx rdx rsi rdi]
nop
- ;; size=75 bbWeight=1 PerfScore 17.25
+ ;; size=65 bbWeight=1 PerfScore 17.25
G_M7440_IG05: ; bbWeight=1, epilog, nogc, extend
add rsp, 80
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 154, prolog size 10, PerfScore 37.50, instruction count 41, allocated bytes for code 154 (MethodHash=8f3be2ef) for method System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
+; Total bytes of code 139, prolog size 10, PerfScore 37.50, instruction count 41, allocated bytes for code 139 (MethodHash=8f3be2ef) for method System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
; ============================================================
Unwind Info:
-6 (-8.96%) : 4082.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
@@ -21,12 +21,12 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x14], edx
;; size=21 bbWeight=1 PerfScore 4.75
G_M42870_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov edi, dword ptr [rbp-0x14]
- movsx rdi, di
- ror di, 8
- movzx rdi, di
- movsx rdi, di
- mov dword ptr [rbp-0x20], edi
+ mov eax, dword ptr [rbp-0x14]
+ cwde
+ ror ax, 8
+ movzx rax, ax
+ cwde
+ mov dword ptr [rbp-0x20], eax
mov rdi, bword ptr [rbp-0x10]
; byrRegs +[rdi]
mov rsi, qword ptr [rbp-0x08]
@@ -34,14 +34,14 @@ G_M42870_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; byrRegs -[rdi]
nop
- ;; size=40 bbWeight=1 PerfScore 9.00
+ ;; size=34 bbWeight=1 PerfScore 9.00
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 67, prolog size 10, PerfScore 15.50, instruction count 20, allocated bytes for code 67 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
+; Total bytes of code 61, prolog size 10, PerfScore 15.50, instruction count 20, allocated bytes for code 61 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
; ============================================================
Unwind Info:
-5 (-6.25%) : 9015.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumProcessingWork(short):this (Tier0)
@@ -20,14 +20,14 @@ G_M35089_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=17 bbWeight=1 PerfScore 3.75
G_M35089_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov edi, dword ptr [rbp-0x0C]
- movsx rdi, di
- test edi, edi
+ mov eax, dword ptr [rbp-0x0C]
+ cwde
+ xor edi, edi
+ test eax, eax
setge dil
- movzx rdi, dil
call [<unknown method>]
- mov esi, dword ptr [rbp-0x0C]
- movsx rsi, si
+ mov eax, dword ptr [rbp-0x0C]
+ movsx rsi, ax
xor edi, edi
call [<unknown method>]
mov dword ptr [rbp-0x10], eax
@@ -38,14 +38,14 @@ G_M35089_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; byrRegs -[rdi]
nop
- ;; size=57 bbWeight=1 PerfScore 16.75
+ ;; size=52 bbWeight=1 PerfScore 16.75
G_M35089_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 80, prolog size 10, PerfScore 22.25, instruction count 24, allocated bytes for code 80 (MethodHash=ddbd76ee) for method System.Threading.PortableThreadPool+ThreadCounts:set_NumProcessingWork(short):this (Tier0)
+; Total bytes of code 75, prolog size 10, PerfScore 22.25, instruction count 24, allocated bytes for code 75 (MethodHash=ddbd76ee) for method System.Threading.PortableThreadPool+ThreadCounts:set_NumProcessingWork(short):this (Tier0)
; ============================================================
Unwind Info:
+11 (+20.75%) : 925.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
@@ -7,36 +7,40 @@
;
; V00 TypeCtx [V00 ] ( 1, 1 ) long -> [rbp-0x10] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [rbp-0x18]
;
-; Lcl frame size = 16
+; Lcl frame size = 32
G_M53231_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 16
- lea rbp, [rsp+0x10]
+ sub rsp, 32
+ lea rbp, [rsp+0x20]
+ xor eax, eax
+ mov qword ptr [rbp-0x18], rax
mov qword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rdi
- ;; size=18 bbWeight=1 PerfScore 3.75
+ ;; size=24 bbWeight=1 PerfScore 5.00
G_M53231_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rdi, qword ptr [rbp-0x10]
call CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[rax]
- mov rcx, rax
- ; byrRegs +[rcx]
+ mov bword ptr [rbp-0x18], rax
mov eax, 512
; byrRegs -[rax]
- mov edi, 8
+ mov ecx, 8
xor edx, edx
- div edx:eax, edi
+ div edx:eax, ecx
+ mov rcx, bword ptr [rbp-0x18]
+ ; byrRegs +[rcx]
mov dword ptr [rcx+0x08], eax
- ;; size=29 bbWeight=1 PerfScore 29.00
+ ;; size=34 bbWeight=1 PerfScore 30.75
G_M53231_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 16
+ add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 53, prolog size 14, PerfScore 34.50, instruction count 16, allocated bytes for code 53 (MethodHash=b7083010) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
+; Total bytes of code 64, prolog size 20, PerfScore 37.50, instruction count 19, allocated bytes for code 64 (MethodHash=b7083010) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
; ============================================================
Unwind Info:
@@ -49,5 +53,5 @@ Unwind Info:
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 39809.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Tier0)
@@ -5,43 +5,48 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x18] do-not-enreg[] this
-; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x10] do-not-enreg[] this
+; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x20]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 24
+ sub rsp, 32
lea rbp, [rsp+0x20]
- mov qword ptr [rbp-0x10], rsi
- mov bword ptr [rbp-0x18], rdi
- mov qword ptr [rbp-0x20], rsi
- ;; size=23 bbWeight=1 PerfScore 5.75
+ xor eax, eax
+ mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x08], rsi
+ mov bword ptr [rbp-0x10], rdi
+ mov qword ptr [rbp-0x18], rsi
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, bword ptr [rbp-0x18]
- ; byrRegs +[rdi]
- mov rbx, gword ptr [rdi]
- ; gcrRegs +[rbx]
- mov rdi, qword ptr [rbp-0x20]
- ; byrRegs -[rdi]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp-0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x20], rax
+ mov rdi, qword ptr [rbp-0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x20]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 24
- pop rbx
+ add rsp, 32
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 2 * 8 + 8 = 24 = 0x18
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+16 (+21.62%) : 36750.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
@@ -8,54 +8,58 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Queue>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp-0x0C] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x18]
;
-; Lcl frame size = 16
+; Lcl frame size = 32
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 16
- lea rbp, [rsp+0x10]
+ sub rsp, 32
+ lea rbp, [rsp+0x20]
+ xor eax, eax
+ mov qword ptr [rbp-0x18], rax
mov gword ptr [rbp-0x08], rdi
mov dword ptr [rbp-0x0C], esi
- ;; size=17 bbWeight=1 PerfScore 3.75
+ ;; size=23 bbWeight=1 PerfScore 5.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rbp-0x08]
; gcrRegs +[rax]
- mov rcx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x18], rax
+ mov rcx, gword ptr [rbp-0x08]
; gcrRegs +[rcx]
- mov rax, gword ptr [rbp-0x08]
- mov eax, dword ptr [rax+0x10]
+ mov ecx, dword ptr [rcx+0x10]
+ ; gcrRegs -[rcx]
+ mov eax, ecx
; gcrRegs -[rax]
add eax, dword ptr [rbp-0x0C]
- mov rdx, gword ptr [rbp-0x08]
- ; gcrRegs +[rdx]
- mov rdi, gword ptr [rdx+0x08]
- ; gcrRegs +[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov rcx, gword ptr [rcx+0x08]
cdq
- ; gcrRegs -[rdx]
- idiv edx:eax, dword ptr [rdi+0x08]
+ idiv edx:eax, dword ptr [rcx+0x08]
+ mov rcx, gword ptr [rbp-0x18]
cmp edx, dword ptr [rcx+0x08]
jae SHORT G_M41139_IG04
mov eax, edx
- lea rcx, bword ptr [rcx+8*rax+0x10]
- ; gcrRegs -[rcx]
- ; byrRegs +[rcx]
- mov rax, gword ptr [rcx]
+ lea rax, bword ptr [rcx+8*rax+0x10]
+ ; byrRegs +[rax]
+ mov rax, gword ptr [rax]
; gcrRegs +[rax]
- ;; size=45 bbWeight=1 PerfScore 43.75
+ ; byrRegs -[rax]
+ ;; size=55 bbWeight=1 PerfScore 46.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 16
+ add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
G_M41139_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[rax rdi]
- ; byrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 74, prolog size 10, PerfScore 49.25, instruction count 24, allocated bytes for code 74 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
+; Total bytes of code 90, prolog size 16, PerfScore 52.75, instruction count 29, allocated bytes for code 90 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
; ============================================================
Unwind Info:
@@ -68,5 +72,5 @@ Unwind Info:
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
coreclr_tests.run.linux.x64.checked.mch
-15 (-9.74%) : 469510.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
@@ -34,32 +34,32 @@ G_M7440_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[rdi]
call [<unknown method>]
; gcrRegs -[rdi]
- mov r9d, dword ptr [rbp+0x10]
- movzx r9, r9b
- test r9d, r9d
+ mov eax, dword ptr [rbp+0x10]
+ movzx rax, al
+ test eax, eax
jne SHORT G_M7440_IG03
- xor r9d, r9d
- mov dword ptr [rbp-0x30], r9d
+ xor eax, eax
+ mov dword ptr [rbp-0x30], eax
jmp SHORT G_M7440_IG04
- ;; size=32 bbWeight=1 PerfScore 9.75
+ ;; size=27 bbWeight=1 PerfScore 9.75
G_M7440_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov dword ptr [rbp-0x30], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M7440_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9d, dword ptr [rbp-0x30]
- mov dword ptr [rbp-0x2C], r9d
- mov r9d, dword ptr [rbp-0x2C]
- mov dword ptr [rsp], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x08], r9d
- xor r9, r9
- ; gcrRegs +[r9]
- mov gword ptr [rsp+0x10], r9
- xor r9d, r9d
- ; gcrRegs -[r9]
- mov dword ptr [rsp+0x18], r9d
- mov r9d, dword ptr [rbp-0x28]
- movzx r9, r9b
+ mov eax, dword ptr [rbp-0x30]
+ mov dword ptr [rbp-0x2C], eax
+ mov eax, dword ptr [rbp-0x2C]
+ mov dword ptr [rsp], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x08], eax
+ xor rax, rax
+ ; gcrRegs +[rax]
+ mov gword ptr [rsp+0x10], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rsp+0x18], eax
+ mov eax, dword ptr [rbp-0x28]
+ movzx r9, al
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov rsi, gword ptr [rbp-0x10]
@@ -72,14 +72,14 @@ G_M7440_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs -[rcx rdx rsi rdi]
nop
- ;; size=75 bbWeight=1 PerfScore 17.25
+ ;; size=65 bbWeight=1 PerfScore 17.25
G_M7440_IG05: ; bbWeight=1, epilog, nogc, extend
add rsp, 80
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 154, prolog size 10, PerfScore 37.50, instruction count 41, allocated bytes for code 154 (MethodHash=8f3be2ef) for method System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
+; Total bytes of code 139, prolog size 10, PerfScore 37.50, instruction count 41, allocated bytes for code 139 (MethodHash=8f3be2ef) for method System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
; ============================================================
Unwind Info:
-6 (-8.70%) : 608019.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
@@ -19,30 +19,30 @@ G_M18391_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=17 bbWeight=1 PerfScore 3.75
G_M18391_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov esi, dword ptr [rbp-0x0C]
- movsx rsi, si
- movzx rsi, sil
+ mov eax, dword ptr [rbp-0x0C]
+ cwde
+ movzx rsi, al
mov rdi, bword ptr [rbp-0x08]
; byrRegs +[rdi]
call [<unknown method>]
; byrRegs -[rdi]
- mov esi, dword ptr [rbp-0x0C]
- movsx rsi, si
- sar esi, 8
- movzx rsi, sil
+ mov eax, dword ptr [rbp-0x0C]
+ cwde
+ sar eax, 8
+ movzx rsi, al
mov rdi, bword ptr [rbp-0x08]
; byrRegs +[rdi]
call [<unknown method>]
; byrRegs -[rdi]
nop
- ;; size=46 bbWeight=1 PerfScore 11.75
+ ;; size=40 bbWeight=1 PerfScore 11.75
G_M18391_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 69, prolog size 10, PerfScore 17.25, instruction count 20, allocated bytes for code 69 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
+; Total bytes of code 63, prolog size 10, PerfScore 17.25, instruction count 20, allocated bytes for code 63 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
; ============================================================
Unwind Info:
-6 (-8.70%) : 630299.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
@@ -19,30 +19,30 @@ G_M18391_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=17 bbWeight=1 PerfScore 3.75
G_M18391_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov esi, dword ptr [rbp-0x0C]
- movsx rsi, si
- movzx rsi, sil
+ mov eax, dword ptr [rbp-0x0C]
+ cwde
+ movzx rsi, al
mov rdi, bword ptr [rbp-0x08]
; byrRegs +[rdi]
call [<unknown method>]
; byrRegs -[rdi]
- mov esi, dword ptr [rbp-0x0C]
- movsx rsi, si
- sar esi, 8
- movzx rsi, sil
+ mov eax, dword ptr [rbp-0x0C]
+ cwde
+ sar eax, 8
+ movzx rsi, al
mov rdi, bword ptr [rbp-0x08]
; byrRegs +[rdi]
call [<unknown method>]
; byrRegs -[rdi]
nop
- ;; size=46 bbWeight=1 PerfScore 11.75
+ ;; size=40 bbWeight=1 PerfScore 11.75
G_M18391_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 69, prolog size 10, PerfScore 17.25, instruction count 20, allocated bytes for code 69 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
+; Total bytes of code 63, prolog size 10, PerfScore 17.25, instruction count 20, allocated bytes for code 63 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
; ============================================================
Unwind Info:
+12 (+21.43%) : 484217.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Instrumented Tier0)
@@ -5,43 +5,48 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x18] do-not-enreg[] this
-; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x10] do-not-enreg[] this
+; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x20]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 24
+ sub rsp, 32
lea rbp, [rsp+0x20]
- mov qword ptr [rbp-0x10], rsi
- mov bword ptr [rbp-0x18], rdi
- mov qword ptr [rbp-0x20], rsi
- ;; size=23 bbWeight=1 PerfScore 5.75
+ xor eax, eax
+ mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x08], rsi
+ mov bword ptr [rbp-0x10], rdi
+ mov qword ptr [rbp-0x18], rsi
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, bword ptr [rbp-0x18]
- ; byrRegs +[rdi]
- mov rbx, gword ptr [rdi]
- ; gcrRegs +[rbx]
- mov rdi, qword ptr [rbp-0x20]
- ; byrRegs -[rdi]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp-0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x20], rax
+ mov rdi, qword ptr [rbp-0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x20]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 24
- pop rbx
+ add rsp, 32
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 2 * 8 + 8 = 24 = 0x18
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 479814.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Tier0)
@@ -5,43 +5,48 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x18] do-not-enreg[] this
-; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) byref -> [rbp-0x10] do-not-enreg[] this
+; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x20]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 24
+ sub rsp, 32
lea rbp, [rsp+0x20]
- mov qword ptr [rbp-0x10], rsi
- mov bword ptr [rbp-0x18], rdi
- mov qword ptr [rbp-0x20], rsi
- ;; size=23 bbWeight=1 PerfScore 5.75
+ xor eax, eax
+ mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x08], rsi
+ mov bword ptr [rbp-0x10], rdi
+ mov qword ptr [rbp-0x18], rsi
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, bword ptr [rbp-0x18]
- ; byrRegs +[rdi]
- mov rbx, gword ptr [rdi]
- ; gcrRegs +[rbx]
- mov rdi, qword ptr [rbp-0x20]
- ; byrRegs -[rdi]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp-0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x20], rax
+ mov rdi, qword ptr [rbp-0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x20]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 24
- pop rbx
+ add rsp, 32
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 2 * 8 + 8 = 24 = 0x18
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+15 (+22.73%) : 611664.dasm - Internal.TypeSystem.MethodSignature:get_EmbeddedSignatureMismatchPermitted():ubyte:this (Tier0)
@@ -5,40 +5,43 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x10] do-not-enreg[] this class-hnd <Internal.TypeSystem.MethodSignature>
+; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <Internal.TypeSystem.MethodSignature>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M16988_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- push rax
+ sub rsp, 16
lea rbp, [rsp+0x10]
- mov gword ptr [rbp-0x10], rdi
- ;; size=12 bbWeight=1 PerfScore 4.50
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov gword ptr [rbp-0x08], rdi
+ ;; size=20 bbWeight=1 PerfScore 4.00
G_M16988_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, gword ptr [rbp-0x10]
- ; gcrRegs +[rdi]
- mov rbx, gword ptr [rdi+0x18]
- ; gcrRegs +[rbx]
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov rax, gword ptr [rax+0x18]
+ mov gword ptr [rbp-0x10], rax
mov rdi, 0xD1FFAB1E
- ; gcrRegs -[rdi]
mov esi, 80
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
+ ; gcrRegs -[rax]
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- cmp rbx, gword ptr [rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax]
sete al
movzx rax, al
- ;; size=47 bbWeight=1 PerfScore 9.00
+ ;; size=55 bbWeight=1 PerfScore 11.00
G_M16988_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 8
- pop rbx
+ add rsp, 16
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 66, prolog size 8, PerfScore 15.75, instruction count 18, allocated bytes for code 66 (MethodHash=956fbda3) for method Internal.TypeSystem.MethodSignature:get_EmbeddedSignatureMismatchPermitted():ubyte:this (Tier0)
+; Total bytes of code 81, prolog size 16, PerfScore 16.75, instruction count 20, allocated bytes for code 81 (MethodHash=956fbda3) for method Internal.TypeSystem.MethodSignature:get_EmbeddedSignatureMismatchPermitted():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -46,11 +49,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x03
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 0 * 8 + 8 = 8 = 0x08
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
libraries.crossgen2.linux.x64.checked.mch
-2 (-1.79%) : 6602.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -27,24 +27,24 @@ G_M28342_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea rdi, [rbp-0x10]
call [<unknown method>]
- cvttsd2si rdi, xmm0
- mov qword ptr [rbp-0x18], rdi
- mov edi, -1
- movsxd rdi, edi
- cmp qword ptr [rbp-0x18], rdi
+ cvttsd2si rax, xmm0
+ mov qword ptr [rbp-0x18], rax
+ mov eax, -1
+ cdqe
+ cmp qword ptr [rbp-0x18], rax
jl SHORT G_M28342_IG03
- mov edi, 0xD1FFAB1E
- movsxd rdi, edi
- cmp qword ptr [rbp-0x18], rdi
+ mov eax, 0xD1FFAB1E
+ cdqe
+ cmp qword ptr [rbp-0x18], rax
jle SHORT G_M28342_IG04
- ;; size=47 bbWeight=1 PerfScore 17.50
+ ;; size=45 bbWeight=1 PerfScore 17.50
G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 62
call [<unknown method>]
;; size=11 bbWeight=1 PerfScore 3.25
G_M28342_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor edi, edi
- mov gword ptr [rbp-0x20], rdi
+ xor eax, eax
+ mov gword ptr [rbp-0x20], rax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov esi, dword ptr [rbp-0x18]
@@ -60,7 +60,7 @@ G_M28342_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 112, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 112 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
+; Total bytes of code 110, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 110 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
; ============================================================
Unwind Info:
-2 (-1.79%) : 6607.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -27,24 +27,24 @@ G_M50957_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea rdi, [rbp-0x10]
call [<unknown method>]
- cvttsd2si rdi, xmm0
- mov qword ptr [rbp-0x18], rdi
- mov edi, -1
- movsxd rdi, edi
- cmp qword ptr [rbp-0x18], rdi
+ cvttsd2si rax, xmm0
+ mov qword ptr [rbp-0x18], rax
+ mov eax, -1
+ cdqe
+ cmp qword ptr [rbp-0x18], rax
jl SHORT G_M50957_IG03
- mov edi, 0xD1FFAB1E
- movsxd rdi, edi
- cmp qword ptr [rbp-0x18], rdi
+ mov eax, 0xD1FFAB1E
+ cdqe
+ cmp qword ptr [rbp-0x18], rax
jle SHORT G_M50957_IG04
- ;; size=47 bbWeight=1 PerfScore 17.50
+ ;; size=45 bbWeight=1 PerfScore 17.50
G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 62
call [<unknown method>]
;; size=11 bbWeight=1 PerfScore 3.25
G_M50957_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor edi, edi
- mov gword ptr [rbp-0x20], rdi
+ xor eax, eax
+ mov gword ptr [rbp-0x20], rax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov esi, dword ptr [rbp-0x18]
@@ -60,7 +60,7 @@ G_M50957_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 112, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 112 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
+; Total bytes of code 110, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 110 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
; ============================================================
Unwind Info:
-1 (-0.93%) : 6606.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -24,8 +24,8 @@ G_M30483_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x08], rdi
;; size=20 bbWeight=1 PerfScore 4.00
G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- xor edi, edi
- mov gword ptr [rbp-0x18], rdi
+ xor eax, eax
+ mov gword ptr [rbp-0x18], rax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov rdx, gword ptr [rbp-0x18]
@@ -34,23 +34,23 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rdx rdi]
mov dword ptr [rbp-0x0C], eax
- mov rsi, gword ptr [rbp-0x08]
- ; gcrRegs +[rsi]
- cmp dword ptr [rsi+0x08], 0
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x08], 0
je SHORT G_M30483_IG03
- xor esi, esi
- ; gcrRegs -[rsi]
+ xor eax, eax
+ ; gcrRegs -[rax]
cmp dword ptr [rbp-0x0C], -1
- setne sil
- mov dword ptr [rbp-0x1C], esi
+ setne al
+ mov dword ptr [rbp-0x1C], eax
jmp SHORT G_M30483_IG04
- ;; size=53 bbWeight=1 PerfScore 18.75
+ ;; size=52 bbWeight=1 PerfScore 18.75
G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov dword ptr [rbp-0x1C], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rsi, qword ptr [(reloc)] ; const ptr
- mov rsi, gword ptr [rsi]
+ mov rax, qword ptr [(reloc)] ; const ptr
+ mov rsi, gword ptr [rax]
; gcrRegs +[rsi]
mov edi, dword ptr [rbp-0x1C]
call [<unknown method>]
@@ -63,7 +63,7 @@ G_M30483_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 108, prolog size 16, PerfScore 34.50, instruction count 30, allocated bytes for code 108 (MethodHash=1f4588ec) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
+; Total bytes of code 107, prolog size 16, PerfScore 34.50, instruction count 30, allocated bytes for code 107 (MethodHash=1f4588ec) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
; ============================================================
Unwind Info:
+0 (0.00%) : 20401.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
@@ -26,8 +26,8 @@ G_M56207_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
mov dword ptr [rbp-0x0C], eax
mov edi, dword ptr [rbp-0x0C]
- mov rsi, qword ptr [(reloc)] ; const ptr
- mov rsi, gword ptr [rsi]
+ mov rax, qword ptr [(reloc)] ; const ptr
+ mov rsi, gword ptr [rax]
; gcrRegs +[rsi]
call [<unknown method>]
; gcrRegs -[rsi]
+0 (0.00%) : 6603.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],int):ubyte (MinOpts)
@@ -24,8 +24,8 @@ G_M4887_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=23 bbWeight=1 PerfScore 5.00
G_M4887_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor edi, edi
- mov gword ptr [rbp-0x18], rdi
+ xor eax, eax
+ mov gword ptr [rbp-0x18], rax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov esi, dword ptr [rbp-0x0C]
+1 (+0.61%) : 160536.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -46,10 +46,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
lea rdi, [rbp-0x10]
call [<unknown method>]
mov dword ptr [rbp-0x24], eax
- xor edi, edi
- mov dword ptr [rbp-0x28], edi
- xor edi, edi
- mov dword ptr [rbp-0x2C], edi
+ xor eax, eax
+ mov dword ptr [rbp-0x28], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x2C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -57,24 +57,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov esi, dword ptr [rbp-0x2C]
call [<unknown method>]
; byrRegs +[rax]
- movzx rdi, byte ptr [rax]
- mov dword ptr [rbp-0x34], edi
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x34], eax
lea rdi, [rbp-0x20]
mov esi, dword ptr [rbp-0x2C]
call [<unknown method>]
+ ; byrRegs +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x34]
sub ecx, eax
- or ecx, dword ptr [rbp-0x28]
- mov dword ptr [rbp-0x28], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x28]
+ mov dword ptr [rbp-0x28], eax
mov eax, dword ptr [rbp-0x2C]
inc eax
mov dword ptr [rbp-0x2C], eax
- ;; size=55 bbWeight=1 PerfScore 20.50
+ ;; size=56 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov edi, dword ptr [rbp-0x2C]
- cmp edi, dword ptr [rbp-0x24]
+ mov eax, dword ptr [rbp-0x2C]
+ cmp eax, dword ptr [rbp-0x24]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x28], 0
@@ -86,7 +89,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 165, prolog size 10, PerfScore 57.25, instruction count 51, allocated bytes for code 165 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 166, prolog size 10, PerfScore 57.50, instruction count 52, allocated bytes for code 166 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
libraries.pmi.linux.x64.checked.mch
-14 (-0.01%) : 84665.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
@@ -1340,33 +1340,33 @@ G_M12913_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x18], rax
cmp gword ptr [rbp-0x18], 0
je SHORT G_M12913_IG05
- mov rdx, gword ptr [rbp-0x18]
- ; gcrRegs +[rdx]
- mov rdx, gword ptr [rdx+0x08]
- mov gword ptr [rbp-0x20], rdx
+ mov rax, gword ptr [rbp-0x18]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x20], rax
;; size=33 bbWeight=1 PerfScore 12.00
G_M12913_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax rdx]
- mov rdx, gword ptr [rbp-0x08]
+ ; gcrRegs -[rax]
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov rdx, gword ptr [rax+0x08]
; gcrRegs +[rdx]
- mov rdx, gword ptr [rdx+0x08]
mov rsi, gword ptr [rbp-0x20]
; gcrRegs +[rsi]
mov rdi, 0xD1FFAB1E ; <unknown method>
call [<unknown method>]
- ; gcrRegs -[rdx rsi] +[rax]
+ ; gcrRegs -[rdx rsi]
; gcr arg pop 0
mov gword ptr [rbp-0x28], rax
;; size=32 bbWeight=1 PerfScore 8.25
G_M12913_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
- mov rdi, gword ptr [rbp-0x28]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x13D0], rdi
+ mov rax, gword ptr [rbp-0x28]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x13D0], rax
jmp G_M12913_IG764
;; size=16 bbWeight=1 PerfScore 4.00
G_M12913_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rax]
mov rdi, gword ptr [rbp-0x10]
; gcrRegs +[rdi]
call [<unknown method>]
@@ -1375,16 +1375,16 @@ G_M12913_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x50], rax
cmp gword ptr [rbp-0x50], 0
je SHORT G_M12913_IG06
- mov rdi, gword ptr [rbp-0x50]
+ mov rax, gword ptr [rbp-0x50]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x58], rax
- mov rdi, gword ptr [rbp-0x50]
+ mov rax, gword ptr [rbp-0x50]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -1425,16 +1425,16 @@ G_M12913_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x68], rax
cmp gword ptr [rbp-0x68], 0
je SHORT G_M12913_IG07
- mov rdi, gword ptr [rbp-0x68]
+ mov rax, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x58], rax
- mov rdi, gword ptr [rbp-0x68]
+ mov rax, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -1475,16 +1475,16 @@ G_M12913_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x70], rax
cmp gword ptr [rbp-0x70], 0
je SHORT G_M12913_IG08
- mov rdi, gword ptr [rbp-0x70]
+ mov rax, gword ptr [rbp-0x70]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x78], rax
- mov rdi, gword ptr [rbp-0x70]
+ mov rax, gword ptr [rbp-0x70]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -1519,9 +1519,9 @@ G_M12913_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x88], rax
cmp gword ptr [rbp-0x88], 0
je G_M12913_IG14
- mov rdi, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rbp-0x88]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -1538,47 +1538,45 @@ G_M12913_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x90], rax
cmp gword ptr [rbp-0x90], 0
je SHORT G_M12913_IG09
- mov rdi, gword ptr [rbp-0x90]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x08], 1
- sete dil
- ; gcrRegs -[rdi]
- movzx rdi, dil
- mov dword ptr [rbp-0x137C], edi
- jmp SHORT G_M12913_IG10
- ;; size=154 bbWeight=1 PerfScore 46.25
-G_M12913_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov rax, gword ptr [rbp-0x90]
+ cmp dword ptr [rax+0x08], 1
+ sete al
; gcrRegs -[rax]
- xor edi, edi
- mov dword ptr [rbp-0x137C], edi
+ movzx rax, al
+ mov dword ptr [rbp-0x137C], eax
+ jmp SHORT G_M12913_IG10
+ ;; size=152 bbWeight=1 PerfScore 46.25
+G_M12913_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ xor eax, eax
+ mov dword ptr [rbp-0x137C], eax
;; size=8 bbWeight=1 PerfScore 1.25
G_M12913_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [rbp-0x137C], 0
je G_M12913_IG13
- mov rdi, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rbp-0x88]
+ ; gcrRegs +[rax]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rdi]
; gcr arg pop 0
cmp gword ptr [rax+0x10], 0
je G_M12913_IG12
- mov rdi, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rbp-0x88]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x98], rax
- mov rdi, gword ptr [rbp-0x98]
- ; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x10]
- cmp gword ptr [rdi+0x10], 0
+ mov rax, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rax+0x10]
+ cmp gword ptr [rax+0x10], 0
jne SHORT G_M12913_IG11
jmp G_M12913_IG15
;; size=88 bbWeight=1 PerfScore 29.00
G_M12913_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax rdi]
+ ; gcrRegs -[rax]
mov rdi, gword ptr [rbp-0x10]
; gcrRegs +[rdi]
call [<unknown method>]
@@ -1587,27 +1585,26 @@ G_M12913_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov gword ptr [rbp-0xA0], rax
cmp gword ptr [rbp-0xA0], 0
je G_M12913_IG19
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xA0]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x1398], rax
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xA0]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x80], rax
- mov rdi, gword ptr [rbp-0x1398]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x58], rdi
+ mov rax, gword ptr [rbp-0x1398]
+ mov gword ptr [rbp-0x58], rax
jmp G_M12913_IG16
;; size=92 bbWeight=1 PerfScore 26.00
G_M12913_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax rdi]
+ ; gcrRegs -[rax]
mov rdi, gword ptr [rbp-0x10]
; gcrRegs +[rdi]
call [<unknown method>]
@@ -1616,27 +1613,26 @@ G_M12913_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov gword ptr [rbp-0xA0], rax
cmp gword ptr [rbp-0xA0], 0
je G_M12913_IG19
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xA0]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x1390], rax
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xA0]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
- mov rdi, gword ptr [rdi+0x08]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x80], rax
- mov rdi, gword ptr [rbp-0x1390]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x58], rdi
+ mov rax, gword ptr [rbp-0x1390]
...
+1 (+0.61%) : 206442.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -44,10 +44,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
lea rdi, [rbp-0x10]
call [<unknown method>]
mov dword ptr [rbp-0x24], eax
- xor edi, edi
- mov dword ptr [rbp-0x28], edi
- xor edi, edi
- mov dword ptr [rbp-0x2C], edi
+ xor eax, eax
+ mov dword ptr [rbp-0x28], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x2C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -55,24 +55,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov esi, dword ptr [rbp-0x2C]
call [<unknown method>]
; byrRegs +[rax]
- movzx rdi, byte ptr [rax]
- mov dword ptr [rbp-0x34], edi
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x34], eax
lea rdi, [rbp-0x20]
mov esi, dword ptr [rbp-0x2C]
call [<unknown method>]
+ ; byrRegs +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x34]
sub ecx, eax
- or ecx, dword ptr [rbp-0x28]
- mov dword ptr [rbp-0x28], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x28]
+ mov dword ptr [rbp-0x28], eax
mov eax, dword ptr [rbp-0x2C]
inc eax
mov dword ptr [rbp-0x2C], eax
- ;; size=55 bbWeight=1 PerfScore 20.50
+ ;; size=56 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov edi, dword ptr [rbp-0x2C]
- cmp edi, dword ptr [rbp-0x24]
+ mov eax, dword ptr [rbp-0x2C]
+ cmp eax, dword ptr [rbp-0x24]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x28], 0
@@ -84,7 +87,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 165, prolog size 10, PerfScore 57.25, instruction count 51, allocated bytes for code 165 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 166, prolog size 10, PerfScore 57.50, instruction count 52, allocated bytes for code 166 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
libraries_tests.run.linux.x64.Release.mch
-41 (-14.96%) : 163845.dasm - Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
@@ -26,86 +26,86 @@ G_M34103_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=31 bbWeight=1 PerfScore 6.00
G_M34103_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- xor edi, edi
- mov qword ptr [r9], rdi
- mov r9, bword ptr [rbp-0x08]
- mov edi, dword ptr [rbp-0x0C]
- mov dword ptr [r9], edi
- mov r9, bword ptr [rbp-0x08]
- cmp dword ptr [r9], 0
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ xor ecx, ecx
+ mov qword ptr [rax], rcx
+ mov rax, bword ptr [rbp-0x08]
+ mov ecx, dword ptr [rbp-0x0C]
+ mov dword ptr [rax], ecx
+ mov rax, bword ptr [rbp-0x08]
+ cmp dword ptr [rax], 0
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x10], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 1
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x18], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 2
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x14], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x08], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x10], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 4
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rsp+0x18], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp-0x14]
+ mov dword ptr [rsp+0x30], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x38], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x40], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x48], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x50], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ xor r9d, r9d
+ cmp dword ptr [rax], 3
sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x10], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 1
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x18], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 2
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x14], r9d
- xor r9d, r9d
- mov dword ptr [rbp-0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x08], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x10], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 4
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rsp+0x18], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x28], r9d
- mov r9d, dword ptr [rbp-0x14]
- mov dword ptr [rsp+0x30], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x38], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x40], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x48], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x50], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 3
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
lea rdi, [rbp-0x20]
mov esi, dword ptr [rbp-0x18]
mov edx, dword ptr [rbp-0x10]
xor ecx, ecx
xor r8d, r8d
call [<unknown method>]
+ ; byrRegs -[rax]
mov rax, bword ptr [rbp-0x08]
; byrRegs +[rax]
mov ecx, dword ptr [rbp-0x20]
mov dword ptr [rax+0x04], ecx
- ;; size=234 bbWeight=1 PerfScore 59.00
+ ;; size=193 bbWeight=1 PerfScore 59.00
G_M34103_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 128
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-; Total bytes of code 274, prolog size 24, PerfScore 66.75, instruction count 72, allocated bytes for code 274 (MethodHash=7e6b7ac8) for method Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
+; Total bytes of code 233, prolog size 24, PerfScore 66.75, instruction count 72, allocated bytes for code 233 (MethodHash=7e6b7ac8) for method Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
; ============================================================
Unwind Info:
-41 (-14.96%) : 170833.dasm - Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Instrumented Tier0)
@@ -26,86 +26,86 @@ G_M34103_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=31 bbWeight=1 PerfScore 6.00
G_M34103_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- xor edi, edi
- mov qword ptr [r9], rdi
- mov r9, bword ptr [rbp-0x08]
- mov edi, dword ptr [rbp-0x0C]
- mov dword ptr [r9], edi
- mov r9, bword ptr [rbp-0x08]
- cmp dword ptr [r9], 0
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ xor ecx, ecx
+ mov qword ptr [rax], rcx
+ mov rax, bword ptr [rbp-0x08]
+ mov ecx, dword ptr [rbp-0x0C]
+ mov dword ptr [rax], ecx
+ mov rax, bword ptr [rbp-0x08]
+ cmp dword ptr [rax], 0
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x10], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 1
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x18], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 2
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x14], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x08], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x10], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 4
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rsp+0x18], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp-0x14]
+ mov dword ptr [rsp+0x30], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x38], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x40], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x48], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x50], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ xor r9d, r9d
+ cmp dword ptr [rax], 3
sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x10], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 1
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x18], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 2
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x14], r9d
- xor r9d, r9d
- mov dword ptr [rbp-0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x08], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x10], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 4
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rsp+0x18], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x28], r9d
- mov r9d, dword ptr [rbp-0x14]
- mov dword ptr [rsp+0x30], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x38], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x40], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x48], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x50], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 3
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
lea rdi, [rbp-0x20]
mov esi, dword ptr [rbp-0x18]
mov edx, dword ptr [rbp-0x10]
xor ecx, ecx
xor r8d, r8d
call [<unknown method>]
+ ; byrRegs -[rax]
mov rax, bword ptr [rbp-0x08]
; byrRegs +[rax]
mov ecx, dword ptr [rbp-0x20]
mov dword ptr [rax+0x04], ecx
- ;; size=234 bbWeight=1 PerfScore 59.00
+ ;; size=193 bbWeight=1 PerfScore 59.00
G_M34103_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 128
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-; Total bytes of code 274, prolog size 24, PerfScore 66.75, instruction count 72, allocated bytes for code 274 (MethodHash=7e6b7ac8) for method Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Instrumented Tier0)
+; Total bytes of code 233, prolog size 24, PerfScore 66.75, instruction count 72, allocated bytes for code 233 (MethodHash=7e6b7ac8) for method Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Instrumented Tier0)
; ============================================================
Unwind Info:
-41 (-14.96%) : 148872.dasm - Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
@@ -26,86 +26,86 @@ G_M34103_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x0C], esi
;; size=31 bbWeight=1 PerfScore 6.00
G_M34103_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- xor edi, edi
- mov qword ptr [r9], rdi
- mov r9, bword ptr [rbp-0x08]
- mov edi, dword ptr [rbp-0x0C]
- mov dword ptr [r9], edi
- mov r9, bword ptr [rbp-0x08]
- cmp dword ptr [r9], 0
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ xor ecx, ecx
+ mov qword ptr [rax], rcx
+ mov rax, bword ptr [rbp-0x08]
+ mov ecx, dword ptr [rbp-0x0C]
+ mov dword ptr [rax], ecx
+ mov rax, bword ptr [rbp-0x08]
+ cmp dword ptr [rax], 0
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x10], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 1
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x18], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 2
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x14], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x08], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x10], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax], 4
+ sete al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rsp+0x18], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp-0x14]
+ mov dword ptr [rsp+0x30], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x38], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x40], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x48], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x50], eax
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ xor r9d, r9d
+ cmp dword ptr [rax], 3
sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x10], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 1
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x18], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 2
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rbp-0x14], r9d
- xor r9d, r9d
- mov dword ptr [rbp-0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x08], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x10], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 4
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
- mov dword ptr [rsp+0x18], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x28], r9d
- mov r9d, dword ptr [rbp-0x14]
- mov dword ptr [rsp+0x30], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x38], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x40], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x48], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x50], r9d
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- cmp dword ptr [r9], 3
- sete r9b
- ; byrRegs -[r9]
- movzx r9, r9b
lea rdi, [rbp-0x20]
mov esi, dword ptr [rbp-0x18]
mov edx, dword ptr [rbp-0x10]
xor ecx, ecx
xor r8d, r8d
call [<unknown method>]
+ ; byrRegs -[rax]
mov rax, bword ptr [rbp-0x08]
; byrRegs +[rax]
mov ecx, dword ptr [rbp-0x20]
mov dword ptr [rax+0x04], ecx
- ;; size=234 bbWeight=1 PerfScore 59.00
+ ;; size=193 bbWeight=1 PerfScore 59.00
G_M34103_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 128
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-; Total bytes of code 274, prolog size 24, PerfScore 66.75, instruction count 72, allocated bytes for code 274 (MethodHash=7e6b7ac8) for method Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
+; Total bytes of code 233, prolog size 24, PerfScore 66.75, instruction count 72, allocated bytes for code 233 (MethodHash=7e6b7ac8) for method Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
; ============================================================
Unwind Info:
+16 (+21.62%) : 619632.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
@@ -8,54 +8,58 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Queue>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp-0x0C] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x18]
;
-; Lcl frame size = 16
+; Lcl frame size = 32
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 16
- lea rbp, [rsp+0x10]
+ sub rsp, 32
+ lea rbp, [rsp+0x20]
+ xor eax, eax
+ mov qword ptr [rbp-0x18], rax
mov gword ptr [rbp-0x08], rdi
mov dword ptr [rbp-0x0C], esi
- ;; size=17 bbWeight=1 PerfScore 3.75
+ ;; size=23 bbWeight=1 PerfScore 5.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rbp-0x08]
; gcrRegs +[rax]
- mov rcx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x18], rax
+ mov rcx, gword ptr [rbp-0x08]
; gcrRegs +[rcx]
- mov rax, gword ptr [rbp-0x08]
- mov eax, dword ptr [rax+0x10]
+ mov ecx, dword ptr [rcx+0x10]
+ ; gcrRegs -[rcx]
+ mov eax, ecx
; gcrRegs -[rax]
add eax, dword ptr [rbp-0x0C]
- mov rdx, gword ptr [rbp-0x08]
- ; gcrRegs +[rdx]
- mov rdi, gword ptr [rdx+0x08]
- ; gcrRegs +[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov rcx, gword ptr [rcx+0x08]
cdq
- ; gcrRegs -[rdx]
- idiv edx:eax, dword ptr [rdi+0x08]
+ idiv edx:eax, dword ptr [rcx+0x08]
+ mov rcx, gword ptr [rbp-0x18]
cmp edx, dword ptr [rcx+0x08]
jae SHORT G_M41139_IG04
mov eax, edx
- lea rcx, bword ptr [rcx+8*rax+0x10]
- ; gcrRegs -[rcx]
- ; byrRegs +[rcx]
- mov rax, gword ptr [rcx]
+ lea rax, bword ptr [rcx+8*rax+0x10]
+ ; byrRegs +[rax]
+ mov rax, gword ptr [rax]
; gcrRegs +[rax]
- ;; size=45 bbWeight=1 PerfScore 43.75
+ ; byrRegs -[rax]
+ ;; size=55 bbWeight=1 PerfScore 46.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 16
+ add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
G_M41139_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[rax rdi]
- ; byrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 74, prolog size 10, PerfScore 49.25, instruction count 24, allocated bytes for code 74 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
+; Total bytes of code 90, prolog size 16, PerfScore 52.75, instruction count 29, allocated bytes for code 90 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -68,5 +72,5 @@ Unwind Info:
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+15 (+22.73%) : 730584.dasm - System.Threading.RateLimiting.TimerAwaitable:get_IsCompleted():ubyte:this (Tier0)
@@ -5,40 +5,43 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x10] do-not-enreg[] this class-hnd <System.Threading.RateLimiting.TimerAwaitable>
+; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Threading.RateLimiting.TimerAwaitable>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M20819_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- push rax
+ sub rsp, 16
lea rbp, [rsp+0x10]
- mov gword ptr [rbp-0x10], rdi
- ;; size=12 bbWeight=1 PerfScore 4.50
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov gword ptr [rbp-0x08], rdi
+ ;; size=20 bbWeight=1 PerfScore 4.00
G_M20819_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, gword ptr [rbp-0x10]
- ; gcrRegs +[rdi]
- mov rbx, gword ptr [rdi+0x10]
- ; gcrRegs +[rbx]
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov rax, gword ptr [rax+0x10]
+ mov gword ptr [rbp-0x10], rax
mov rdi, 0xD1FFAB1E
- ; gcrRegs -[rdi]
mov esi, 24
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
+ ; gcrRegs -[rax]
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- cmp rbx, gword ptr [rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax]
sete al
movzx rax, al
- ;; size=47 bbWeight=1 PerfScore 9.00
+ ;; size=55 bbWeight=1 PerfScore 11.00
G_M20819_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 8
- pop rbx
+ add rsp, 16
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 66, prolog size 8, PerfScore 15.75, instruction count 18, allocated bytes for code 66 (MethodHash=dbd4aeac) for method System.Threading.RateLimiting.TimerAwaitable:get_IsCompleted():ubyte:this (Tier0)
+; Total bytes of code 81, prolog size 16, PerfScore 16.75, instruction count 20, allocated bytes for code 81 (MethodHash=dbd4aeac) for method System.Threading.RateLimiting.TimerAwaitable:get_IsCompleted():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -46,11 +49,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x03
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 0 * 8 + 8 = 8 = 0x08
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+15 (+24.19%) : 79960.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
@@ -5,37 +5,42 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x10] do-not-enreg[] this class-hnd <Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions>
+; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M11670_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- push rax
+ sub rsp, 16
lea rbp, [rsp+0x10]
- mov gword ptr [rbp-0x10], rdi
- ;; size=12 bbWeight=1 PerfScore 4.50
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov gword ptr [rbp-0x08], rdi
+ ;; size=20 bbWeight=1 PerfScore 4.00
G_M11670_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rbx, gword ptr [rbp-0x10]
- ; gcrRegs +[rbx]
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x10], rax
mov rdi, 0xD1FFAB1E
mov esi, 38
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
+ ; gcrRegs -[rax]
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- cmp rbx, gword ptr [rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax]
sete al
movzx rax, al
- ;; size=43 bbWeight=1 PerfScore 7.00
+ ;; size=51 bbWeight=1 PerfScore 9.00
G_M11670_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 8
- pop rbx
+ add rsp, 16
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 62, prolog size 8, PerfScore 13.75, instruction count 17, allocated bytes for code 62 (MethodHash=a50fd269) for method Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
+; Total bytes of code 77, prolog size 16, PerfScore 14.75, instruction count 19, allocated bytes for code 77 (MethodHash=a50fd269) for method Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -43,11 +48,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x03
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 0 * 8 + 8 = 8 = 0x08
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
librariestestsnotieredcompilation.run.linux.x64.Release.mch
-7 (-2.98%) : 276989.dasm - System.Text.RegularExpressions.Generated.
@@ -44,21 +44,21 @@ G_M47980_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M47980_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
nop
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- mov edi, dword ptr [rdi+0x4C]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x1C], edi
- xor edi, edi
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov eax, dword ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x1C], eax
+ xor eax, eax
cmp dword ptr [rbp-0x1C], 3
- setge dil
- mov dword ptr [rbp-0x20], edi
+ setge al
+ mov dword ptr [rbp-0x20], eax
cmp dword ptr [rbp-0x20], 0
- je G_M47980_IG08
+ je SHORT G_M47980_IG08
nop
nop
jmp SHORT G_M47980_IG07
- ;; size=39 bbWeight=1 PerfScore 14.25
+ ;; size=34 bbWeight=1 PerfScore 14.25
G_M47980_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
lea rdi, [rbp-0x18]
@@ -91,36 +91,36 @@ G_M47980_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M47980_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov edi, dword ptr [rbp-0x1C]
- dec edi
- mov dword ptr [rbp-0x30], edi
- mov edi, dword ptr [rbp-0x1C]
- dec edi
- mov dword ptr [rbp-0x1C], edi
+ mov eax, dword ptr [rbp-0x1C]
+ dec eax
+ mov dword ptr [rbp-0x30], eax
+ mov eax, dword ptr [rbp-0x1C]
+ dec eax
+ mov dword ptr [rbp-0x1C], eax
lea rdi, [rbp-0x18]
call [<unknown method>]
; gcr arg pop 0
mov dword ptr [rbp-0x34], eax
- mov edi, dword ptr [rbp-0x30]
- cmp edi, dword ptr [rbp-0x34]
- setb dil
- movzx rdi, dil
- mov dword ptr [rbp-0x2C], edi
+ mov eax, dword ptr [rbp-0x30]
+ cmp eax, dword ptr [rbp-0x34]
+ setb al
+ movzx rax, al
+ mov dword ptr [rbp-0x2C], eax
cmp dword ptr [rbp-0x2C], 0
jne SHORT G_M47980_IG05
nop
- ;; size=53 bbWeight=1 PerfScore 17.50
+ ;; size=51 bbWeight=1 PerfScore 17.50
G_M47980_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, gword ptr [rbp-0x08]
; gcrRegs +[rax]
xor ecx, ecx
mov dword ptr [rax+0x4C], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x28], ecx
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x28], eax
nop
;; size=15 bbWeight=1 PerfScore 3.75
G_M47980_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax]
mov eax, dword ptr [rbp-0x28]
;; size=3 bbWeight=1 PerfScore 1.00
G_M47980_IG10: ; bbWeight=1, epilog, nogc, extend
@@ -129,7 +129,7 @@ G_M47980_IG10: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 235, prolog size 38, PerfScore 72.33, instruction count 76, allocated bytes for code 235 (MethodHash=c0264493) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get805_454+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
+; Total bytes of code 228, prolog size 38, PerfScore 72.33, instruction count 76, allocated bytes for code 228 (MethodHash=c0264493) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get805_454+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
; ============================================================
Unwind Info:
-7 (-2.98%) : 276986.dasm - System.Text.RegularExpressions.Generated.
@@ -44,21 +44,21 @@ G_M51178_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M51178_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
nop
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- mov edi, dword ptr [rdi+0x4C]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x1C], edi
- xor edi, edi
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov eax, dword ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x1C], eax
+ xor eax, eax
cmp dword ptr [rbp-0x1C], 0
- setg dil
- mov dword ptr [rbp-0x20], edi
+ setg al
+ mov dword ptr [rbp-0x20], eax
cmp dword ptr [rbp-0x20], 0
- je G_M51178_IG08
+ je SHORT G_M51178_IG08
nop
nop
jmp SHORT G_M51178_IG07
- ;; size=39 bbWeight=1 PerfScore 14.25
+ ;; size=34 bbWeight=1 PerfScore 14.25
G_M51178_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
lea rdi, [rbp-0x18]
@@ -91,36 +91,36 @@ G_M51178_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M51178_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov edi, dword ptr [rbp-0x1C]
- dec edi
- mov dword ptr [rbp-0x30], edi
- mov edi, dword ptr [rbp-0x1C]
- dec edi
- mov dword ptr [rbp-0x1C], edi
+ mov eax, dword ptr [rbp-0x1C]
+ dec eax
+ mov dword ptr [rbp-0x30], eax
+ mov eax, dword ptr [rbp-0x1C]
+ dec eax
+ mov dword ptr [rbp-0x1C], eax
lea rdi, [rbp-0x18]
call [<unknown method>]
; gcr arg pop 0
mov dword ptr [rbp-0x34], eax
- mov edi, dword ptr [rbp-0x30]
- cmp edi, dword ptr [rbp-0x34]
- setb dil
- movzx rdi, dil
- mov dword ptr [rbp-0x2C], edi
+ mov eax, dword ptr [rbp-0x30]
+ cmp eax, dword ptr [rbp-0x34]
+ setb al
+ movzx rax, al
+ mov dword ptr [rbp-0x2C], eax
cmp dword ptr [rbp-0x2C], 0
jne SHORT G_M51178_IG05
nop
- ;; size=53 bbWeight=1 PerfScore 17.50
+ ;; size=51 bbWeight=1 PerfScore 17.50
G_M51178_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, gword ptr [rbp-0x08]
; gcrRegs +[rax]
xor ecx, ecx
mov dword ptr [rax+0x4C], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x28], ecx
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x28], eax
nop
;; size=15 bbWeight=1 PerfScore 3.75
G_M51178_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax]
mov eax, dword ptr [rbp-0x28]
;; size=3 bbWeight=1 PerfScore 1.00
G_M51178_IG10: ; bbWeight=1, epilog, nogc, extend
@@ -129,7 +129,7 @@ G_M51178_IG10: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 235, prolog size 38, PerfScore 72.33, instruction count 76, allocated bytes for code 235 (MethodHash=ba763815) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get804_453+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
+; Total bytes of code 228, prolog size 38, PerfScore 72.33, instruction count 76, allocated bytes for code 228 (MethodHash=ba763815) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get804_453+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
; ============================================================
Unwind Info:
-7 (-2.98%) : 276939.dasm - System.Text.RegularExpressions.Generated.
@@ -44,21 +44,21 @@ G_M55407_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M55407_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
nop
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- mov edi, dword ptr [rdi+0x4C]
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x1C], edi
- xor edi, edi
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov eax, dword ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x1C], eax
+ xor eax, eax
cmp dword ptr [rbp-0x1C], 4
- setge dil
- mov dword ptr [rbp-0x20], edi
+ setge al
+ mov dword ptr [rbp-0x20], eax
cmp dword ptr [rbp-0x20], 0
- je G_M55407_IG08
+ je SHORT G_M55407_IG08
nop
nop
jmp SHORT G_M55407_IG07
- ;; size=39 bbWeight=1 PerfScore 14.25
+ ;; size=34 bbWeight=1 PerfScore 14.25
G_M55407_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
lea rdi, [rbp-0x18]
@@ -91,36 +91,36 @@ G_M55407_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M55407_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov edi, dword ptr [rbp-0x1C]
- dec edi
- mov dword ptr [rbp-0x30], edi
- mov edi, dword ptr [rbp-0x1C]
- dec edi
- mov dword ptr [rbp-0x1C], edi
+ mov eax, dword ptr [rbp-0x1C]
+ dec eax
+ mov dword ptr [rbp-0x30], eax
+ mov eax, dword ptr [rbp-0x1C]
+ dec eax
+ mov dword ptr [rbp-0x1C], eax
lea rdi, [rbp-0x18]
call [<unknown method>]
; gcr arg pop 0
mov dword ptr [rbp-0x34], eax
- mov edi, dword ptr [rbp-0x30]
- cmp edi, dword ptr [rbp-0x34]
- setb dil
- movzx rdi, dil
- mov dword ptr [rbp-0x2C], edi
+ mov eax, dword ptr [rbp-0x30]
+ cmp eax, dword ptr [rbp-0x34]
+ setb al
+ movzx rax, al
+ mov dword ptr [rbp-0x2C], eax
cmp dword ptr [rbp-0x2C], 0
jne SHORT G_M55407_IG05
nop
- ;; size=53 bbWeight=1 PerfScore 17.50
+ ;; size=51 bbWeight=1 PerfScore 17.50
G_M55407_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, gword ptr [rbp-0x08]
; gcrRegs +[rax]
xor ecx, ecx
mov dword ptr [rax+0x4C], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x28], ecx
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x28], eax
nop
;; size=15 bbWeight=1 PerfScore 3.75
G_M55407_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax]
mov eax, dword ptr [rbp-0x28]
;; size=3 bbWeight=1 PerfScore 1.00
G_M55407_IG10: ; bbWeight=1, epilog, nogc, extend
@@ -129,7 +129,7 @@ G_M55407_IG10: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 235, prolog size 38, PerfScore 72.33, instruction count 76, allocated bytes for code 235 (MethodHash=88502790) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get784_440+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
+; Total bytes of code 228, prolog size 38, PerfScore 72.33, instruction count 76, allocated bytes for code 228 (MethodHash=88502790) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get784_440+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
; ============================================================
Unwind Info:
+2 (+0.83%) : 169827.dasm - System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
@@ -47,18 +47,17 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x18], rax
- mov rdi, gword ptr [rbp-0x18]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x10], rdi
- mov rdi, gword ptr [rbp-0x10]
- mov gword ptr [rbp-0x20], rdi
- xor edi, edi
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x24], edi
+ mov rax, gword ptr [rbp-0x18]
+ mov gword ptr [rbp-0x10], rax
+ mov rax, gword ptr [rbp-0x10]
+ mov gword ptr [rbp-0x20], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x24], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
call [<unknown method>]
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x30], rax
mov rdi, 0xD1FFAB1E ; <unknown class>
@@ -88,7 +87,8 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx rdx rsi rdi r8]
; gcr arg pop 0
mov dword ptr [rbp-0x3C], eax
- mov edi, dword ptr [rbp-0x24]
+ mov eax, dword ptr [rbp-0x24]
+ mov edi, eax
add edi, dword ptr [rbp-0x3C]
mov rdx, gword ptr [rbp-0x08]
; gcrRegs +[rdx]
@@ -105,14 +105,14 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax rsi rdi]
; gcr arg pop 0
nop
- ;; size=182 bbWeight=1 PerfScore 42.25
+ ;; size=184 bbWeight=1 PerfScore 42.50
G_M35357_IG05: ; bbWeight=1, epilog, nogc, extend
add rsp, 80
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 241, prolog size 39, PerfScore 57.83, instruction count 52, allocated bytes for code 241 (MethodHash=c46a75e2) for method System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
+; Total bytes of code 243, prolog size 39, PerfScore 58.08, instruction count 53, allocated bytes for code 243 (MethodHash=c46a75e2) for method System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
; ============================================================
Unwind Info:
+3 (+0.83%) : 12292.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest
1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)@@ -7,40 +7,41 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x10] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [rbp-0x20] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [rbp-0x30] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [rbp-0x34] do-not-enreg[] must-init
-; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [rbp-0x38] do-not-enreg[] must-init
-; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [rbp-0x3C] do-not-enreg[] must-init
+; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [rbp-0x18] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [rbp-0x28] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [rbp-0x2C] do-not-enreg[] must-init
+; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [rbp-0x30] do-not-enreg[] must-init
+; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [rbp-0x34] do-not-enreg[] must-init
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07 ] ( 1, 1 ) int -> [rbp-0x40] do-not-enreg[] "impSpillStackEnsure"
-; V08 tmp2 [V08 ] ( 1, 1 ) int -> [rbp-0x44] do-not-enreg[] must-init
-; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [rbp-0x50] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [rbp-0x58] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V11 tmp5 [V11 ] ( 1, 1 ) int -> [rbp-0x5C] do-not-enreg[] must-init
-; V12 tmp6 [V12 ] ( 1, 1 ) int -> [rbp-0x60] do-not-enreg[] "impSpillStackEnsure"
-; V13 tmp7 [V13 ] ( 1, 1 ) int -> [rbp-0x64] do-not-enreg[] "impSpillStackEnsure"
-; V14 tmp8 [V14 ] ( 1, 1 ) int -> [rbp-0x68] do-not-enreg[] "impSpillStackEnsure"
+; V07 tmp1 [V07 ] ( 1, 1 ) int -> [rbp-0x38] do-not-enreg[] "impSpillStackEnsure"
+; V08 tmp2 [V08 ] ( 1, 1 ) int -> [rbp-0x3C] do-not-enreg[] must-init
+; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [rbp-0x48] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [rbp-0x50] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V11 tmp5 [V11 ] ( 1, 1 ) int -> [rbp-0x54] do-not-enreg[] must-init
+; V12 tmp6 [V12 ] ( 1, 1 ) int -> [rbp-0x58] do-not-enreg[] "impSpillStackEnsure"
+; V13 tmp7 [V13 ] ( 1, 1 ) int -> [rbp-0x5C] do-not-enreg[] "impSpillStackEnsure"
+; V14 tmp8 [V14 ] ( 1, 1 ) int -> [rbp-0x60] do-not-enreg[] "impSpillStackEnsure"
+; TEMP_01 ref -> [rbp-0x68]
;
-; Lcl frame size = 104
+; Lcl frame size = 112
G_M13185_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 104
+ sub rsp, 112
lea rbp, [rsp+0x70]
xor eax, eax
- mov qword ptr [rbp-0x5C], rax
- mov dword ptr [rbp-0x54], eax
+ mov qword ptr [rbp-0x68], rax
vxorps xmm8, xmm8, xmm8
- vmovdqu ymmword ptr [rbp-0x50], ymm8
- mov gword ptr [rbp-0x10], rdi
- mov gword ptr [rbp-0x20], rsi
- mov gword ptr [rbp-0x18], rdx
- mov gword ptr [rbp-0x30], rcx
- mov gword ptr [rbp-0x28], r8
- ;; size=50 bbWeight=1 PerfScore 12.33
+ vmovdqu ymmword ptr [rbp-0x60], ymm8
+ vmovdqa xmmword ptr [rbp-0x40], xmm8
+ mov qword ptr [rbp-0x30], rax
+ mov gword ptr [rbp-0x08], rdi
+ mov gword ptr [rbp-0x18], rsi
+ mov gword ptr [rbp-0x10], rdx
+ mov gword ptr [rbp-0x28], rcx
+ mov gword ptr [rbp-0x20], r8
+ ;; size=55 bbWeight=1 PerfScore 13.33
G_M13185_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [(reloc)], 0
je SHORT G_M13185_IG04
@@ -51,67 +52,66 @@ G_M13185_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=5 bbWeight=0.50 PerfScore 0.50
G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- mov rdi, gword ptr [rbp-0x20]
+ mov rdi, gword ptr [rbp-0x18]
; gcrRegs +[rdi]
- mov rsi, gword ptr [rbp-0x30]
+ mov rsi, gword ptr [rbp-0x28]
; gcrRegs +[rsi]
call [<unknown method>]
; gcrRegs -[rsi rdi]
; gcr arg pop 0
- mov dword ptr [rbp-0x40], eax
- mov esi, dword ptr [rbp-0x40]
- movzx rsi, sil
- mov dword ptr [rbp-0x34], esi
- cmp dword ptr [rbp-0x34], 0
+ mov dword ptr [rbp-0x38], eax
+ mov eax, dword ptr [rbp-0x38]
+ movzx rax, al
+ mov dword ptr [rbp-0x2C], eax
+ cmp dword ptr [rbp-0x2C], 0
je SHORT G_M13185_IG05
nop
- xor esi, esi
- mov dword ptr [rbp-0x38], esi
+ xor eax, eax
+ mov dword ptr [rbp-0x30], eax
nop
jmp G_M13185_IG11
- ;; size=46 bbWeight=1 PerfScore 15.25
+ ;; size=45 bbWeight=1 PerfScore 15.25
G_M13185_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- cmp gword ptr [rbp-0x18], 0
+ cmp gword ptr [rbp-0x10], 0
je SHORT G_M13185_IG06
- xor esi, esi
- cmp gword ptr [rbp-0x28], 0
- sete sil
- mov dword ptr [rbp-0x44], esi
+ xor eax, eax
+ cmp gword ptr [rbp-0x20], 0
+ sete al
+ mov dword ptr [rbp-0x3C], eax
jmp SHORT G_M13185_IG07
- ;; size=23 bbWeight=1 PerfScore 9.25
+ ;; size=22 bbWeight=1 PerfScore 9.25
G_M13185_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov dword ptr [rbp-0x44], 1
+ mov dword ptr [rbp-0x3C], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov esi, dword ptr [rbp-0x44]
- movzx rsi, sil
- mov dword ptr [rbp-0x3C], esi
- cmp dword ptr [rbp-0x3C], 0
+ mov eax, dword ptr [rbp-0x3C]
+ movzx rax, al
+ mov dword ptr [rbp-0x34], eax
+ cmp dword ptr [rbp-0x34], 0
je SHORT G_M13185_IG08
nop
- lea rsi, [rbp-0x20]
+ lea rsi, [rbp-0x18]
mov rdi, 0xD1FFAB1E ; System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]
call CORINFO_HELP_BOX
; gcrRegs +[rax]
; gcr arg pop 0
- mov rbx, rax
- ; gcrRegs +[rbx]
- lea rsi, [rbp-0x30]
+ mov gword ptr [rbp-0x68], rax
+ lea rsi, [rbp-0x28]
mov rdi, 0xD1FFAB1E ; System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]
call CORINFO_HELP_BOX
; gcr arg pop 0
- xor edi, edi
- cmp rbx, rax
- sete dil
- mov dword ptr [rbp-0x38], edi
+ cmp gword ptr [rbp-0x68], rax
+ sete al
+ ; gcrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x30], eax
nop
jmp G_M13185_IG11
- ;; size=76 bbWeight=1 PerfScore 14.00
+ ;; size=77 bbWeight=1 PerfScore 16.50
G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rax rbx]
- mov rdi, gword ptr [rbp-0x18]
+ mov rdi, gword ptr [rbp-0x10]
; gcrRegs +[rdi]
- mov rax, gword ptr [rbp-0x18]
+ mov rax, gword ptr [rbp-0x10]
; gcrRegs +[rax]
mov rax, qword ptr [rax]
; gcrRegs -[rax]
@@ -119,71 +119,70 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [rax+0x20]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
+ mov gword ptr [rbp-0x48], rax
+ mov rdi, gword ptr [rbp-0x20]
+ ; gcrRegs +[rdi]
+ mov rax, gword ptr [rbp-0x20]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
+ call [rax+0x20]<unknown method>
+ ; gcrRegs -[rdi] +[rax]
+ ; gcr arg pop 0
mov gword ptr [rbp-0x50], rax
- mov rdi, gword ptr [rbp-0x28]
- ; gcrRegs +[rdi]
- mov rax, gword ptr [rbp-0x28]
- mov rax, qword ptr [rax]
- ; gcrRegs -[rax]
- mov rax, qword ptr [rax+0x48]
- call [rax+0x20]<unknown method>
- ; gcrRegs -[rdi] +[rax]
- ; gcr arg pop 0
- mov gword ptr [rbp-0x58], rax
- mov rdi, gword ptr [rbp-0x50]
- ; gcrRegs +[rdi]
- cmp rdi, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x48]
+ cmp rax, gword ptr [rbp-0x50]
jne SHORT G_M13185_IG09
- mov rdi, gword ptr [rbp-0x18]
+ mov rdi, gword ptr [rbp-0x10]
+ ; gcrRegs +[rdi]
cmp dword ptr [rdi], edi
call [<unknown method>]
; gcrRegs -[rax rdi]
; gcr arg pop 0
- mov dword ptr [rbp-0x60], eax
- mov rdi, gword ptr [rbp-0x28]
+ mov dword ptr [rbp-0x58], eax
+ mov rdi, gword ptr [rbp-0x20]
; gcrRegs +[rdi]
cmp dword ptr [rdi], edi
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
- mov dword ptr [rbp-0x64], eax
- mov edi, dword ptr [rbp-0x60]
- cmp edi, dword ptr [rbp-0x64]
+ mov dword ptr [rbp-0x5C], eax
+ mov eax, dword ptr [rbp-0x58]
+ cmp eax, dword ptr [rbp-0x5C]
jne SHORT G_M13185_IG09
- mov rdi, gword ptr [rbp-0x18]
+ mov rdi, gword ptr [rbp-0x10]
; gcrRegs +[rdi]
- mov rsi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rbp-0x20]
; gcrRegs +[rsi]
cmp dword ptr [rdi], edi
call [<unknown method>]
; gcrRegs -[rsi rdi]
; gcr arg pop 0
- mov dword ptr [rbp-0x68], eax
- mov eax, dword ptr [rbp-0x68]
- mov dword ptr [rbp-0x5C], eax
+ mov dword ptr [rbp-0x60], eax
+ mov eax, dword ptr [rbp-0x60]
+ mov dword ptr [rbp-0x54], eax
jmp SHORT G_M13185_IG10
;; size=119 bbWeight=1 PerfScore 57.00
G_M13185_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
xor eax, eax
- mov dword ptr [rbp-0x5C], eax
+ mov dword ptr [rbp-0x54], eax
;; size=5 bbWeight=1 PerfScore 1.25
G_M13185_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov eax, dword ptr [rbp-0x5C]
+ mov eax, dword ptr [rbp-0x54]
movzx rax, al
- mov dword ptr [rbp-0x38], eax
...
+35 (+0.95%) : 12222.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest
1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray
1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)@@ -158,14 +158,12 @@ G_M26197_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; gcr arg pop 0
;; size=5 bbWeight=0.50 PerfScore 0.50
G_M26197_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, gword ptr [rbp-0x20]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x38], rdi
+ mov rax, gword ptr [rbp-0x20]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x38], rax
nop
mov rdi, 0xD1FFAB1E ; <unknown class>
- ; gcrRegs -[rdi]
call CORINFO_HELP_NEWSFAST
- ; gcrRegs +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x160], rax
mov rdi, gword ptr [rbp-0x160]
@@ -173,28 +171,28 @@ G_M26197_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs -[rax rdi]
; gcr arg pop 0
- mov rdi, gword ptr [rbp-0x160]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x30], rdi
- xor edi, edi
- ; gcrRegs -[rdi]
- mov dword ptr [rbp-0x3C], edi
+ mov rax, gword ptr [rbp-0x160]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x30], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x3C], eax
nop
jmp G_M26197_IG69
;; size=66 bbWeight=1 PerfScore 14.00
G_M26197_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [rbp-0x10]
- mov rdi, qword ptr [rdi+0x38]
- mov rdi, qword ptr [rdi]
- cmp qword ptr [rdi+0x158], 0
+ mov rax, qword ptr [rbp-0x10]
+ mov rax, qword ptr [rax+0x38]
+ mov rax, qword ptr [rax]
+ cmp qword ptr [rax+0x158], 0
je SHORT G_M26197_IG07
;; size=21 bbWeight=1 PerfScore 9.00
G_M26197_IG06: ; bbWeight=0.80, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [rbp-0x10]
- mov rdi, qword ptr [rdi+0x38]
- mov rdi, qword ptr [rdi]
- mov rdi, qword ptr [rdi+0x158]
- mov qword ptr [rbp-0x170], rdi
+ mov rax, qword ptr [rbp-0x10]
+ mov rax, qword ptr [rax+0x38]
+ mov rax, qword ptr [rax]
+ mov rax, qword ptr [rax+0x158]
+ mov qword ptr [rbp-0x170], rax
jmp SHORT G_M26197_IG08
;; size=27 bbWeight=0.80 PerfScore 8.00
G_M26197_IG07: ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -215,36 +213,36 @@ G_M26197_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rax rdi]
; gcr arg pop 0
- mov rdi, gword ptr [rbp-0x168]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x48], rdi
+ mov rax, gword ptr [rbp-0x168]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x48], rax
nop
- mov rdi, gword ptr [rbp-0x48]
- mov gword ptr [rbp-0x178], rdi
- mov rdi, gword ptr [rbp-0x28]
- mov eax, dword ptr [rbp-0x3C]
- cmp eax, dword ptr [rdi+0x08]
+ mov rax, gword ptr [rbp-0x48]
+ mov gword ptr [rbp-0x178], rax
+ mov rax, gword ptr [rbp-0x28]
+ mov ecx, dword ptr [rbp-0x3C]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M26197_IG09
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rax]
; gcr arg pop 0
;; size=72 bbWeight=1 PerfScore 18.25
-G_M26197_IG09: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rdi]
- mov ecx, eax
- imul rcx, rcx, 64
- lea rdi, bword ptr [rdi+rcx+0x10]
- ; gcrRegs -[rdi]
+G_M26197_IG09: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rax]
+ mov edx, ecx
+ imul rdx, rdx, 64
+ lea rax, bword ptr [rax+rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rdi, rax
; byrRegs +[rdi]
call [<unknown method>]
; gcrRegs +[rax]
- ; byrRegs -[rdi]
+ ; byrRegs -[rax rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x180], rax
- mov rdi, gword ptr [rbp-0x178]
- ; gcrRegs +[rdi]
- lea rdi, bword ptr [rdi+0x08]
- ; gcrRegs -[rdi]
+ mov rax, gword ptr [rbp-0x178]
+ lea rdi, bword ptr [rax+0x08]
; byrRegs +[rdi]
mov rsi, gword ptr [rbp-0x180]
; gcrRegs +[rsi]
@@ -260,26 +258,26 @@ G_M26197_IG09: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
; gcrRegs -[rsi rdi] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x188], rax
- mov rdi, gword ptr [rbp-0x28]
- ; gcrRegs +[rdi]
- mov eax, dword ptr [rbp-0x3C]
- ; gcrRegs -[rax]
- cmp eax, dword ptr [rdi+0x08]
+ mov rax, gword ptr [rbp-0x28]
+ mov ecx, dword ptr [rbp-0x3C]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M26197_IG10
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rax]
; gcr arg pop 0
- ;; size=93 bbWeight=1 PerfScore 26.00
-G_M26197_IG10: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rdi]
- mov ecx, eax
- imul rcx, rcx, 64
- lea rdi, bword ptr [rdi+rcx+0x10]
- ; gcrRegs -[rdi]
+ ;; size=96 bbWeight=1 PerfScore 26.25
+G_M26197_IG10: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rax]
+ mov edx, ecx
+ imul rdx, rdx, 64
+ lea rax, bword ptr [rax+rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rdi, rax
; byrRegs +[rdi]
call [<unknown method>]
; gcrRegs +[rax]
- ; byrRegs -[rdi]
+ ; byrRegs -[rax rdi]
; gcr arg pop 0
mov gword ptr [rbp-0x190], rax
mov rdi, gword ptr [rbp-0x188]
@@ -313,14 +311,13 @@ G_M26197_IG10: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
; gcrRegs -[rdx rsi] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x1A8], rax
- mov rdi, gword ptr [rbp-0x1A8]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x50], rdi
- xor edi, edi
- ; gcrRegs -[rdi]
+ mov rax, gword ptr [rbp-0x1A8]
+ mov gword ptr [rbp-0x50], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
cmp gword ptr [rbp-0x50], 0
- setne dil
- mov dword ptr [rbp-0x5C], edi
+ setne al
+ mov dword ptr [rbp-0x5C], eax
cmp dword ptr [rbp-0x5C], 0
je G_M26197_IG25
nop
@@ -328,30 +325,30 @@ G_M26197_IG10: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
; gcrRegs +[rdi]
cmp dword ptr [rdi], edi
call <unknown method>
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x378], rax
- mov rdi, gword ptr [rbp-0x378]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x68], rdi
- mov rdi, gword ptr [rbp-0x28]
- mov eax, dword ptr [rbp-0x3C]
- ; gcrRegs -[rax]
- cmp eax, dword ptr [rdi+0x08]
+ mov rax, gword ptr [rbp-0x378]
+ mov gword ptr [rbp-0x68], rax
+ mov rax, gword ptr [rbp-0x28]
+ mov ecx, dword ptr [rbp-0x3C]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M26197_IG11
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[rdi]
+ ; gcrRegs -[rax]
; gcr arg pop 0
- ;; size=219 bbWeight=1 PerfScore 54.75
-G_M26197_IG11: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rdi]
- mov ecx, eax
- imul rcx, rcx, 64
- lea rdi, bword ptr [rdi+rcx+0x10]
- ; gcrRegs -[rdi]
+ ;; size=221 bbWeight=1 PerfScore 55.00
+G_M26197_IG11: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rax]
+ mov edx, ecx
+ imul rdx, rdx, 64
+ lea rax, bword ptr [rax+rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rdi, rax
; byrRegs +[rdi]
call [<unknown method>]
- ; byrRegs -[rdi]
+ ; byrRegs -[rax rdi]
; gcr arg pop 0
mov dword ptr [rbp-0x37C], eax
cmp dword ptr [rbp-0x37C], 0
@@ -367,11 +364,9 @@ G_M26197_IG11: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x440], rax
- mov rdi, gword ptr [rbp-0x440]
- ; gcrRegs +[rdi]
- mov gword ptr [rbp-0x78], rdi
+ mov rax, gword ptr [rbp-0x440]
+ mov gword ptr [rbp-0x78], rax
lea rdi, [rbp-0x78]
- ; gcrRegs -[rdi]
mov rsi, 0xD1FFAB1E ; System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.DiagnosticDescriptor]
call [<unknown method>]
; gcrRegs -[rax]
@@ -379,7 +374,7 @@ G_M26197_IG11: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
mov dword ptr [rbp-0x444], eax
cmp dword ptr [rbp-0x444], 1
je SHORT G_M26197_IG13
- ;; size=103 bbWeight=1 PerfScore 30.00
+ ;; size=106 bbWeight=1 PerfScore 30.25
G_M26197_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
...
realworld.run.linux.x64.checked.mch
+0 (0.00%) : 10485.dasm - BenchmarkDotNet.Autogenerated.Runnable4:ForDisassemblyDiagnoser_():FSharp.Compiler.CodeAnalysis.FSharpParseFileResults[]:this (MinOpts)
@@ -17,13 +17,14 @@ G_M22526_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
mov gword ptr [rbp-0x08], rdi
;; size=14 bbWeight=1 PerfScore 2.75
G_M22526_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x68], 11
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x68], 11
jne SHORT G_M22526_IG04
mov rdi, gword ptr [rbp-0x08]
+ ; gcrRegs +[rdi]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rdi]
nop
;; size=21 bbWeight=1 PerfScore 9.25
G_M22526_IG03: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 26377.dasm - BenchmarkDotNet.Autogenerated.Runnable1:TrickTheJIT_():this (MinOpts)
@@ -42,12 +42,13 @@ G_M31200_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov dword ptr [rcx+0x60], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
- mov dword ptr [rdi+0x60], eax
- mov rdi, gword ptr [rbp-0x08]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rcx rdi] +[rax]
mov gword ptr [rbp-0x18], rax
;; size=80 bbWeight=1 PerfScore 23.00
G_M31200_IG03: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 26553.dasm - BenchmarkDotNet.Autogenerated.Runnable0:ForDisassemblyDiagnoser_():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AnalyzerConfigOptionsResult]:this (MinOpts)
@@ -20,13 +20,14 @@ G_M3817_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
mov gword ptr [rbp-0x08], rdi
;; size=20 bbWeight=1 PerfScore 4.00
G_M3817_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, gword ptr [rbp-0x08]
- ; gcrRegs +[rdi]
- cmp dword ptr [rdi+0x38], 11
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x38], 11
jne SHORT G_M3817_IG04
mov rdi, gword ptr [rbp-0x08]
+ ; gcrRegs +[rdi]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rdi]
nop
;; size=21 bbWeight=1 PerfScore 9.25
G_M3817_IG03: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 10484.dasm - BenchmarkDotNet.Autogenerated.Runnable4:TrickTheJIT_():this (MinOpts)
@@ -40,12 +40,13 @@ G_M18501_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov dword ptr [rcx+0x68], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
- mov dword ptr [rdi+0x68], eax
- mov rdi, gword ptr [rbp-0x08]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rcx rdi] +[rax]
nop
;; size=77 bbWeight=1 PerfScore 22.25
G_M18501_IG03: ; bbWeight=1, epilog, nogc, extend
+0 (0.00%) : 13228.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -21,8 +21,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x08], rdi
;; size=20 bbWeight=1 PerfScore 4.00
G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor edi, edi
- mov gword ptr [rbp-0x18], rdi
+ xor eax, eax
+ mov gword ptr [rbp-0x18], rax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov rdx, gword ptr [rbp-0x18]
+0 (0.00%) : 26552.dasm - BenchmarkDotNet.Autogenerated.Runnable0:TrickTheJIT_():this (MinOpts)
@@ -42,12 +42,13 @@ G_M38593_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rdi]
+ mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
+ mov dword ptr [rcx+0x38], eax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
- mov dword ptr [rdi+0x38], eax
- mov rdi, gword ptr [rbp-0x08]
call [<unknown method>]
- ; gcrRegs -[rdi] +[rax]
+ ; gcrRegs -[rcx rdi] +[rax]
mov gword ptr [rbp-0x18], rax
;; size=80 bbWeight=1 PerfScore 23.00
G_M38593_IG03: ; bbWeight=1, epilog, nogc, extend
smoke_tests.nativeaot.linux.x64.checked.mch
+0 (0.00%) : 19137.dasm - Interfaces+TestGenericAnalysis:Run() (MinOpts)
@@ -29,8 +29,8 @@ G_M40288_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movaps xmmword ptr [rbp-0x10], xmm8
;; size=34 bbWeight=1 PerfScore 10.08
G_M40288_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x08]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
@@ -62,8 +62,8 @@ G_M40288_IG03: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x10]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x10]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
@@ -95,8 +95,8 @@ G_M40288_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x18]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x18]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
@@ -128,8 +128,8 @@ G_M40288_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x20]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x20]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
+0 (0.00%) : 21841.dasm - Interfaces+TestGenericAnalysis:Run() (MinOpts)
@@ -29,8 +29,8 @@ G_M40288_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movaps xmmword ptr [rbp-0x10], xmm8
;; size=34 bbWeight=1 PerfScore 10.08
G_M40288_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x08]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x08]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
@@ -62,8 +62,8 @@ G_M40288_IG03: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x10]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x10]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
@@ -95,8 +95,8 @@ G_M40288_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x18]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x18]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
@@ -128,8 +128,8 @@ G_M40288_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rdi, qword ptr [(reloc)]
- mov rdi, gword ptr [rdi+0x20]
+ mov rax, qword ptr [(reloc)]
+ mov rdi, gword ptr [rax+0x20]
; gcrRegs +[rdi]
lea r10, [(reloc)] ; function address
xor rsi, rsi
+0 (0.00%) : 19674.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -22,8 +22,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x08], rdi
;; size=20 bbWeight=1 PerfScore 4.00
G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor edi, edi
- mov gword ptr [rbp-0x18], rdi
+ xor eax, eax
+ mov gword ptr [rbp-0x18], rax
mov rdi, gword ptr [rbp-0x08]
; gcrRegs +[rdi]
mov rdx, gword ptr [rbp-0x18]
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
benchmarks.run.linux.x64.checked.mch
2,736
6
1
2,729
-6
+1
benchmarks.run_pgo.linux.x64.checked.mch
36,080
8,166
1,740
26,174
-23,718
+8,409
benchmarks.run_tiered.linux.x64.checked.mch
27,843
5,412
1,161
21,270
-15,595
+4,299
coreclr_tests.run.linux.x64.checked.mch
304,630
102,275
28,894
173,461
-565,940
+319,652
libraries.crossgen2.linux.x64.checked.mch
8
3
1
4
-5
+1
libraries.pmi.linux.x64.checked.mch
2
1
1
0
-14
+1
libraries_tests.run.linux.x64.Release.mch
326,041
62,552
10,267
253,222
-216,799
+80,318
librariestestsnotieredcompilation.run.linux.x64.Release.mch
13,435
9,206
8
4,221
-57,847
+3,529
realworld.run.linux.x64.checked.mch
13
1
0
12
-1,026
+0
smoke_tests.nativeaot.linux.x64.checked.mch
3
0
0
3
-0
+0
710,791
187,622
42,073
481,096
-880,950
+416,210
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
benchmarks.run.linux.x64.checked.mch
33,726
2,737
30,989
0 (0.00%)
0 (0.00%)
benchmarks.run_pgo.linux.x64.checked.mch
153,012
56,754
96,258
134 (0.09%)
134 (0.09%)
benchmarks.run_tiered.linux.x64.checked.mch
58,506
44,250
14,256
0 (0.00%)
0 (0.00%)
coreclr_tests.run.linux.x64.checked.mch
650,298
393,739
256,559
302 (0.05%)
302 (0.05%)
libraries.crossgen2.linux.x64.checked.mch
233,520
15
233,505
0 (0.00%)
0 (0.00%)
libraries.pmi.linux.x64.checked.mch
295,329
6
295,323
9 (0.00%)
9 (0.00%)
libraries_tests.run.linux.x64.Release.mch
753,181
493,959
259,222
3,540 (0.47%)
3,540 (0.47%)
librariestestsnotieredcompilation.run.linux.x64.Release.mch
304,363
21,830
282,533
57 (0.02%)
57 (0.02%)
realworld.run.linux.x64.checked.mch
33,110
13
33,097
0 (0.00%)
0 (0.00%)
smoke_tests.nativeaot.linux.x64.checked.mch
27,451
9
27,442
0 (0.00%)
0 (0.00%)
2,542,496
1,013,312
1,529,184
4,042 (0.16%)
4,042 (0.16%)
jit-analyze output
benchmarks.run.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13063008 (overridden on cmd)
Total bytes of diff: 13063003 (overridden on cmd)
Total bytes of delta: -5 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
1 : 3929.dasm (0.61 % of base)
Top file improvements (bytes):
-1 : 28227.dasm (-1.18 % of base)
-1 : 12924.dasm (-1.18 % of base)
-1 : 26168.dasm (-1.18 % of base)
-1 : 31770.dasm (-1.18 % of base)
-1 : 33531.dasm (-1.18 % of base)
-1 : 14844.dasm (-1.18 % of base)
7 total files with Code Size differences (6 improved, 1 regressed), 53 unchanged.
Top method regressions (bytes):
1 (0.61 % of base) : 3929.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (bytes):
-1 (-1.18 % of base) : 28227.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 26168.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 31770.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 33531.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 12924.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ushort[]:this (MinOpts)
-1 (-1.18 % of base) : 14844.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ushort[]:this (MinOpts)
Top method regressions (percentages):
1 (0.61 % of base) : 3929.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (percentages):
-1 (-1.18 % of base) : 28227.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 26168.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 31770.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 33531.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
-1 (-1.18 % of base) : 12924.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ushort[]:this (MinOpts)
-1 (-1.18 % of base) : 14844.dasm - BenchmarkDotNet.Autogenerated.Runnable_153:__ForDisassemblyDiagnoser__():ushort[]:this (MinOpts)
benchmarks.run_pgo.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 64981453 (overridden on cmd)
Total bytes of diff: 64966144 (overridden on cmd)
Total bytes of delta: -15309 (-0.02 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
1026 : 91852.dasm (4.47 % of base)
171 : 91857.dasm (4.91 % of base)
105 : 91855.dasm (3.53 % of base)
90 : 7157.dasm (2.34 % of base)
90 : 7610.dasm (2.34 % of base)
57 : 83242.dasm (0.24 % of base)
50 : 53873.dasm (1.81 % of base)
47 : 18640.dasm (1.06 % of base)
45 : 37781.dasm (2.19 % of base)
41 : 100483.dasm (1.87 % of base)
35 : 18059.dasm (0.64 % of base)
35 : 65257.dasm (0.64 % of base)
34 : 815.dasm (2.61 % of base)
34 : 6371.dasm (2.61 % of base)
34 : 71216.dasm (1.05 % of base)
31 : 14770.dasm (2.37 % of base)
29 : 14804.dasm (0.48 % of base)
29 : 3958.dasm (1.72 % of base)
28 : 39259.dasm (2.73 % of base)
28 : 6772.dasm (2.46 % of base)
Top file improvements (bytes):
-127 : 18320.dasm (-1.16 % of base)
-99 : 64692.dasm (-4.55 % of base)
-99 : 64719.dasm (-4.55 % of base)
-97 : 86453.dasm (-0.86 % of base)
-76 : 1382.dasm (-3.16 % of base)
-76 : 3599.dasm (-3.16 % of base)
-72 : 84483.dasm (-0.71 % of base)
-72 : 1806.dasm (-0.72 % of base)
-66 : 56586.dasm (-0.76 % of base)
-57 : 52511.dasm (-2.31 % of base)
-57 : 52524.dasm (-2.31 % of base)
-57 : 57347.dasm (-3.08 % of base)
-57 : 57364.dasm (-3.08 % of base)
-56 : 37277.dasm (-0.86 % of base)
-55 : 23692.dasm (-0.85 % of base)
-53 : 870.dasm (-2.49 % of base)
-53 : 1621.dasm (-1.42 % of base)
-53 : 2860.dasm (-1.42 % of base)
-53 : 6379.dasm (-2.49 % of base)
-52 : 47697.dasm (-4.71 % of base)
89 total files with Code Size differences (49 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
1026 (4.47 % of base) : 91852.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
171 (4.91 % of base) : 91857.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
105 (3.53 % of base) : 91855.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
90 (2.34 % of base) : 7157.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Instrumented Tier0)
90 (2.34 % of base) : 7610.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Instrumented Tier0)
57 (0.24 % of base) : 83242.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
50 (1.81 % of base) : 53873.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Instrumented Tier0)
47 (1.06 % of base) : 18640.dasm - System.Uri:GetUriPartsFromUserString(int):System.String:this (Instrumented Tier0)
45 (2.19 % of base) : 37781.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
41 (1.87 % of base) : 100483.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
35 (0.64 % of base) : 18059.dasm - System.Uri:CheckAuthorityHelper(ulong,int,int,byref,byref,System.UriParser,byref):int:this (Instrumented Tier0)
35 (0.64 % of base) : 65257.dasm - System.Uri:CheckAuthorityHelper(ulong,int,int,byref,byref,System.UriParser,byref):int:this (Instrumented Tier0)
34 (1.05 % of base) : 71216.dasm - Neural:read_data_file():this (Instrumented Tier0)
34 (2.61 % of base) : 815.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
34 (2.61 % of base) : 6371.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
31 (2.37 % of base) : 14770.dasm - Utf8Json.JsonWriter:WriteString(System.String):this (Instrumented Tier0)
29 (1.72 % of base) : 3958.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
29 (0.48 % of base) : 14804.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildDeserialize(System.Type,Utf8Json.Internal.Emit.MetaType,System.Reflection.Emit.ILGenerator,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],ubyte,int) (Instrumented Tier0)
28 (2.46 % of base) : 6772.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.Collections.NotKnownComparable,System.Collections.NotKnownComparable]:.ctor(System.Collections.Generic.Dictionary`2[System.Collections.NotKnownComparable,System.Collections.NotKnownComparable],ubyte):this (Instrumented Tier0)
28 (2.73 % of base) : 39259.dasm - System.Xml.Serialization.CodeGenerator:InitILGeneration(System.Type[],System.String[],ubyte):this (Instrumented Tier0)
Top method improvements (bytes):
-127 (-1.16 % of base) : 18320.dasm - System.Formats.Asn1.WellKnownOids:GetValue(System.ReadOnlySpan`1[ubyte]):System.String (Instrumented Tier0)
-99 (-4.55 % of base) : 64692.dasm - IDEAEncryption:de_key_idea(ushort[],ushort[]) (Instrumented Tier0)
-99 (-4.55 % of base) : 64719.dasm - IDEAEncryption:de_key_idea(ushort[],ushort[]) (Instrumented Tier0)
-97 (-0.86 % of base) : 86453.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
-76 (-3.16 % of base) : 1382.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Instrumented Tier0)
-76 (-3.16 % of base) : 3599.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Instrumented Tier0)
-72 (-0.71 % of base) : 84483.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Instrumented Tier0)
-72 (-0.72 % of base) : 1806.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-66 (-0.76 % of base) : 56586.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (Instrumented Tier0)
-57 (-2.31 % of base) : 52511.dasm - AssignJagged:first_assignments(int[][],short[][]):int (Instrumented Tier0)
-57 (-2.31 % of base) : 52524.dasm - AssignJagged:first_assignments(int[][],short[][]):int (Instrumented Tier0)
-57 (-3.08 % of base) : 57347.dasm - AssignRect:first_assignments(int[,],short[,]):int (Instrumented Tier0)
-57 (-3.08 % of base) : 57364.dasm - AssignRect:first_assignments(int[,],short[,]):int (Instrumented Tier0)
-56 (-0.86 % of base) : 37277.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (Instrumented Tier0)
-55 (-0.85 % of base) : 23692.dasm - Utf8Json.Formatters.ISO8601DateTimeOffsetFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTimeOffset:this (Instrumented Tier0)
-53 (-2.49 % of base) : 870.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int (Instrumented Tier0)
-53 (-2.49 % of base) : 6379.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int (Instrumented Tier0)
-53 (-1.42 % of base) : 1621.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Instrumented Tier0)
-53 (-1.42 % of base) : 2860.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Instrumented Tier0)
-52 (-4.71 % of base) : 47697.dasm - System.ParseNumbers:StringToLong(System.ReadOnlySpan`1[ushort],int,int,byref):long (Tier0)
Top method regressions (percentages):
16 (21.62 % of base) : 79974.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
12 (21.43 % of base) : 89135.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 84862.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
11 (20.75 % of base) : 1039.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
22 (18.33 % of base) : 8857.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (12.63 % of base) : 91976.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]:SetUnreachable():this (Instrumented Tier0)
12 (10.71 % of base) : 57532.dasm - BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[ubyte]:<Register>b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this (Instrumented Tier0)
12 (10.26 % of base) : 82988.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:get_Item(int):byref:this (Tier0)
24 (10.08 % of base) : 14871.dasm - System.Linq.Enumerable+SelectRangeIterator`1[System.Reflection.Emit.Label]:Fill(System.Span`1[System.Reflection.Emit.Label],int,System.Func`2[int,System.Reflection.Emit.Label]) (Instrumented Tier0)
12 (8.76 % of base) : 82992.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1+Entry[System.__Canon]]:get_Item(int):byref:this (Tier0)
16 (8.74 % of base) : 57221.dasm - System.Tests.Perf_HashCode:Combine_7():int:this (Instrumented Tier0)
9 (8.65 % of base) : 53648.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[byte]:LessThanAllBenchmark():ubyte:this (Tier0)
12 (8.51 % of base) : 93132.dasm - System.Security.Cryptography.SHA256+Implementation:.ctor():this (Instrumented Tier0)
9 (8.33 % of base) : 43449.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:LessThanAllBenchmark():ubyte:this (Tier0)
16 (8.29 % of base) : 62959.dasm - System.Tests.Perf_HashCode:Combine_8():int:this (Instrumented Tier0)
9 (8.11 % of base) : 116329.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:LessThanAllBenchmark():ubyte:this (Tier0)
12 (8.11 % of base) : 18408.dasm - System.Security.Cryptography.IncrementalHash:.ctor(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashProvider):this (Instrumented Tier0)
14 (7.65 % of base) : 19254.dasm - System.Security.Cryptography.X509Certificates.OpenSslCachedSystemStoreProvider:TryStat(System.String,int,byref):ubyte (Tier0)
15 (7.39 % of base) : 84257.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol:get_HasCodeAnalysisEmbeddedAttribute():ubyte:this (Tier0)
12 (7.36 % of base) : 65265.dasm - System.Net.CredentialKey:.ctor(System.Uri,System.String):this (Instrumented Tier0)
Top method improvements (percentages):
-15 (-9.74 % of base) : 27083.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
-6 (-8.96 % of base) : 21145.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
-6 (-8.96 % of base) : 9443.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
-51 (-6.85 % of base) : 3144.dasm - System.Reflection.Emit.SignatureHelper:InternalGetSignatureArray():ubyte[]:this (Tier0)
-5 (-6.25 % of base) : 7641.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumProcessingWork(short):this (Instrumented Tier0)
-5 (-6.25 % of base) : 6985.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumProcessingWork(short):this (Tier0)
-10 (-6.13 % of base) : 65247.dasm - System.UriHelper:UnescapeString(System.ReadOnlySpan`1[ushort],byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (Instrumented Tier0)
-10 (-6.13 % of base) : 65219.dasm - System.UriHelper:UnescapeString(System.ReadOnlySpan`1[ushort],byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (Tier0)
-3 (-6.12 % of base) : 88783.dasm - Roslyn.Utilities.Hash:Combine(ubyte,int):int (Instrumented Tier0)
-3 (-6.12 % of base) : 83709.dasm - Roslyn.Utilities.Hash:Combine(ubyte,int):int (Tier0)
-5 (-6.02 % of base) : 7642.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumExistingThreads(short):this (Instrumented Tier0)
-5 (-6.02 % of base) : 6986.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumExistingThreads(short):this (Tier0)
-3 (-5.88 % of base) : 92505.dasm - System.Reflection.Metadata.BlobBuilder:WriteBoolean(ubyte):this (Instrumented Tier0)
-3 (-5.88 % of base) : 88464.dasm - System.Reflection.Metadata.BlobBuilder:WriteBoolean(ubyte):this (Tier0)
-4 (-5.88 % of base) : 7644.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:AddSignalCount(uint):this (Instrumented Tier0)
-4 (-5.88 % of base) : 7006.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:AddSignalCount(uint):this (Tier0)
-5 (-5.81 % of base) : 10428.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Instrumented Tier0)
-5 (-5.81 % of base) : 3441.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
-4 (-5.56 % of base) : 85451.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,ubyte,ubyte):System.Type (Instrumented Tier0)
-4 (-5.56 % of base) : 1270.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,ubyte,ubyte):System.Type (Tier0)
benchmarks.run_tiered.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 17221305 (overridden on cmd)
Total bytes of diff: 17210009 (overridden on cmd)
Total bytes of delta: -11296 (-0.07 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
90 : 9294.dasm (2.56 % of base)
57 : 38616.dasm (0.24 % of base)
50 : 30390.dasm (2.81 % of base)
47 : 5935.dasm (1.32 % of base)
45 : 25712.dasm (2.19 % of base)
34 : 35716.dasm (1.08 % of base)
31 : 3480.dasm (0.39 % of base)
29 : 4590.dasm (1.72 % of base)
28 : 43468.dasm (0.46 % of base)
26 : 35051.dasm (1.97 % of base)
25 : 24563.dasm (4.11 % of base)
24 : 5894.dasm (0.58 % of base)
22 : 13271.dasm (18.33 % of base)
22 : 7699.dasm (2.97 % of base)
21 : 15091.dasm (3.46 % of base)
21 : 16256.dasm (4.58 % of base)
20 : 23415.dasm (2.09 % of base)
19 : 8264.dasm (5.23 % of base)
19 : 9800.dasm (3.94 % of base)
18 : 38864.dasm (3.66 % of base)
Top file improvements (bytes):
-97 : 41382.dasm (-0.86 % of base)
-96 : 34567.dasm (-4.52 % of base)
-79 : 1202.dasm (-4.03 % of base)
-72 : 1586.dasm (-0.72 % of base)
-62 : 34009.dasm (-0.83 % of base)
-58 : 1417.dasm (-2.06 % of base)
-56 : 25898.dasm (-0.98 % of base)
-55 : 8292.dasm (-0.95 % of base)
-54 : 33640.dasm (-4.14 % of base)
-54 : 29738.dasm (-2.83 % of base)
-53 : 756.dasm (-3.02 % of base)
-52 : 28460.dasm (-4.71 % of base)
-51 : 2783.dasm (-6.85 % of base)
-49 : 746.dasm (-1.24 % of base)
-47 : 41757.dasm (-0.88 % of base)
-42 : 19593.dasm (-0.95 % of base)
-42 : 5948.dasm (-0.91 % of base)
-36 : 10170.dasm (-0.90 % of base)
-35 : 2664.dasm (-0.93 % of base)
-34 : 37259.dasm (-2.51 % of base)
77 total files with Code Size differences (38 improved, 39 regressed), 20 unchanged.
Top method regressions (bytes):
90 (2.56 % of base) : 9294.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Tier0)
57 (0.24 % of base) : 38616.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
50 (2.81 % of base) : 30390.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Tier0)
47 (1.32 % of base) : 5935.dasm - System.Uri:GetUriPartsFromUserString(int):System.String:this (Tier0)
45 (2.19 % of base) : 25712.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
34 (1.08 % of base) : 35716.dasm - Neural:read_data_file():this (Tier0)
31 (0.39 % of base) : 3480.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier0)
29 (1.72 % of base) : 4590.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
28 (0.46 % of base) : 43468.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
26 (1.97 % of base) : 35051.dasm - NeuralJagged:Init() (Tier0)
25 (4.11 % of base) : 24563.dasm - System.Tests.Perf_Array:SetupArrayCopy3D():this (Tier0)
24 (0.58 % of base) : 5894.dasm - System.Uri:CheckAuthorityHelper(ulong,int,int,byref,byref,System.UriParser,byref):int:this (Tier0)
22 (2.97 % of base) : 7699.dasm - System.Linq.Lookup`2[System.__Canon,System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:GetGrouping(System.__Canon,ubyte):System.Linq.Grouping`2[System.__Canon,System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (Tier0)
22 (18.33 % of base) : 13271.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
21 (4.58 % of base) : 16256.dasm - System.Globalization.OrdinalCasing:ToUpperOrdinal(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]) (Tier0)
21 (3.46 % of base) : 15091.dasm - System.Linq.Lookup`2[int,System.__Canon]:GetGrouping(int,ubyte):System.Linq.Grouping`2[int,System.__Canon]:this (Tier0)
20 (2.09 % of base) : 23415.dasm - System.Runtime.Serialization.Json.XmlJsonWriter:WriteEscapedJsonString(System.String):this (Tier0)
19 (3.94 % of base) : 9800.dasm - System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.__Canon]:get_Task():System.Threading.Tasks.ValueTask`1[System.__Canon]:this (Tier0)
19 (5.23 % of base) : 8264.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
18 (3.66 % of base) : 38864.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ComputeStrongNameKeys():Microsoft.CodeAnalysis.StrongNameKeys:this (Tier0)
Top method improvements (bytes):
-97 (-0.86 % of base) : 41382.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
-96 (-4.52 % of base) : 34567.dasm - IDEAEncryption:de_key_idea(ushort[],ushort[]) (Tier0)
-79 (-4.03 % of base) : 1202.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Tier0)
-72 (-0.72 % of base) : 1586.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-62 (-0.83 % of base) : 34009.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (Tier0)
-58 (-2.06 % of base) : 1417.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier0)
-56 (-0.98 % of base) : 25898.dasm - Utf8Json.Formatters.ISO8601DateTimeFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTime:this (Tier0)
-55 (-0.95 % of base) : 8292.dasm - Utf8Json.Formatters.ISO8601DateTimeOffsetFormatter:Deserialize(byref,Utf8Json.IJsonFormatterResolver):System.DateTimeOffset:this (Tier0)
-54 (-2.83 % of base) : 29738.dasm - AssignJagged:first_assignments(int[][],short[][]):int (Tier0)
-54 (-4.14 % of base) : 33640.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier0)
-53 (-3.02 % of base) : 756.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int (Tier0)
-52 (-4.71 % of base) : 28460.dasm - System.ParseNumbers:StringToLong(System.ReadOnlySpan`1[ushort],int,int,byref):long (Tier0)
-51 (-6.85 % of base) : 2783.dasm - System.Reflection.Emit.SignatureHelper:InternalGetSignatureArray():ubyte[]:this (Tier0)
-49 (-1.24 % of base) : 746.dasm - System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ulong,int,ulong,int,byref,byref):int (Tier0)
-47 (-0.88 % of base) : 41757.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:MakeConversionNodeCore(Microsoft.CodeAnalysis.CSharp.BoundConversion,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Conversion,ubyte,ubyte,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier0)
-42 (-0.91 % of base) : 5948.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
-42 (-0.95 % of base) : 19593.dasm - System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (Tier0)
-36 (-0.90 % of base) : 10170.dasm - System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier0)
-35 (-0.93 % of base) : 2664.dasm - System.Text.UnicodeEncoding:GetBytes(ulong,int,ulong,int,System.Text.EncoderNLS):int:this (Tier0)
-34 (-2.51 % of base) : 37259.dasm - System.Buffers.Text.Utf8Parser:TryParseGuidCore(System.ReadOnlySpan`1[ubyte],byref,byref,int):ubyte (Tier0)
Top method regressions (percentages):
16 (21.62 % of base) : 36750.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
12 (21.43 % of base) : 39809.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
11 (20.75 % of base) : 925.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
22 (18.33 % of base) : 13271.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (10.26 % of base) : 38362.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:get_Item(int):byref:this (Tier0)
12 (8.76 % of base) : 38366.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1+Entry[System.__Canon]]:get_Item(int):byref:this (Tier0)
9 (8.65 % of base) : 29612.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[byte]:LessThanAllBenchmark():ubyte:this (Tier0)
9 (8.33 % of base) : 26897.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:LessThanAllBenchmark():ubyte:this (Tier0)
12 (8.33 % of base) : 30780.dasm - System.Tests.Perf_HashCode:Combine_6():int:this (Tier0)
9 (8.11 % of base) : 50535.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:LessThanAllBenchmark():ubyte:this (Tier0)
12 (7.84 % of base) : 31287.dasm - System.Tests.Perf_HashCode:Combine_7():int:this (Tier0)
14 (7.65 % of base) : 10331.dasm - System.Security.Cryptography.X509Certificates.OpenSslCachedSystemStoreProvider:TryStat(System.String,int,byref):ubyte (Tier0)
15 (7.39 % of base) : 39293.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PENamedTypeSymbol:get_HasCodeAnalysisEmbeddedAttribute():ubyte:this (Tier0)
12 (7.36 % of base) : 34238.dasm - System.Tests.Perf_HashCode:Combine_8():int:this (Tier0)
10 (7.35 % of base) : 28778.dasm - System.Tests.Perf_HashCode:Combine_5():int:this (Tier0)
6 (7.32 % of base) : 14219.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
11 (7.14 % of base) : 16552.dasm - System.Runtime.Serialization.DataContracts.DataContract:WriteRootElement(System.Runtime.Serialization.XmlWriterDelegator,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString):this (Tier0)
3 (6.25 % of base) : 2067.dasm - System.Runtime.InteropServices.GCHandle:GetHandleValue(long):long (Tier0)
8 (6.25 % of base) : 28341.dasm - System.Tests.Perf_HashCode:Combine_4():int:this (Tier0)
4 (5.97 % of base) : 49391.dasm - System.Threading.ReaderWriterLockSlim:SpinWait(int) (Tier0)
Top method improvements (percentages):
-15 (-9.74 % of base) : 21597.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
-6 (-8.96 % of base) : 4082.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
-51 (-6.85 % of base) : 2783.dasm - System.Reflection.Emit.SignatureHelper:InternalGetSignatureArray():ubyte[]:this (Tier0)
-5 (-6.25 % of base) : 9015.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumProcessingWork(short):this (Tier0)
-10 (-6.13 % of base) : 34723.dasm - System.UriHelper:UnescapeString(System.ReadOnlySpan`1[ushort],byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (Tier0)
-3 (-6.12 % of base) : 39024.dasm - Roslyn.Utilities.Hash:Combine(ubyte,int):int (Tier0)
-5 (-6.02 % of base) : 9016.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumExistingThreads(short):this (Tier0)
-3 (-5.88 % of base) : 43419.dasm - System.Reflection.Metadata.BlobBuilder:WriteBoolean(ubyte):this (Tier0)
-4 (-5.88 % of base) : 9036.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:AddSignalCount(uint):this (Tier0)
-5 (-5.81 % of base) : 2985.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
-4 (-5.56 % of base) : 1112.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,ubyte,ubyte):System.Type (Tier0)
-10 (-5.49 % of base) : 28762.dasm - System.UriHelper:UnescapeString(System.String,int,int,byref,ushort,ushort,ushort,int,System.UriParser,ubyte) (Tier0)
-6 (-5.45 % of base) : 11175.dasm - System.Threading.SpinLock:Exit(ubyte):this (Tier0)
-6 (-5.13 % of base) : 9504.dasm - System.Threading.PortableThreadPool+GateThread+DelayHelper:ShouldPerformGateActivities(int,ubyte):ubyte:this (Tier0)
-7 (-4.96 % of base) : 53612.dasm - System.Threading.TimerQueue:MoveTimerToCorrectList(System.Threading.TimerQueueTimer,ubyte):this (Tier0)
-5 (-4.90 % of base) : 16378.dasm - System.Runtime.Serialization.DataContractSerializer:.ctor(System.Type,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
-4 (-4.76 % of base) : 10975.dasm - System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1[int]:GetResult(short):int:this (Tier0)
-52 (-4.71 % of base) : 28460.dasm - System.ParseNumbers:StringToLong(System.ReadOnlySpan`1[ushort],int,int,byref):long (Tier0)
-4 (-4.71 % of base) : 13536.dasm - System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1[long]:GetResult(short):long:this (Tier0)
-4 (-4.71 % of base) : 10052.dasm - System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1[ubyte]:GetResult(short):ubyte:this (Tier0)
coreclr_tests.run.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 439635202 (overridden on cmd)
Total bytes of diff: 439388914 (overridden on cmd)
Total bytes of delta: -246288 (-0.06 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
3477 : 461529.dasm (11.45 % of base)
3477 : 461590.dasm (11.45 % of base)
3477 : 178211.dasm (11.45 % of base)
3477 : 178215.dasm (11.45 % of base)
1346 : 313449.dasm (3.36 % of base)
1323 : 536674.dasm (7.47 % of base)
1256 : 3306.dasm (2.93 % of base)
1235 : 313456.dasm (3.14 % of base)
1034 : 313425.dasm (2.63 % of base)
1030 : 313373.dasm (2.67 % of base)
956 : 3256.dasm (2.29 % of base)
956 : 3284.dasm (2.28 % of base)
923 : 313434.dasm (2.39 % of base)
919 : 313409.dasm (2.43 % of base)
602 : 510218.dasm (0.61 % of base)
602 : 523350.dasm (0.61 % of base)
534 : 501717.dasm (0.71 % of base)
534 : 220520.dasm (0.71 % of base)
527 : 522350.dasm (0.54 % of base)
527 : 523379.dasm (0.54 % of base)
Top file improvements (bytes):
-65025 : 528865.dasm (-4.74 % of base)
-65025 : 235756.dasm (-4.74 % of base)
-10516 : 297860.dasm (-0.11 % of base)
-3854 : 242750.dasm (-0.23 % of base)
-3854 : 540260.dasm (-0.23 % of base)
-3025 : 180271.dasm (-0.78 % of base)
-3025 : 452677.dasm (-0.78 % of base)
-1698 : 296827.dasm (-0.03 % of base)
-1534 : 296831.dasm (-0.05 % of base)
-870 : 429962.dasm (-0.88 % of base)
-870 : 145460.dasm (-0.88 % of base)
-409 : 216325.dasm (-2.48 % of base)
-398 : 298321.dasm (-0.03 % of base)
-363 : 514579.dasm (-0.68 % of base)
-363 : 215427.dasm (-0.69 % of base)
-329 : 502274.dasm (-0.84 % of base)
-329 : 504152.dasm (-0.84 % of base)
-329 : 221056.dasm (-0.84 % of base)
-329 : 222621.dasm (-0.84 % of base)
-290 : 216332.dasm (-1.63 % of base)
83 total files with Code Size differences (40 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
3477 (11.45 % of base) : 461529.dasm - <Module>:f():int (MinOpts)
3477 (11.45 % of base) : 461590.dasm - <Module>:f():int (MinOpts)
3477 (11.45 % of base) : 178211.dasm - <Module>:f():int (MinOpts)
3477 (11.45 % of base) : 178215.dasm - <Module>:f():int (MinOpts)
1346 (3.36 % of base) : 313449.dasm - lclfldsub:TestEntryPoint():int (Tier0)
1323 (7.47 % of base) : 536674.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
1256 (2.93 % of base) : 3306.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
1235 (3.14 % of base) : 313456.dasm - lclfldsub:TestEntryPoint():int (Tier0)
1034 (2.63 % of base) : 313425.dasm - lclfldmul:TestEntryPoint():int (Tier0)
1030 (2.67 % of base) : 313373.dasm - lclfldadd:TestEntryPoint():int (Tier0)
956 (2.29 % of base) : 3256.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
956 (2.28 % of base) : 3284.dasm - lclfldmul:TestEntryPoint():int (MinOpts)
923 (2.39 % of base) : 313434.dasm - lclfldmul:TestEntryPoint():int (Tier0)
919 (2.43 % of base) : 313409.dasm - lclfldadd:TestEntryPoint():int (Tier0)
602 (0.61 % of base) : 510218.dasm - u4div:TestEntryPoint():int (Tier0)
602 (0.61 % of base) : 523350.dasm - u4div:TestEntryPoint():int (Tier0)
534 (0.71 % of base) : 501717.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
534 (0.71 % of base) : 220520.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
527 (0.54 % of base) : 522350.dasm - i8div:TestEntryPoint():int (Tier0)
527 (0.54 % of base) : 523379.dasm - u8div:TestEntryPoint():int (Tier0)
Top method improvements (bytes):
-65025 (-4.74 % of base) : 528865.dasm - Tests.ManyFields:.ctor():this (Tier0)
-65025 (-4.74 % of base) : 235756.dasm - Tests.ManyFields:.ctor():this (Tier0-MinOpts)
-10516 (-0.11 % of base) : 297860.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-3854 (-0.23 % of base) : 242750.dasm - NullableTest:And() (MinOpts)
-3854 (-0.23 % of base) : 540260.dasm - NullableTest:And() (MinOpts)
-3025 (-0.78 % of base) : 180271.dasm - CTest:TestEntryPoint():int (MinOpts)
-3025 (-0.78 % of base) : 452677.dasm - CTest:TestEntryPoint():int (MinOpts)
-1698 (-0.03 % of base) : 296827.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-1534 (-0.05 % of base) : 296831.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-870 (-0.88 % of base) : 429962.dasm - GitHub_17073:Test() (Tier0)
-870 (-0.88 % of base) : 145460.dasm - GitHub_17073:Test() (Tier0-MinOpts)
-409 (-2.48 % of base) : 216325.dasm - Test_i8flat_cs.test:TestEntryPoint():int (MinOpts)
-398 (-0.03 % of base) : 298321.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-363 (-0.69 % of base) : 215427.dasm - JitTest_chain_boxunbox_il.Test:Main():int (MinOpts)
-363 (-0.68 % of base) : 514579.dasm - JitTest_chain_boxunbox_il.Test:Main():int (Tier0)
-329 (-0.84 % of base) : 502274.dasm - byteMDArrTest:TestEntryPoint():int (MinOpts)
-329 (-0.84 % of base) : 221056.dasm - byteMDArrTest:TestEntryPoint():int (MinOpts)
-329 (-0.84 % of base) : 504152.dasm - sbyteMDArrTest:TestEntryPoint():int (MinOpts)
-329 (-0.84 % of base) : 222621.dasm - sbyteMDArrTest:TestEntryPoint():int (MinOpts)
-290 (-1.63 % of base) : 216332.dasm - Test_i8_cs.test:TestEntryPoint():int (MinOpts)
Top method regressions (percentages):
15 (22.73 % of base) : 611664.dasm - Internal.TypeSystem.MethodSignature:get_EmbeddedSignatureMismatchPermitted():ubyte:this (Tier0)
12 (21.43 % of base) : 484217.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 479814.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
11 (20.75 % of base) : 627303.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
12 (19.05 % of base) : 461986.dasm - Program:TestRet2():ubyte (Tier0)
12 (19.05 % of base) : 532567.dasm - Runtime_75832:Test(int) (Tier0)
23 (18.40 % of base) : 499161.dasm - TestApp:test_2_3(float):float (Tier0)
22 (18.33 % of base) : 473410.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (18.18 % of base) : 605500.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_14():System.Object:this (Tier0)
12 (18.18 % of base) : 461976.dasm - Program:TestCond3() (Tier0)
23 (18.11 % of base) : 498900.dasm - TestApp:test_2_3(float):float (Tier0)
12 (17.65 % of base) : 605501.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_15():System.Object:this (Tier0)
12 (16.67 % of base) : 605488.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_4():System.Object:this (Tier0)
12 (16.67 % of base) : 605490.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_6():System.Object:this (Tier0)
20 (15.62 % of base) : 499088.dasm - TestApp:test_2_3(double):double (Tier0)
12 (15.58 % of base) : 605489.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_5():System.Object:this (Tier0)
12 (15.58 % of base) : 605491.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_7():System.Object:this (Tier0)
20 (15.38 % of base) : 498811.dasm - TestApp:test_2_3(double):double (Tier0)
20 (15.38 % of base) : 542363.dasm - TestApp:test_2_3(double):double (Tier0)
25 (12.76 % of base) : 540609.dasm - ILGEN_0x64f58bd0:Method_0x1bb0(int,ulong,float,uint,uint):int (Tier0)
Top method improvements (percentages):
-63 (-12.48 % of base) : 334243.dasm - TestNon2PowerStructs:TestComposite() (Tier0)
-15 (-9.74 % of base) : 469510.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
-6 (-8.70 % of base) : 643935.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
-6 (-8.70 % of base) : 608019.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
-6 (-8.70 % of base) : 630299.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
-7 (-8.64 % of base) : 531074.dasm - NormalizeTest.Program:ShortTest1(short,int):int (Tier0)
-66 (-8.57 % of base) : 191977.dasm - (dynamicClass):ABIStress_TailCaller241(ABIStress.I128_1,ABIStress.S3U,ABIStress.S11U,ABIStress.S4P,float,long,ubyte,ABIStress.S8P,short,ABIStress.S4P,ABIStress.S7U,ABIStress.S8U,ABIStress.S14U,ABIStress.S3U,ABIStress.S5U,ABIStress.S16U,System.Runtime.Intrinsics.Vector128`1[int],ABIStress.S7U,ABIStress.S13U,ABIStress.S2U,ABIStress.S5U,ABIStress.S5U):int (MinOpts)
-175 (-7.96 % of base) : 192518.dasm - (dynamicClass):ABIStress_TailCaller534(ABIStress.S32U,ABIStress.S15U,ubyte,ABIStress.S4P,int,ABIStress.S14U,short,short,ABIStress.S1P,ABIStress.S8P,System.Runtime.Intrinsics.Vector256`1[int]):int (MinOpts)
-7 (-7.95 % of base) : 462869.dasm - P:TestByPtr(ulong):int (Tier0)
-67 (-7.89 % of base) : 192536.dasm - (dynamicClass):ABIStress_TailCaller544(ABIStress.S14U,ABIStress.S16U,ABIStress.S7U,ABIStress.S16U,System.Runtime.Intrinsics.Vector256`1[int],ABIStress.S1P,System.Runtime.Intrinsics.Vector128`1[int],ABIStress.S13U,ABIStress.S8P,ABIStress.S4P,ABIStress.S2P,ABIStress.S13U,ABIStress.S8U,ABIStress.S4U,ABIStress.I128_1,ABIStress.S2U,ABIStress.S4U,ABIStress.S8U,long,ABIStress.S4P,ABIStress.S12U):int (MinOpts)
-3 (-6.98 % of base) : 514302.dasm - InlineBool.Program:Not04(ubyte):ubyte (Tier0)
-25 (-6.96 % of base) : 612098.dasm - Internal.IL.StackValue:CreateByRef(Internal.TypeSystem.TypeDesc,ubyte,ubyte):Internal.IL.StackValue (Tier0)
-9 (-6.82 % of base) : 530604.dasm - Runtime_55143:M47(short):int (Tier0)
-54 (-6.64 % of base) : 196704.dasm - (dynamicClass):IL_STUB_PInvoke(ABIStress.S8U,ABIStress.S3U,ABIStress.S1P,ABIStress.S4U,ABIStress.S16U,short,ABIStress.S2P,ABIStress.S8P,ABIStress.S4P,ABIStress.S3U,long,ABIStress.S11U,ABIStress.S11U,short,ABIStress.S3U,ABIStress.S2U,ABIStress.S17U):int (MinOpts)
-13 (-6.50 % of base) : 541302.dasm - PerfNotIf:notIf(ubyte):ubyte:this (Instrumented Tier0)
-93 (-6.41 % of base) : 331971.dasm - Microsoft.Diagnostics.Tracing.Session.TraceEventProviders:GetEventSourceGuidFromName(System.String):System.Guid (Instrumented Tier0)
-6 (-6.19 % of base) : 452205.dasm - VectorTest+VectorUnusedTest`1[short]:VectorUnused(short,short):int (Tier0)
-3 (-6.12 % of base) : 482046.dasm - Roslyn.Utilities.Hash:Combine(ubyte,int):int (Instrumented Tier0)
-3 (-6.12 % of base) : 478804.dasm - Roslyn.Utilities.Hash:Combine(ubyte,int):int (Tier0)
-57 (-6.06 % of base) : 193431.dasm - (dynamicClass):IL_STUB_PInvoke(ABIStress.S4P,ABIStress.S5U,ABIStress.S3U,ubyte,ABIStress.S15U,ABIStress.Hfa2,ABIStress.S3U,ABIStress.S6U,ABIStress.S2U,ABIStress.S8P,long,short,ABIStress.S10U,ABIStress.S17U,ABIStress.S4P,ABIStress.S16U,short,ABIStress.S4P,ABIStress.S9U):int (MinOpts)
libraries.crossgen2.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 38636779 (overridden on cmd)
Total bytes of diff: 38636775 (overridden on cmd)
Total bytes of delta: -4 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
1 : 160536.dasm (0.61 % of base)
Top file improvements (bytes):
-2 : 6602.dasm (-1.79 % of base)
-2 : 6607.dasm (-1.79 % of base)
-1 : 6606.dasm (-0.93 % of base)
4 total files with Code Size differences (3 improved, 1 regressed), 4 unchanged.
Top method regressions (bytes):
1 (0.61 % of base) : 160536.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (bytes):
-2 (-1.79 % of base) : 6602.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
-2 (-1.79 % of base) : 6607.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
-1 (-0.93 % of base) : 6606.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
Top method regressions (percentages):
1 (0.61 % of base) : 160536.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (percentages):
-2 (-1.79 % of base) : 6602.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
-2 (-1.79 % of base) : 6607.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
-1 (-0.93 % of base) : 6606.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
4 total methods with Code Size differences (3 improved, 1 regressed).
libraries.pmi.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 59927414 (overridden on cmd)
Total bytes of diff: 59927401 (overridden on cmd)
Total bytes of delta: -13 (-0.00 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
1 : 206442.dasm (0.61 % of base)
Top file improvements (bytes):
-14 : 84665.dasm (-0.01 % of base)
2 total files with Code Size differences (1 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
1 (0.61 % of base) : 206442.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (bytes):
-14 (-0.01 % of base) : 84665.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
Top method regressions (percentages):
1 (0.61 % of base) : 206442.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (percentages):
-14 (-0.01 % of base) : 84665.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
2 total methods with Code Size differences (1 improved, 1 regressed).
libraries_tests.run.linux.x64.Release.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 328845908 (overridden on cmd)
Total bytes of diff: 328709427 (overridden on cmd)
Total bytes of delta: -136481 (-0.04 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
3483 : 516721.dasm (1.55 % of base)
3479 : 517429.dasm (1.48 % of base)
1323 : 466408.dasm (7.47 % of base)
1026 : 86711.dasm (4.47 % of base)
558 : 78642.dasm (1.02 % of base)
558 : 80274.dasm (1.02 % of base)
520 : 466787.dasm (4.20 % of base)
504 : 286134.dasm (1.69 % of base)
297 : 394497.dasm (3.37 % of base)
276 : 121564.dasm (1.77 % of base)
276 : 125419.dasm (1.77 % of base)
276 : 121684.dasm (1.77 % of base)
276 : 124987.dasm (1.77 % of base)
276 : 124417.dasm (1.77 % of base)
276 : 124594.dasm (1.77 % of base)
246 : 715963.dasm (0.80 % of base)
246 : 716178.dasm (0.80 % of base)
218 : 513513.dasm (3.60 % of base)
204 : 485541.dasm (2.75 % of base)
201 : 485547.dasm (2.70 % of base)
Top file improvements (bytes):
-1783 : 721383.dasm (-0.57 % of base)
-1718 : 721292.dasm (-0.87 % of base)
-957 : 708769.dasm (-1.01 % of base)
-957 : 688650.dasm (-1.08 % of base)
-624 : 206277.dasm (-1.32 % of base)
-490 : 625193.dasm (-2.53 % of base)
-490 : 643729.dasm (-2.53 % of base)
-490 : 656144.dasm (-2.53 % of base)
-490 : 656372.dasm (-0.69 % of base)
-490 : 627678.dasm (-0.69 % of base)
-490 : 672800.dasm (-2.53 % of base)
-490 : 678826.dasm (-0.38 % of base)
-380 : 717440.dasm (-0.25 % of base)
-323 : 715936.dasm (-0.74 % of base)
-302 : 717304.dasm (-0.23 % of base)
-296 : 557511.dasm (-2.45 % of base)
-296 : 558104.dasm (-2.45 % of base)
-253 : 206257.dasm (-0.88 % of base)
-204 : 686317.dasm (-2.18 % of base)
-204 : 685655.dasm (-2.19 % of base)
83 total files with Code Size differences (43 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
3483 (1.55 % of base) : 516721.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0)
3479 (1.48 % of base) : 517429.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Instrumented Tier0)
1323 (7.47 % of base) : 466408.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
1026 (4.47 % of base) : 86711.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
558 (1.02 % of base) : 80274.dasm - LibraryImportGenerator.UnitTests.CompileFails+<CodeSnippetsToCompile>d__1:MoveNext():ubyte:this (Instrumented Tier0)
558 (1.02 % of base) : 78642.dasm - LibraryImportGenerator.UnitTests.CompileFails+<CodeSnippetsToCompile>d__1:MoveNext():ubyte:this (Tier0)
520 (4.20 % of base) : 466787.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Instrumented Tier0)
504 (1.69 % of base) : 286134.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:<ObservableInstrumentMeasurementTest>b__7_0():this (Tier0)
297 (3.37 % of base) : 394497.dasm - System.Net.Http.QPack.H3StaticTable:.cctor() (Tier0)
276 (1.77 % of base) : 121564.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 125419.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 121684.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 124987.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 124417.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 124594.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
246 (0.80 % of base) : 715963.dasm - System.Text.RegularExpressions.Tests.RegexMatchTests+<AllMatches_TestData>d__46:MoveNext():ubyte:this (Instrumented Tier0)
246 (0.80 % of base) : 716178.dasm - System.Text.RegularExpressions.Tests.RegexMatchTests+<AllMatches_TestData>d__46:MoveNext():ubyte:this (Instrumented Tier0)
218 (3.60 % of base) : 513513.dasm - System.Numerics.Tests.op_rightshiftTest:RunRightShiftTests() (Instrumented Tier0)
204 (2.75 % of base) : 485541.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
201 (2.70 % of base) : 485547.dasm - System.Xml.Tests.TCErrorCondition:V9a():int:this (Instrumented Tier0)
Top method improvements (bytes):
-1783 (-0.57 % of base) : 721383.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-1718 (-0.87 % of base) : 721292.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-957 (-1.01 % of base) : 708769.dasm - System.Text.RegularExpressions.Tests.RegexRustTests+<MatchStartAndEndPositions_MemberData_Cases>d__1:MoveNext():ubyte:this (Instrumented Tier0)
-957 (-1.08 % of base) : 688650.dasm - System.Text.RegularExpressions.Tests.RegexRustTests+<MatchStartAndEndPositions_MemberData_Cases>d__1:MoveNext():ubyte:this (Tier0)
-624 (-1.32 % of base) : 206277.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read1_Object(ubyte,ubyte):System.Object:this (MinOpts)
-490 (-2.53 % of base) : 643729.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:.ctor(int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int):this (Instrumented Tier0)
-490 (-2.53 % of base) : 672800.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:.ctor(int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int):this (Instrumented Tier0)
-490 (-2.53 % of base) : 625193.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:.ctor(int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int):this (Tier0)
-490 (-2.53 % of base) : 656144.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:.ctor(int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int):this (Tier0)
-490 (-0.38 % of base) : 678826.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:Equals(System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):ubyte:this (Instrumented Tier0)
-490 (-0.69 % of base) : 656372.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:Equals(System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):ubyte:this (Tier0)
-490 (-0.69 % of base) : 627678.dasm - System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters:Equals(System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):ubyte:this (Tier0)
-380 (-0.25 % of base) : 717440.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4312_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
-323 (-0.74 % of base) : 715936.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-302 (-0.23 % of base) : 717304.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4304_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
-296 (-2.45 % of base) : 557511.dasm - System.Tests.EnumTests:ToString_TryFormat(ubyte,ubyte) (Instrumented Tier0)
-296 (-2.45 % of base) : 558104.dasm - System.Tests.EnumTests:ToString_TryFormat(ubyte,ubyte) (Instrumented Tier0)
-253 (-0.88 % of base) : 206257.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write1_Object(System.String,System.String,System.Object,ubyte,ubyte):this (MinOpts)
-204 (-2.18 % of base) : 686317.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-204 (-2.19 % of base) : 685655.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method regressions (percentages):
15 (24.19 % of base) : 79960.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
15 (22.73 % of base) : 730584.dasm - System.Threading.RateLimiting.TimerAwaitable:get_IsCompleted():ubyte:this (Tier0)
16 (21.62 % of base) : 619632.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
16 (21.62 % of base) : 234154.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
12 (21.43 % of base) : 172619.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 32692.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 159220.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 12099.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
12 (21.43 % of base) : 151250.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
12 (21.43 % of base) : 166864.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
11 (20.75 % of base) : 3196.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
15 (20.55 % of base) : 40539.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Instrumented Tier0)
15 (20.55 % of base) : 18762.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Tier0)
12 (20.34 % of base) : 730702.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2[System.__Canon,int]:.cctor() (Tier0)
9 (19.15 % of base) : 214799.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
9 (19.15 % of base) : 213945.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
22 (18.33 % of base) : 457244.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
22 (18.33 % of base) : 206315.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
9 (17.65 % of base) : 12989.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
19 (16.10 % of base) : 165393.dasm - Microsoft.CodeAnalysis.Collections.Internal.SegmentedArrayHelper+ValueTypeSegmentHelper`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[System.__Canon,Roslyn.Utilities.VoidResult]]:.cctor() (Tier0)
Top method improvements (percentages):
-41 (-14.96 % of base) : 170833.dasm - Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Instrumented Tier0)
-41 (-14.96 % of base) : 148872.dasm - Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
-41 (-14.96 % of base) : 163845.dasm - Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+ModifierKind:.ctor(int):this (Tier0)
-15 (-9.74 % of base) : 517970.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte):this (Tier0)
-11 (-9.65 % of base) : 269430.dasm - System.IO.KeyParser:<TryParseTerminalInputSequence>g__Create|7_7(ushort,int,int):System.ConsoleKeyInfo (Instrumented Tier0)
-11 (-9.65 % of base) : 269345.dasm - System.IO.KeyParser:<TryParseTerminalInputSequence>g__Create|7_7(ushort,int,int):System.ConsoleKeyInfo (Tier0)
-6 (-9.23 % of base) : 119861.dasm - Microsoft.CodeAnalysis.CSharp.ValueSetFactory+BoolValueSet:Complement():Microsoft.CodeAnalysis.CSharp.IValueSet`1[ubyte]:this (Instrumented Tier0)
-6 (-9.23 % of base) : 115352.dasm - Microsoft.CodeAnalysis.CSharp.ValueSetFactory+BoolValueSet:Complement():Microsoft.CodeAnalysis.CSharp.IValueSet`1[ubyte]:this (Tier0)
-13 (-8.84 % of base) : 235393.dasm - System.Collections.Specialized.Tests.BitVector32Tests:CountBitsRequired(short):short (Instrumented Tier0)
-30 (-8.47 % of base) : 597468.dasm - System.ServiceModel.Syndication.Tests.XmlDiffDocument:set_Option(int):this (Tier0)
-40 (-8.00 % of base) : 538116.dasm - System.Tests.GuidTests:Ctor_Int_Short_Short_ByteArray(int,short,short,ubyte[],System.Guid) (Instrumented Tier0)
-40 (-8.00 % of base) : 537624.dasm - System.Tests.GuidTests:Ctor_Int_Short_Short_ByteArray(int,short,short,ubyte[],System.Guid) (Tier0)
-21 (-7.87 % of base) : 463504.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Instrumented Tier0)
-21 (-7.87 % of base) : 462878.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Tier0)
-15 (-7.77 % of base) : 119592.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:GetTypeArgumentVariance(short,short):short (Instrumented Tier0)
-47 (-7.37 % of base) : 84905.dasm - Microsoft.CodeAnalysis.DllImportData:MakeFlags(ubyte,int,ubyte,int,System.Nullable`1[ubyte],System.Nullable`1[ubyte]):short (Instrumented Tier0)
-12 (-7.23 % of base) : 77581.dasm - LibraryImportGenerator.IntegrationTests.CustomMarshallingTests:NonBlittableStructWithoutAllocation():this (Tier0)
-12 (-7.23 % of base) : 77632.dasm - LibraryImportGenerator.IntegrationTests.CustomMarshallingTests:NonBlittableStructWithoutAllocation_Stateful():this (Tier0)
-8 (-6.96 % of base) : 166609.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,uint,ubyte,ubyte,ubyte,ubyte):this (Tier0)
-8 (-6.96 % of base) : 152233.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,uint,ubyte,ubyte,ubyte,ubyte):this (Tier0)
librariestestsnotieredcompilation.run.linux.x64.Release.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 129732524 (overridden on cmd)
Total bytes of diff: 129678206 (overridden on cmd)
Total bytes of delta: -54318 (-0.04 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
3483 : 192320.dasm (1.55 % of base)
35 : 12222.dasm (0.95 % of base)
3 : 12217.dasm (0.28 % of base)
3 : 12292.dasm (0.83 % of base)
2 : 169827.dasm (0.83 % of base)
1 : 3666.dasm (0.06 % of base)
1 : 152718.dasm (0.61 % of base)
1 : 284897.dasm (0.15 % of base)
Top file improvements (bytes):
-1783 : 288666.dasm (-0.57 % of base)
-1718 : 288641.dasm (-0.87 % of base)
-624 : 62120.dasm (-1.32 % of base)
-380 : 283296.dasm (-0.25 % of base)
-323 : 285301.dasm (-0.74 % of base)
-302 : 283196.dasm (-0.23 % of base)
-253 : 62110.dasm (-0.88 % of base)
-204 : 273554.dasm (-2.19 % of base)
-204 : 273563.dasm (-2.18 % of base)
-105 : 61545.dasm (-0.29 % of base)
-105 : 63089.dasm (-0.28 % of base)
-104 : 61522.dasm (-0.85 % of base)
-104 : 63075.dasm (-0.85 % of base)
-94 : 289630.dasm (-0.97 % of base)
-76 : 277513.dasm (-0.03 % of base)
-69 : 3430.dasm (-0.34 % of base)
-68 : 62118.dasm (-0.85 % of base)
-62 : 276548.dasm (-0.99 % of base)
-62 : 276567.dasm (-0.99 % of base)
-56 : 276837.dasm (-1.26 % of base)
48 total files with Code Size differences (40 improved, 8 regressed), 32 unchanged.
Top method regressions (bytes):
3483 (1.55 % of base) : 192320.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
35 (0.95 % of base) : 12222.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)
3 (0.28 % of base) : 12217.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatVerifierMessage(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Diagnostic,Microsoft.CodeAnalysis.Testing.DiagnosticResult,System.String):System.String:this (MinOpts)
3 (0.83 % of base) : 12292.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
2 (0.83 % of base) : 169827.dasm - System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
1 (0.06 % of base) : 3666.dasm - Microsoft.CodeAnalysis.Testing.DiagnosticResult:ToString():System.String:this (MinOpts)
1 (0.61 % of base) : 152718.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
1 (0.15 % of base) : 284897.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get768_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method improvements (bytes):
-1783 (-0.57 % of base) : 288666.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-1718 (-0.87 % of base) : 288641.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-624 (-1.32 % of base) : 62120.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read1_Object(ubyte,ubyte):System.Object:this (MinOpts)
-380 (-0.25 % of base) : 283296.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4411_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
-323 (-0.74 % of base) : 285301.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-302 (-0.23 % of base) : 283196.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4403_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
-253 (-0.88 % of base) : 62110.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write1_Object(System.String,System.String,System.Object,ubyte,ubyte):this (MinOpts)
-204 (-2.19 % of base) : 273554.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-204 (-2.18 % of base) : 273563.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-105 (-0.29 % of base) : 61545.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:InitIDs():this (MinOpts)
-105 (-0.28 % of base) : 63089.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:InitIDs():this (MinOpts)
-104 (-0.85 % of base) : 61522.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializerContract:CanSerialize(System.Type):ubyte:this (MinOpts)
-104 (-0.85 % of base) : 63075.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializerContract:CanSerialize(System.Type):ubyte:this (MinOpts)
-94 (-0.97 % of base) : 289630.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-76 (-0.03 % of base) : 277513.dasm - System.Text.RegularExpressions.Tests.RegexPcre2Tests+<PcreTestData_Cases>d__1:MoveNext():ubyte:this (Tier0-MinOpts)
-69 (-0.34 % of base) : 3430.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+<ResolveCoreAsync>d__50:MoveNext():this (MinOpts)
-68 (-0.85 % of base) : 62118.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read84_XmlSerializerAttributes(ubyte,ubyte):SerializationTypes.XmlSerializerAttributes:this (MinOpts)
-62 (-0.99 % of base) : 276548.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get632_339+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-0.99 % of base) : 276567.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get638_341+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-56 (-1.26 % of base) : 276837.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get729_411+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method regressions (percentages):
3483 (1.55 % of base) : 192320.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
35 (0.95 % of base) : 12222.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)
3 (0.83 % of base) : 12292.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
2 (0.83 % of base) : 169827.dasm - System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
1 (0.61 % of base) : 152718.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
3 (0.28 % of base) : 12217.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatVerifierMessage(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Diagnostic,Microsoft.CodeAnalysis.Testing.DiagnosticResult,System.String):System.String:this (MinOpts)
1 (0.15 % of base) : 284897.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get768_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
1 (0.06 % of base) : 3666.dasm - Microsoft.CodeAnalysis.Testing.DiagnosticResult:ToString():System.String:this (MinOpts)
Top method improvements (percentages):
-7 (-2.98 % of base) : 284851.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get744_525+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.98 % of base) : 276939.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get784_440+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.98 % of base) : 276972.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get798_449+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.98 % of base) : 276986.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get804_453+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.98 % of base) : 276989.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get805_454+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-8 (-2.71 % of base) : 285891.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get359_103+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 273387.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 270477.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get101_87+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 270591.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get112_98+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 270599.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get113_99+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 270627.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get116_102+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 274951.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get134_89+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 288098.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get1639_760+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 288110.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get1645_764+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 284258.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get465_332+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 286534.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get737_284+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 286751.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get831_349+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 286821.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get851_368+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 286843.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get862_374+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.42 % of base) : 270388.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get89_76+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
realworld.run.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13174701 (overridden on cmd)
Total bytes of diff: 13173675 (overridden on cmd)
Total bytes of delta: -1026 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-1026 : 4586.dasm (-0.63 % of base)
1 total files with Code Size differences (1 improved, 0 regressed), 12 unchanged.
Top method improvements (bytes):
-1026 (-0.63 % of base) : 4586.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
Top method improvements (percentages):
-1026 (-0.63 % of base) : 4586.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
1 total methods with Code Size differences (1 improved, 0 regressed).
smoke_tests.nativeaot.linux.x64.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 4191403 (overridden on cmd)
Total bytes of diff: 4191403 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 3 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
Diffs are based on 2,257,766 contexts (928,286 MinOpts, 1,329,480 FullOpts).
MISSED contexts: 2,387 (0.11%)
Overall (+150,496 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run_pgo.osx.arm64.checked.mch
34,138,564
+1,480
benchmarks.run_tiered.osx.arm64.checked.mch
15,442,448
+316
coreclr_tests.run.osx.arm64.checked.mch
486,102,776
+148,116
libraries.crossgen2.osx.arm64.checked.mch
55,570,716
+0
libraries.pmi.osx.arm64.checked.mch
79,907,992
+0
libraries_tests.run.osx.arm64.Release.mch
314,762,740
+476
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
159,436,088
+108
realworld.run.osx.arm64.checked.mch
15,065,616
+0
MinOpts (+150,496 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run_pgo.osx.arm64.checked.mch
16,484,956
+1,480
benchmarks.run_tiered.osx.arm64.checked.mch
11,499,424
+316
coreclr_tests.run.osx.arm64.checked.mch
332,741,972
+148,116
libraries.crossgen2.osx.arm64.checked.mch
1,628
+0
libraries.pmi.osx.arm64.checked.mch
121,128
+0
libraries_tests.run.osx.arm64.Release.mch
203,635,640
+476
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
13,136,596
+108
realworld.run.osx.arm64.checked.mch
568,396
+0
Example diffs
benchmarks.run_pgo.osx.arm64.checked.mch
-20 (-11.90%) : 30538.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,41 +23,36 @@ G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M54294_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=20 bbWeight=1 PerfScore 10.00
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=24 bbWeight=1 PerfScore 11.00
G_M54294_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M54294_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #1 LSL #32
@@ -65,26 +60,27 @@ G_M54294_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M54294_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 168, prolog size 40, PerfScore 61.00, instruction count 42, allocated bytes for code 168 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 148, prolog size 36, PerfScore 52.50, instruction count 37, allocated bytes for code 148 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 37 (0x00025) Actual length = 148 (0x000094)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,10 +88,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 3369.dasm - System.Numerics.Tests.Perf_VectorOf
1[long]:AddBenchmark():System.Numerics.Vector
1[long]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[long]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[long]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M38349_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M38349_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M38349_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -36,28 +35,27 @@ G_M38349_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- add v0.2d, v8.2d, v0.2d
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ add v0.2d, v17.2d, v16.2d
;; size=84 bbWeight=1 PerfScore 19.00
G_M38349_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=69536a32) for method System.Numerics.Tests.Perf_VectorOf`1[long]:AddBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=69536a32) for method System.Numerics.Tests.Perf_VectorOf`1[long]:AddBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 23269.dasm - System.Numerics.Tests.Perf_VectorOf
1[uint]:MinBenchmark():System.Numerics.Vector
1[uint]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[uint]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[uint]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M53382_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M53382_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M53382_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -36,28 +35,27 @@ G_M53382_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- umin v0.4s, v8.4s, v0.4s
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ umin v0.4s, v17.4s, v16.4s
;; size=84 bbWeight=1 PerfScore 19.00
G_M53382_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=5af42f79) for method System.Numerics.Tests.Perf_VectorOf`1[uint]:MinBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=5af42f79) for method System.Numerics.Tests.Perf_VectorOf`1[uint]:MinBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
+4 (+10.00%) : 906.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128
1[ushort],System.Runtime.Intrinsics.Vector128
1[ushort]):System.Runtime.Intrinsics.Vector128`1ubyte@@ -18,17 +18,18 @@ G_M3630_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q1, [fp, #0x10] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M3630_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x20] // [V00 arg0]
- uqxtn v0.8b, v0.8h
- ldr q16, [fp, #0x10] // [V01 arg1]
- uqxtn2 v0.16b, v16.8h
- ;; size=16 bbWeight=1 PerfScore 10.00
+ ldr q16, [fp, #0x20] // [V00 arg0]
+ uqxtn v16.8b, v16.8h
+ ldr q17, [fp, #0x10] // [V01 arg1]
+ uqxtn2 v16.16b, v17.8h
+ mov v0.16b, v16.16b
+ ;; size=20 bbWeight=1 PerfScore 10.50
G_M3630_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 40, prolog size 8, PerfScore 15.50, instruction count 10, allocated bytes for code 40 (MethodHash=bc79f1d1) for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 16.00, instruction count 11, allocated bytes for code 44 (MethodHash=bc79f1d1) for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+10.00%) : 41034.dasm - System.MathF:CopySign(float,float):float (Tier0)
@@ -18,11 +18,12 @@ G_M24268_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str s1, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M24268_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr s16, [fp, #0x18] // [V01 arg1]
- ldr s17, [fp, #0x1C] // [V00 arg0]
- bsl v0.4s, v16.4s, v17.4s
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr s17, [fp, #0x18] // [V01 arg1]
+ ldr s18, [fp, #0x1C] // [V00 arg0]
+ bsl v16.4s, v17.4s, v18.4s
+ dup s0, v16.s[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000080000000h, 8000000080000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+11.11%) : 24201.dasm - System.Runtime.Intrinsics.Vector128:Createshort:System.Runtime.Intrinsics.Vector128`1short
@@ -19,16 +19,17 @@ G_M45666_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x20] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M45666_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x28] // [V00 arg0]
- ldr d16, [fp, #0x20] // [V01 arg1]
- ins v0.d[1], v16.d[0]
- ;; size=12 bbWeight=1 PerfScore 5.00
+ ldr d16, [fp, #0x28] // [V00 arg0]
+ ldr d17, [fp, #0x20] // [V01 arg1]
+ ins v16.d[1], v17.d[0]
+ mov v0.16b, v16.16b
+ ;; size=16 bbWeight=1 PerfScore 5.50
G_M45666_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 10.50, instruction count 9, allocated bytes for code 36 (MethodHash=7c254d9d) for method System.Runtime.Intrinsics.Vector128:Create[short](System.Runtime.Intrinsics.Vector64`1[short],System.Runtime.Intrinsics.Vector64`1[short]):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
+; Total bytes of code 40, prolog size 8, PerfScore 11.00, instruction count 10, allocated bytes for code 40 (MethodHash=7c254d9d) for method System.Runtime.Intrinsics.Vector128:Create[short](System.Runtime.Intrinsics.Vector64`1[short],System.Runtime.Intrinsics.Vector64`1[short]):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
benchmarks.run_tiered.osx.arm64.checked.mch
-20 (-11.90%) : 25376.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,41 +23,36 @@ G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M54294_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=20 bbWeight=1 PerfScore 10.00
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=24 bbWeight=1 PerfScore 11.00
G_M54294_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M54294_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #1 LSL #32
@@ -65,26 +60,27 @@ G_M54294_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M54294_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 168, prolog size 40, PerfScore 61.00, instruction count 42, allocated bytes for code 168 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 148, prolog size 36, PerfScore 52.50, instruction count 37, allocated bytes for code 148 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 37 (0x00025) Actual length = 148 (0x000094)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,10 +88,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 8413.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:SubtractBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Int>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Int>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M19622_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M19622_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M19622_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -36,28 +35,27 @@ G_M19622_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- sub v0.4s, v8.4s, v0.4s
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ sub v0.4s, v17.4s, v16.4s
;; size=84 bbWeight=1 PerfScore 19.00
G_M19622_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=12fab359) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Int:SubtractBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=12fab359) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Int:SubtractBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 21057.dasm - System.Numerics.Tests.Perf_VectorOf
1[long]:AndNotBenchmark():System.Numerics.Vector
1[long]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[long]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[long]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M26290_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M26290_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M26290_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -36,28 +35,27 @@ G_M26290_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- bic v0.2d, v8.2d, v0.2d
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ bic v0.2d, v17.2d, v16.2d
;; size=84 bbWeight=1 PerfScore 18.50
G_M26290_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.00, instruction count 28, allocated bytes for code 112 (MethodHash=2033994d) for method System.Numerics.Tests.Perf_VectorOf`1[long]:AndNotBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.00, instruction count 26, allocated bytes for code 104 (MethodHash=2033994d) for method System.Numerics.Tests.Perf_VectorOf`1[long]:AndNotBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
+4 (+10.00%) : 42810.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVectordouble,float:System.Numerics.Vector`1float
@@ -18,17 +18,18 @@ G_M18259_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q1, [fp, #0x10] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M18259_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x20] // [V00 arg0]
- fcvtn v0.2s, v0.2d
- ldr q16, [fp, #0x10] // [V01 arg1]
- fcvtn2 v0.4s, v16.2d
- ;; size=16 bbWeight=1 PerfScore 10.00
+ ldr q16, [fp, #0x20] // [V00 arg0]
+ fcvtn v16.2s, v16.2d
+ ldr q17, [fp, #0x10] // [V01 arg1]
+ fcvtn2 v16.4s, v17.2d
+ mov v0.16b, v16.16b
+ ;; size=20 bbWeight=1 PerfScore 10.50
G_M18259_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 40, prolog size 8, PerfScore 15.50, instruction count 10, allocated bytes for code 40 (MethodHash=c762b8ac) for method System.Numerics.Tests.Perf_VectorConvert:NarrowVector[double,float](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[float] (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 16.00, instruction count 11, allocated bytes for code 44 (MethodHash=c762b8ac) for method System.Numerics.Tests.Perf_VectorConvert:NarrowVector[double,float](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[float] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+10.00%) : 30703.dasm - System.MathF:CopySign(float,float):float (Tier0)
@@ -18,11 +18,12 @@ G_M24268_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str s1, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M24268_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr s16, [fp, #0x18] // [V01 arg1]
- ldr s17, [fp, #0x1C] // [V00 arg0]
- bsl v0.4s, v16.4s, v17.4s
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr s17, [fp, #0x18] // [V01 arg1]
+ ldr s18, [fp, #0x1C] // [V00 arg0]
+ bsl v16.4s, v17.4s, v18.4s
+ dup s0, v16.s[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000080000000h, 8000000080000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+11.11%) : 21094.dasm - System.Runtime.Intrinsics.Vector128:Createshort:System.Runtime.Intrinsics.Vector128`1short
@@ -19,16 +19,17 @@ G_M45666_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x20] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M45666_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x28] // [V00 arg0]
- ldr d16, [fp, #0x20] // [V01 arg1]
- ins v0.d[1], v16.d[0]
- ;; size=12 bbWeight=1 PerfScore 5.00
+ ldr d16, [fp, #0x28] // [V00 arg0]
+ ldr d17, [fp, #0x20] // [V01 arg1]
+ ins v16.d[1], v17.d[0]
+ mov v0.16b, v16.16b
+ ;; size=16 bbWeight=1 PerfScore 5.50
G_M45666_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 10.50, instruction count 9, allocated bytes for code 36 (MethodHash=7c254d9d) for method System.Runtime.Intrinsics.Vector128:Create[short](System.Runtime.Intrinsics.Vector64`1[short],System.Runtime.Intrinsics.Vector64`1[short]):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
+; Total bytes of code 40, prolog size 8, PerfScore 11.00, instruction count 10, allocated bytes for code 40 (MethodHash=7c254d9d) for method System.Runtime.Intrinsics.Vector128:Create[short](System.Runtime.Intrinsics.Vector64`1[short],System.Runtime.Intrinsics.Vector64`1[short]):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
coreclr_tests.run.osx.arm64.checked.mch
-8 (-6.67%) : 301206.dasm - GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
@@ -10,22 +10,21 @@
; V02 tmp1 [V02 ] ( 1, 1 ) simd16 -> [fp+0x20] HFA(float) do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.Numerics.Vector4>
; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 56
+; Lcl frame size = 48
G_M39822_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
- str d8, [sp, #0x48]
+ stp fp, lr, [sp, #-0x40]!
mov fp, sp
str s0, [fp, #0x30] // [V00 arg0]
str s1, [fp, #0x34] // [V00 arg0+0x04]
str s2, [fp, #0x38] // [V00 arg0+0x08]
str s3, [fp, #0x3C] // [V00 arg0+0x0c]
- ;; size=28 bbWeight=1 PerfScore 6.50
+ ;; size=24 bbWeight=1 PerfScore 5.50
G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
fmov s16, #1.0000
str s16, [fp, #0x3C] // [V00 arg0+0x0c]
- ldr q8, [fp, #0x30] // [V00 arg0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [fp, #0x30] // [V00 arg0]
+ str q16, [fp, #0x10] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -35,8 +34,8 @@ G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #220 LSL #16
movk x0, #1 LSL #32
ldr q16, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fadd v16.4s, v8.4s, v16.4s
+ ldr q17, [fp, #0x10] // [TEMP_01]
+ fadd v16.4s, v17.4s, v16.4s
str q16, [fp, #0x20] // [V02 tmp1]
ldr s0, [fp, #0x20] // [V02 tmp1]
ldr s1, [fp, #0x24] // [V02 tmp1+0x04]
@@ -44,23 +43,22 @@ G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr s3, [fp, #0x2C] // [V02 tmp1+0x0c]
;; size=80 bbWeight=1 PerfScore 26.00
G_M39822_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x48]
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x40
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 120, prolog size 12, PerfScore 36.50, instruction count 30, allocated bytes for code 120 (MethodHash=3ff16471) for method GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
+; Total bytes of code 112, prolog size 8, PerfScore 33.50, instruction count 28, allocated bytes for code 112 (MethodHash=3ff16471) for method GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 30 (0x0001e) Actual length = 120 (0x000078)
+ Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -68,10 +66,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 09 save_freg X#0 Z#9 (0x09); str d8, [sp, #72]
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
- E4 end
- E4 end
+ 87 save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
E4 end
E4 end
-12 (-6.12%) : 301632.dasm - Performance_2700:TestEntryPoint():int (Tier0)
@@ -11,15 +11,14 @@
; V03 tmp2 [V03 ] ( 1, 1 ) simd16 -> [fp+0x20] "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 72
+; Lcl frame size = 64
G_M50724_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x60]!
- str d8, [sp, #0x58]
+ stp fp, lr, [sp, #-0x50]!
mov fp, sp
str xzr, [fp, #0x40] // [V00 loc0]
str xzr, [fp, #0x48] // [V00 loc0+0x08]
- ;; size=20 bbWeight=1 PerfScore 4.50
+ ;; size=16 bbWeight=1 PerfScore 3.50
G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -29,8 +28,8 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #221 LSL #16
movk x0, #1 LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x10] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -40,8 +39,8 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x0, #221 LSL #16
movk x0, #1 LSL #32
ldr q16, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fmul v16.4s, v8.4s, v16.4s
+ ldr q17, [fp, #0x10] // [TEMP_01]
+ fmul v16.4s, v17.4s, v16.4s
str q16, [fp, #0x40] // [V00 loc0]
movi v16.4s, #0
str q16, [fp, #0x30] // [V02 tmp1]
@@ -60,33 +59,31 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov w0, wzr
;; size=148 bbWeight=1 PerfScore 40.50
G_M50724_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x58]
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M50724_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov w0, #100
;; size=4 bbWeight=1 PerfScore 0.50
G_M50724_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x58]
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
RWD00 dq 4000000040000000h, 4000000040000000h
-; Total bytes of code 196, prolog size 20, PerfScore 53.50, instruction count 49, allocated bytes for code 196 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
+; Total bytes of code 184, prolog size 16, PerfScore 48.50, instruction count 46, allocated bytes for code 184 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 2
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 46 (0x0002e) Actual length = 184 (0x0000b8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,10 +94,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 0B save_freg X#0 Z#11 (0x0B); str d8, [sp, #88]
- 8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
- E4 end
- E4 end
+ 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
E4 end
E4 end
-16 (-5.06%) : 219646.dasm - (dynamicClass):ILSTUBPInvoke():System.Numerics.Vector3 (MinOpts)
@@ -7,7 +7,7 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 loc0 [V00 ] ( 1, 1 ) int -> [fp+0xD4] do-not-enreg[]
+; V00 loc0 [V00 ] ( 1, 1 ) int -> [fp+0xDC] do-not-enreg[]
; V01 loc1 [V01 ] ( 1, 1 ) simd12 -> [fp+0xC0] HFA(float) do-not-enreg[SR] multireg-ret <System.Numerics.Vector3>
; V02 loc2 [V02 ] ( 1, 1 ) simd12 -> [fp+0xB0] HFA(float) do-not-enreg[S] <System.Numerics.Vector3>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -21,20 +21,18 @@
; TEMP_02 float -> [fp+0x70]
; TEMP_01 float -> [fp+0x6C]
;
-; Lcl frame size = 200
+; Lcl frame size = 208
G_M47779_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #0xD1FFAB1E]!
- stp d8, d9, [sp, #0xD8]
- str d10, [sp, #0xE8]
- stp x19, x20, [sp, #0xF0]
- stp x21, x22, [sp, #0xD1FFAB1E]
+ stp x19, x20, [sp, #0xE0]
+ stp x21, x22, [sp, #0xF0]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
str x12, [fp, #0x60] // [V04 tmp1]
- ;; size=40 bbWeight=1 PerfScore 9.50
+ ;; size=32 bbWeight=1 PerfScore 7.50
G_M47779_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
add x0, fp, #32 // [V09 PInvokeFrame+0x08]
mov x1, x12
@@ -48,7 +46,7 @@ G_M47779_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x1, fp, #32 // [V09 PInvokeFrame+0x08]
; byrRegs +[x1]
str x1, [x0, #0x10]
- str wzr, [fp, #0xD4] // [V00 loc0]
+ str wzr, [fp, #0xDC] // [V00 loc0]
nop
nop
ldr x0, [fp, #0x60] // [V04 tmp1]
@@ -88,12 +86,12 @@ G_M47779_IG05: ; bbWeight=1, isz, extend
; gcr arg pop 0
;; size=52 bbWeight=1 PerfScore 13.50
G_M47779_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr s8, [fp, #0x74] // [TEMP_03]
- str s8, [fp, #0x90] // [V06 tmp3]
- ldr s9, [fp, #0x70] // [TEMP_02]
- str s9, [fp, #0x94] // [V06 tmp3+0x04]
- ldr s10, [fp, #0x6C] // [TEMP_01]
- str s10, [fp, #0x98] // [V06 tmp3+0x08]
+ ldr s16, [fp, #0x74] // [TEMP_03]
+ str s16, [fp, #0x90] // [V06 tmp3]
+ ldr s17, [fp, #0x70] // [TEMP_02]
+ str s17, [fp, #0x94] // [V06 tmp3+0x04]
+ ldr s18, [fp, #0x6C] // [TEMP_01]
+ str s18, [fp, #0x98] // [V06 tmp3+0x08]
nop
ldr q16, [fp, #0x90] // [V06 tmp3]
str q16, [fp, #0xB0] // [V02 loc2]
@@ -114,26 +112,24 @@ G_M47779_IG07: ; bbWeight=1, epilog, nogc, extend
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xD1FFAB1E]
- ldp x21, x22, [sp, #0xD1FFAB1E]
- ldp x19, x20, [sp, #0xF0]
- ldr d10, [sp, #0xE8]
- ldp d8, d9, [sp, #0xD8]
+ ldp x21, x22, [sp, #0xF0]
+ ldp x19, x20, [sp, #0xE0]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
- ;; size=36 bbWeight=1 PerfScore 10.00
+ ;; size=28 bbWeight=1 PerfScore 7.00
-; Total bytes of code 316, prolog size 40, PerfScore 92.00, instruction count 79, allocated bytes for code 316 (MethodHash=962e455c) for method (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
+; Total bytes of code 300, prolog size 32, PerfScore 87.00, instruction count 75, allocated bytes for code 300 (MethodHash=962e455c) for method (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 4
+ Code Words : 3
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 79 (0x0004f) Actual length = 316 (0x00013c)
+ Function Length : 75 (0x0004b) Actual length = 300 (0x00012c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -145,10 +141,8 @@ Unwind Info:
E6 save_next
E6 save_next
E6 save_next
- C8 1E save_regp X#0 Z#30 (0x1E); stp x19, x20, [sp, #240]
- DC 9D save_freg X#2 Z#29 (0x1D); str d10, [sp, #232]
- D8 1B save_fregp X#0 Z#27 (0x1B); stp d8, d9, [sp, #216]
- A7 save_fplr_x #39 (0x27); stp fp, lr, [sp, #-320]!
+ C8 1C save_regp X#0 Z#28 (0x1C); stp x19, x20, [sp, #224]
+ A5 save_fplr_x #37 (0x25); stp fp, lr, [sp, #-304]!
E4 end
E4 end
E4 end
+44 (+73.33%) : 82122.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64
1[ubyte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector128
1[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector64
1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x48] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x18] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x10] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x88] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x58] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x50] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 simd8 -> [fp+0x48]
+; TEMP_01 simd8 -> [fp+0x40]
+; TEMP_05 simd16 -> [fp+0x30]
+; TEMP_04 simd16 -> [fp+0x20]
+; TEMP_03 simd16 -> [fp+0x10]
;
-; Lcl frame size = 64
+; Lcl frame size = 128
G_M54744_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
+ stp fp, lr, [sp, #-0x90]!
mov fp, sp
- str d0, [fp, #0x48] // [V00 arg0]
- str q1, [fp, #0x18] // [V01 arg1]
- str q2, [fp, #0x28] // [V01 arg1+0x10]
- str q3, [fp, #0x38] // [V01 arg1+0x20]
- str d4, [fp, #0x10] // [V02 arg2]
+ str d0, [fp, #0x88] // [V00 arg0]
+ str q1, [fp, #0x58] // [V01 arg1]
+ str q2, [fp, #0x68] // [V01 arg1+0x10]
+ str q3, [fp, #0x78] // [V01 arg1+0x20]
+ str d4, [fp, #0x50] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M54744_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x48] // [V00 arg0]
- ldr q16, [fp, #0x18] // [V01 arg1]
- ldr q17, [fp, #0x28] // [V01 arg1+0x10]
- ldr q18, [fp, #0x38] // [V01 arg1+0x20]
- ldr d19, [fp, #0x10] // [V02 arg2]
- tbx v0.8b, {v16.16b, v17.16b, v18.16b}, v19.8b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr d16, [fp, #0x88] // [V00 arg0]
+ str d16, [fp, #0x48] // [TEMP_02]
+ ldr q16, [fp, #0x58] // [V01 arg1]
+ str q16, [fp, #0x30] // [TEMP_05]
+ ldr q16, [fp, #0x68] // [V01 arg1+0x10]
+ str q16, [fp, #0x20] // [TEMP_04]
+ ldr q16, [fp, #0x78] // [V01 arg1+0x20]
+ str q16, [fp, #0x10] // [TEMP_03]
+ ldr d16, [fp, #0x50] // [V02 arg2]
+ str d16, [fp, #0x40] // [TEMP_01]
+ ldr d16, [fp, #0x48] // [TEMP_02]
+ ldr q17, [fp, #0x30] // [TEMP_05]
+ ldr q18, [fp, #0x20] // [TEMP_04]
+ ldr q19, [fp, #0x10] // [TEMP_03]
+ ldr d20, [fp, #0x40] // [TEMP_01]
+ tbx v16.8b, {v17.16b, v18.16b, v19.16b}, v20.8b
+ mov v0.8b, v16.8b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M54744_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x90
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=cf242a27) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=cf242a27) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
+ 91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
+44 (+73.33%) : 44055.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128
1[byte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector128
1[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector128
1[byte]):System.Runtime.Intrinsics.Vector128`1[byte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0x50] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x20] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd16 -> [fp+0x10] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0xA0] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x70] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd16 -> [fp+0x60] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_05 simd16 -> [fp+0x50]
+; TEMP_04 simd16 -> [fp+0x40]
+; TEMP_03 simd16 -> [fp+0x30]
+; TEMP_02 simd16 -> [fp+0x20]
+; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 80
+; Lcl frame size = 160
G_M10198_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x60]!
+ stp fp, lr, [sp, #-0xB0]!
mov fp, sp
- str q0, [fp, #0x50] // [V00 arg0]
- str q1, [fp, #0x20] // [V01 arg1]
- str q2, [fp, #0x30] // [V01 arg1+0x10]
- str q3, [fp, #0x40] // [V01 arg1+0x20]
- str q4, [fp, #0x10] // [V02 arg2]
+ str q0, [fp, #0xA0] // [V00 arg0]
+ str q1, [fp, #0x70] // [V01 arg1]
+ str q2, [fp, #0x80] // [V01 arg1+0x10]
+ str q3, [fp, #0x90] // [V01 arg1+0x20]
+ str q4, [fp, #0x60] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M10198_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x50] // [V00 arg0]
- ldr q16, [fp, #0x20] // [V01 arg1]
- ldr q17, [fp, #0x30] // [V01 arg1+0x10]
- ldr q18, [fp, #0x40] // [V01 arg1+0x20]
- ldr q19, [fp, #0x10] // [V02 arg2]
- tbx v0.16b, {v16.16b, v17.16b, v18.16b}, v19.16b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr q16, [fp, #0xA0] // [V00 arg0]
+ str q16, [fp, #0x50] // [TEMP_05]
+ ldr q16, [fp, #0x70] // [V01 arg1]
+ str q16, [fp, #0x40] // [TEMP_04]
+ ldr q16, [fp, #0x80] // [V01 arg1+0x10]
+ str q16, [fp, #0x30] // [TEMP_03]
+ ldr q16, [fp, #0x90] // [V01 arg1+0x20]
+ str q16, [fp, #0x20] // [TEMP_02]
+ ldr q16, [fp, #0x60] // [V02 arg2]
+ str q16, [fp, #0x10] // [TEMP_01]
+ ldr q16, [fp, #0x50] // [TEMP_05]
+ ldr q17, [fp, #0x40] // [TEMP_04]
+ ldr q18, [fp, #0x30] // [TEMP_03]
+ ldr q19, [fp, #0x20] // [TEMP_02]
+ ldr q20, [fp, #0x10] // [TEMP_01]
+ tbx v16.16b, {v17.16b, v18.16b, v19.16b}, v20.16b
+ mov v0.16b, v16.16b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M10198_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0xB0
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=51c0d829) for method System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=51c0d829) for method System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
+ 95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
+44 (+73.33%) : 82147.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64
1[byte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector128
1[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector64
1[byte]):System.Runtime.Intrinsics.Vector64`1[byte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x48] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x18] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x10] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x88] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x58] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x50] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 simd8 -> [fp+0x48]
+; TEMP_01 simd8 -> [fp+0x40]
+; TEMP_05 simd16 -> [fp+0x30]
+; TEMP_04 simd16 -> [fp+0x20]
+; TEMP_03 simd16 -> [fp+0x10]
;
-; Lcl frame size = 64
+; Lcl frame size = 128
G_M2168_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
+ stp fp, lr, [sp, #-0x90]!
mov fp, sp
- str d0, [fp, #0x48] // [V00 arg0]
- str q1, [fp, #0x18] // [V01 arg1]
- str q2, [fp, #0x28] // [V01 arg1+0x10]
- str q3, [fp, #0x38] // [V01 arg1+0x20]
- str d4, [fp, #0x10] // [V02 arg2]
+ str d0, [fp, #0x88] // [V00 arg0]
+ str q1, [fp, #0x58] // [V01 arg1]
+ str q2, [fp, #0x68] // [V01 arg1+0x10]
+ str q3, [fp, #0x78] // [V01 arg1+0x20]
+ str d4, [fp, #0x50] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M2168_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x48] // [V00 arg0]
- ldr q16, [fp, #0x18] // [V01 arg1]
- ldr q17, [fp, #0x28] // [V01 arg1+0x10]
- ldr q18, [fp, #0x38] // [V01 arg1+0x20]
- ldr d19, [fp, #0x10] // [V02 arg2]
- tbx v0.8b, {v16.16b, v17.16b, v18.16b}, v19.8b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr d16, [fp, #0x88] // [V00 arg0]
+ str d16, [fp, #0x48] // [TEMP_02]
+ ldr q16, [fp, #0x58] // [V01 arg1]
+ str q16, [fp, #0x30] // [TEMP_05]
+ ldr q16, [fp, #0x68] // [V01 arg1+0x10]
+ str q16, [fp, #0x20] // [TEMP_04]
+ ldr q16, [fp, #0x78] // [V01 arg1+0x20]
+ str q16, [fp, #0x10] // [TEMP_03]
+ ldr d16, [fp, #0x50] // [V02 arg2]
+ str d16, [fp, #0x40] // [TEMP_01]
+ ldr d16, [fp, #0x48] // [TEMP_02]
+ ldr q17, [fp, #0x30] // [TEMP_05]
+ ldr q18, [fp, #0x20] // [TEMP_04]
+ ldr q19, [fp, #0x10] // [TEMP_03]
+ ldr d20, [fp, #0x40] // [TEMP_01]
+ tbx v16.8b, {v17.16b, v18.16b, v19.16b}, v20.8b
+ mov v0.8b, v16.8b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M2168_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x90
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=e897f787) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=e897f787) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
+ 91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
libraries.crossgen2.osx.arm64.checked.mch
+0 (0.00%) : 6841.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -33,10 +33,10 @@ G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x3
; gcrRegs -[x0 x2]
str w0, [fp, #0x24] // [V01 loc0]
- adrp x1, [HIGH RELOC #0xD1FFAB1E] // const ptr
- add x1, x1, [LOW RELOC #0xD1FFAB1E]
- ldr x1, [x1]
- ldr x1, [x1]
+ adrp x0, [HIGH RELOC #0xD1FFAB1E] // const ptr
+ add x0, x0, [LOW RELOC #0xD1FFAB1E]
+ ldr x0, [x0]
+ ldr x1, [x0]
; gcrRegs +[x1]
ldr w0, [fp, #0x24] // [V01 loc0]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
+0 (0.00%) : 204165.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -38,8 +38,8 @@ G_M16092_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- ldr w11, [fp, #0x20] // [V06 tmp1]
- cmp w0, w11
+ ldr w1, [fp, #0x20] // [V06 tmp1]
+ cmp w0, w1
beq G_M16092_IG04
mov w0, wzr
;; size=60 bbWeight=1 PerfScore 16.00
+0 (0.00%) : 6842.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -28,17 +28,17 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- fcvtzs x11, d0
- str x11, [fp, #0x18] // [V02 loc0]
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0
- sxtw x0, w0
- cmp x11, x0
+ fcvtzs x0, d0
+ str x0, [fp, #0x18] // [V02 loc0]
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0
+ sxtw x1, w1
+ cmp x0, x1
blt G_M28342_IG03
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0xD1FFAB1E LSL #16
- sxtw x0, w0
- cmp x11, x0
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0xD1FFAB1E LSL #16
+ sxtw x1, w1
+ cmp x0, x1
ble G_M28342_IG04
;; size=68 bbWeight=1 PerfScore 17.50
G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+0 (0.00%) : 6846.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -34,26 +34,26 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x3
; gcrRegs -[x0 x2]
str w0, [fp, #0x24] // [V01 loc0]
- ldr x1, [fp, #0x28] // [V00 arg0]
- ; gcrRegs +[x1]
- ldr w1, [x1, #0x08]
- ; gcrRegs -[x1]
- cbz w1, G_M30483_IG03
- ldr w1, [fp, #0x24] // [V01 loc0]
- cmn w1, #1
- cset x1, ne
- str w1, [fp, #0x14] // [V04 tmp1]
+ ldr x0, [fp, #0x28] // [V00 arg0]
+ ; gcrRegs +[x0]
+ ldr w0, [x0, #0x08]
+ ; gcrRegs -[x0]
+ cbz w0, G_M30483_IG03
+ ldr w0, [fp, #0x24] // [V01 loc0]
+ cmn w0, #1
+ cset x0, ne
+ str w0, [fp, #0x14] // [V04 tmp1]
b G_M30483_IG04
;; size=68 bbWeight=1 PerfScore 22.50
G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov w1, #1
- str w1, [fp, #0x14] // [V04 tmp1]
+ mov w0, #1
+ str w0, [fp, #0x14] // [V04 tmp1]
;; size=8 bbWeight=1 PerfScore 1.50
G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- adrp x1, [HIGH RELOC #0xD1FFAB1E] // const ptr
- add x1, x1, [LOW RELOC #0xD1FFAB1E]
- ldr x1, [x1]
- ldr x1, [x1]
+ adrp x0, [HIGH RELOC #0xD1FFAB1E] // const ptr
+ add x0, x0, [LOW RELOC #0xD1FFAB1E]
+ ldr x0, [x0]
+ ldr x1, [x0]
; gcrRegs +[x1]
ldr w0, [fp, #0x14] // [V04 tmp1]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
+0 (0.00%) : 6847.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -28,17 +28,17 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- fcvtzs x11, d0
- str x11, [fp, #0x18] // [V02 loc0]
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0
- sxtw x0, w0
- cmp x11, x0
+ fcvtzs x0, d0
+ str x0, [fp, #0x18] // [V02 loc0]
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0
+ sxtw x1, w1
+ cmp x0, x1
blt G_M50957_IG03
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0xD1FFAB1E LSL #16
- sxtw x0, w0
- cmp x11, x0
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0xD1FFAB1E LSL #16
+ sxtw x1, w1
+ cmp x0, x1
ble G_M50957_IG04
;; size=68 bbWeight=1 PerfScore 17.50
G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
libraries.pmi.osx.arm64.checked.mch
+0 (0.00%) : 100183.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
@@ -1346,21 +1346,22 @@ G_M12913_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcr arg pop 0
str x0, [fp, #0xD1FFAB1E] // [V02 loc0]
- ldr x2, [fp, #0xD1FFAB1E] // [V02 loc0]
- ; gcrRegs +[x2]
- cbz x2, G_M12913_IG05
- ldr x2, [fp, #0xD1FFAB1E] // [V02 loc0]
- ldr x2, [x2, #0x08]
- str x2, [fp, #0xD1FFAB1E] // [V03 loc1]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ cbz x0, G_M12913_IG05
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ ldr x0, [x0, #0x08]
+ str x0, [fp, #0xD1FFAB1E] // [V03 loc1]
;; size=48 bbWeight=1 PerfScore 17.50
G_M12913_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0 x2]
- ldr x2, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs -[x0]
+ ldr x0, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs +[x0]
+ ldr x2, [x0, #0x08]
; gcrRegs +[x2]
- ldr x2, [x2, #0x08]
ldr x1, [fp, #0xD1FFAB1E] // [V03 loc1]
; gcrRegs +[x1]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38358,16 +38359,18 @@ G_M12913_IG649: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #2 LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V1269 tmp844]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #2 LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V1269 tmp844]
ldr x1, [fp, #0xD1FFAB1E] // [V1269 tmp844]
+ ; gcrRegs +[x1]
ldr x2, [fp, #0xD1FFAB1E] // [V411 loc409]
; gcrRegs +[x2]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38393,21 +38396,23 @@ G_M12913_IG649: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #2 LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V1270 tmp845]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #2 LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V1270 tmp845]
ldr x1, [fp, #0xD1FFAB1E] // [V1270 tmp845]
- ldr x4, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs +[x1]
+ ldr x0, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ldr x4, [x0, #0x08]
; gcrRegs +[x4]
- ldr x4, [x4, #0x08]
ldr x2, [fp, #0xD1FFAB1E] // [V411 loc409]
; gcrRegs +[x2]
ldr x3, [fp, #0xD1FFAB1E] // [V412 loc410]
; gcrRegs +[x3]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
movz x5, #0xD1FFAB1E // code for <unknown method>
@@ -38480,16 +38485,18 @@ G_M12913_IG650: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #2 LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xF8] // [V1272 tmp847]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #2 LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xF8] // [V1272 tmp847]
ldr x1, [fp, #0xF8] // [V1272 tmp847]
+ ; gcrRegs +[x1]
ldr x2, [fp, #0xD1FFAB1E] // [V31 loc29]
; gcrRegs +[x2]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38915,9 +38922,11 @@ G_M12913_IG662: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0xB0] // [V1281 tmp856]
ldr x2, [fp, #0xB0] // [V1281 tmp856]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39058,9 +39067,11 @@ G_M12913_IG670: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x90] // [V1285 tmp860]
ldr x2, [fp, #0x90] // [V1285 tmp860]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39261,9 +39272,11 @@ G_M12913_IG679: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x70] // [V1289 tmp864]
ldr x2, [fp, #0x70] // [V1289 tmp864]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39404,9 +39417,11 @@ G_M12913_IG687: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x50] // [V1293 tmp868]
ldr x2, [fp, #0x50] // [V1293 tmp868]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
libraries_tests.run.osx.arm64.Release.mch
-20 (-11.90%) : 470246.dasm - System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M10646_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,41 +23,36 @@ G_M10646_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M10646_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=20 bbWeight=1 PerfScore 10.00
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=24 bbWeight=1 PerfScore 11.00
G_M10646_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M10646_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #2 LSL #32
@@ -65,26 +60,27 @@ G_M10646_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M10646_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 168, prolog size 40, PerfScore 61.00, instruction count 42, allocated bytes for code 168 (MethodHash=3d86d669) for method System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 148, prolog size 36, PerfScore 52.50, instruction count 37, allocated bytes for code 148 (MethodHash=3d86d669) for method System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 37 (0x00025) Actual length = 148 (0x000094)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,10 +88,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-20 (-11.90%) : 265503.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,41 +23,36 @@ G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M54294_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=20 bbWeight=1 PerfScore 10.00
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=24 bbWeight=1 PerfScore 11.00
G_M54294_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M54294_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #1 LSL #32
@@ -65,26 +60,27 @@ G_M54294_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M54294_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 168, prolog size 40, PerfScore 61.00, instruction count 42, allocated bytes for code 168 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
+; Total bytes of code 148, prolog size 36, PerfScore 52.50, instruction count 37, allocated bytes for code 148 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 37 (0x00025) Actual length = 148 (0x000094)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,10 +88,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
-20 (-11.90%) : 475539.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
@@ -5,17 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA0] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x98] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0xA8] do-not-enreg[] this class-hnd <System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0xA0] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
-; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (128) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.ECParameters>
+; V04 tmp2 [V04 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 152
+; Lcl frame size = 160
G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xB0]!
- str x19, [sp, #0xA8]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
@@ -23,41 +23,36 @@ G_M54294_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
- str xzr, [x9, #0x80]
- str x0, [fp, #0xA0] // [V00 this]
- str x1, [fp, #0x98] // [V01 arg1]
- ;; size=48 bbWeight=1 PerfScore 10.50
+ stp xzr, xzr, [x9, #0x80]
+ str x0, [fp, #0xA8] // [V00 this]
+ str x1, [fp, #0xA0] // [V01 arg1]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M54294_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x19, [fp, #0xA0] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0xA0] // [V00 this]
+ ldr x0, [fp, #0xA8] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x18]
- str x0, [fp, #0x10] // [V04 tmp2]
- ldr x0, [fp, #0x98] // [V01 arg1]
- ; gcrRegs -[x0]
- ; byrRegs +[x0]
- ;; size=20 bbWeight=1 PerfScore 10.00
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0xA8] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x18]
+ str x1, [fp, #0x18] // [V04 tmp2]
+ ldr x1, [fp, #0xA0] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=24 bbWeight=1 PerfScore 11.00
G_M54294_IG03: ; bbWeight=1, nogc, extend
- sub x1, x0, #24
- ldr x2, [x1, #0x18]
- str x2, [fp, #0x18]
- ldp q16, q17, [x1, #0x20]
+ ldp q16, q17, [x1]
stp q16, q17, [fp, #0x20]
- ldp q16, q17, [x1, #0x40]
+ ldp q16, q17, [x1, #0x20]
stp q16, q17, [fp, #0x40]
- ldp q16, q17, [x1, #0x60]
+ ldp q16, q17, [x1, #0x40]
stp q16, q17, [fp, #0x60]
- ldr q16, [x1, #0x80]
- str q16, [fp, #0x80]
- ldr x2, [x1, #0x90]
- str x2, [fp, #0x90]
- ;; size=52 bbWeight=1 PerfScore 24.50
+ ldp q16, q17, [x1, #0x60]
+ stp q16, q17, [fp, #0x80]
+ ;; size=32 bbWeight=1 PerfScore 16.00
G_M54294_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V04 tmp2]
- ; gcrRegs +[x0]
- ; byrRegs -[x0]
- add x1, fp, #24 // [V03 tmp1]
+ ldr x0, [fp, #0x18] // [V04 tmp2]
+ add x1, fp, #32 // [V03 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #1 LSL #32
@@ -65,26 +60,27 @@ G_M54294_IG04: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- str w0, [x19, #0x10]
- ;; size=36 bbWeight=1 PerfScore 12.00
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x10]
+ ;; size=40 bbWeight=1 PerfScore 14.00
G_M54294_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0xA8]
ldp fp, lr, [sp], #0xB0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 168, prolog size 40, PerfScore 61.00, instruction count 42, allocated bytes for code 168 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
+; Total bytes of code 148, prolog size 36, PerfScore 52.50, instruction count 37, allocated bytes for code 148 (MethodHash=99b12be9) for method System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 37 (0x00025) Actual length = 148 (0x000094)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,10 +88,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 15 save_reg X#0 Z#21 (0x15); str x19, [sp, #168]
95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
- E4 end
- E4 end
+12 (+12.50%) : 425216.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:LogDoubleTest(double,double,double):this (Tier0)
@@ -24,28 +24,31 @@ G_M27621_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str x0, [fp, #0x38] // [V00 this]
;; size=28 bbWeight=1 PerfScore 6.50
G_M27621_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x30] // [V01 arg1]
+ ldr d16, [fp, #0x30] // [V01 arg1]
+ fmov d0, d16
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
ldr x0, [x0]
blr x0
str d0, [fp, #0x18] // [V04 loc0]
- ldr d0, [fp, #0x28] // [V02 arg2]
- ldr d2, [fp, #0x20] // [V03 arg3]
+ ldr d16, [fp, #0x28] // [V02 arg2]
+ fmov d0, d16
+ ldr d16, [fp, #0x20] // [V03 arg3]
+ fmov d2, d16
ldr d1, [fp, #0x18] // [V04 loc0]
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
ldr x0, [x0]
blr x0
- ;; size=60 bbWeight=1 PerfScore 20.00
+ ;; size=72 bbWeight=1 PerfScore 21.50
G_M27621_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x40
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 96, prolog size 12, PerfScore 28.50, instruction count 24, allocated bytes for code 96 (MethodHash=cc6f941a) for method System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:LogDoubleTest(double,double,double):this (Tier0)
+; Total bytes of code 108, prolog size 12, PerfScore 30.00, instruction count 27, allocated bytes for code 108 (MethodHash=cc6f941a) for method System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:LogDoubleTest(double,double,double):this (Tier0)
; ============================================================
Unwind Info:
@@ -56,7 +59,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 24 (0x00018) Actual length = 96 (0x000060)
+ Function Length : 27 (0x0001b) Actual length = 108 (0x00006c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+14.29%) : 361193.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator
1[double]:Invoke(System.Runtime.Intrinsics.Vector128
1[double]):double (Tier0)@@ -16,15 +16,16 @@ G_M29631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q0, [fp, #0x10] // [V00 arg0]
;; size=12 bbWeight=1 PerfScore 2.50
G_M29631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x10] // [V00 arg0]
- faddp d0, v0.2d
- ;; size=8 bbWeight=1 PerfScore 5.00
+ ldr q16, [fp, #0x10] // [V00 arg0]
+ faddp d16, v16.2d
+ dup d0, v16.d[0]
+ ;; size=12 bbWeight=1 PerfScore 6.00
G_M29631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 9.50, instruction count 7, allocated bytes for code 28 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 10.50, instruction count 8, allocated bytes for code 32 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
; ============================================================
Unwind Info:
@@ -35,7 +36,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 8 (0x00008) Actual length = 32 (0x000020)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+14.29%) : 362965.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator
1[double]:Invoke(System.Runtime.Intrinsics.Vector128
1[double]):double (Instrumented Tier0)@@ -16,15 +16,16 @@ G_M29631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q0, [fp, #0x10] // [V00 arg0]
;; size=12 bbWeight=1 PerfScore 2.50
G_M29631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x10] // [V00 arg0]
- faddp d0, v0.2d
- ;; size=8 bbWeight=1 PerfScore 5.00
+ ldr q16, [fp, #0x10] // [V00 arg0]
+ faddp d16, v16.2d
+ dup d0, v16.d[0]
+ ;; size=12 bbWeight=1 PerfScore 6.00
G_M29631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 9.50, instruction count 7, allocated bytes for code 28 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 10.50, instruction count 8, allocated bytes for code 32 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -35,7 +36,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 8 (0x00008) Actual length = 32 (0x000020)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
-8 (-1.57%) : 10533.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest
1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)@@ -7,39 +7,38 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x60] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [fp+0x50] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [fp+0x4C] do-not-enreg[] must-init
-; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [fp+0x48] do-not-enreg[] must-init
-; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [fp+0x44] do-not-enreg[] must-init
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x78] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x68] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [fp+0x58] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [fp+0x54] do-not-enreg[] must-init
+; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [fp+0x50] do-not-enreg[] must-init
+; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [fp+0x4C] do-not-enreg[] must-init
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07 ] ( 1, 1 ) int -> [fp+0x40] do-not-enreg[] "impSpillStackEnsure"
-; V08 tmp2 [V08 ] ( 1, 1 ) int -> [fp+0x3C] do-not-enreg[] must-init
-; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V11 tmp5 [V11 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] must-init
-; V12 tmp6 [V12 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "impSpillStackEnsure"
-; V13 tmp7 [V13 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "impSpillStackEnsure"
-; V14 tmp8 [V14 ] ( 1, 1 ) int -> [fp+0x18] do-not-enreg[] "impSpillStackEnsure"
+; V07 tmp1 [V07 ] ( 1, 1 ) int -> [fp+0x48] do-not-enreg[] "impSpillStackEnsure"
+; V08 tmp2 [V08 ] ( 1, 1 ) int -> [fp+0x44] do-not-enreg[] must-init
+; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V11 tmp5 [V11 ] ( 1, 1 ) int -> [fp+0x2C] do-not-enreg[] must-init
+; V12 tmp6 [V12 ] ( 1, 1 ) int -> [fp+0x28] do-not-enreg[] "impSpillStackEnsure"
+; V13 tmp7 [V13 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] "impSpillStackEnsure"
+; V14 tmp8 [V14 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "impSpillStackEnsure"
+; TEMP_01 ref -> [fp+0x18]
;
-; Lcl frame size = 104
+; Lcl frame size = 112
G_M13185_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x80]!
- str x19, [sp, #0x78]
mov fp, sp
- add x9, fp, #36
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
- str xzr, [x9, #0x20]
- str wzr, [x9, #0x28]
- str x0, [fp, #0x70] // [V00 this]
- str x1, [fp, #0x60] // [V01 arg1]
- str x2, [fp, #0x68] // [V01 arg1+0x08]
- str x3, [fp, #0x50] // [V02 arg2]
- str x4, [fp, #0x58] // [V02 arg2+0x08]
- ;; size=52 bbWeight=1 PerfScore 11.50
+ stp q16, q16, [x9, #0x20]
+ str x0, [fp, #0x78] // [V00 this]
+ str x1, [fp, #0x68] // [V01 arg1]
+ str x2, [fp, #0x70] // [V01 arg1+0x08]
+ str x3, [fp, #0x58] // [V02 arg2]
+ str x4, [fp, #0x60] // [V02 arg2+0x08]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M13185_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -53,9 +52,9 @@ G_M13185_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x0, [fp, #0x60] // [V01 arg1]
+ ldr x0, [fp, #0x68] // [V01 arg1]
; gcrRegs +[x0]
- ldr x1, [fp, #0x50] // [V02 arg2]
+ ldr x1, [fp, #0x58] // [V02 arg2]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -64,49 +63,48 @@ G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x2
; gcrRegs -[x0-x1]
; gcr arg pop 0
- str w0, [fp, #0x40] // [V07 tmp1]
- ldr w1, [fp, #0x40] // [V07 tmp1]
- uxtb w1, w1
- str w1, [fp, #0x4C] // [V03 loc0]
- ldr w1, [fp, #0x4C] // [V03 loc0]
- cbz w1, G_M13185_IG05
+ str w0, [fp, #0x48] // [V07 tmp1]
+ ldr w0, [fp, #0x48] // [V07 tmp1]
+ uxtb w0, w0
+ str w0, [fp, #0x54] // [V03 loc0]
+ ldr w0, [fp, #0x54] // [V03 loc0]
+ cbz w0, G_M13185_IG05
nop
- str wzr, [fp, #0x48] // [V04 loc1]
+ str wzr, [fp, #0x50] // [V04 loc1]
nop
b G_M13185_IG11
;; size=72 bbWeight=1 PerfScore 20.50
G_M13185_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x1, [fp, #0x68] // [V01 arg1+0x08]
- ; gcrRegs +[x1]
- cbz x1, G_M13185_IG06
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
- cmp x1, #0
- cset x1, eq
- ; gcrRegs -[x1]
- str w1, [fp, #0x3C] // [V08 tmp2]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
+ ; gcrRegs +[x0]
+ cbz x0, G_M13185_IG06
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
+ cmp x0, #0
+ cset x0, eq
+ ; gcrRegs -[x0]
+ str w0, [fp, #0x44] // [V08 tmp2]
b G_M13185_IG07
;; size=28 bbWeight=1 PerfScore 8.00
G_M13185_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov w1, #1
- str w1, [fp, #0x3C] // [V08 tmp2]
+ mov w0, #1
+ str w0, [fp, #0x44] // [V08 tmp2]
;; size=8 bbWeight=1 PerfScore 1.50
G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr w1, [fp, #0x3C] // [V08 tmp2]
- uxtb w1, w1
- str w1, [fp, #0x44] // [V05 loc2]
- ldr w1, [fp, #0x44] // [V05 loc2]
- cbz w1, G_M13185_IG08
+ ldr w0, [fp, #0x44] // [V08 tmp2]
+ uxtb w0, w0
+ str w0, [fp, #0x4C] // [V05 loc2]
+ ldr w0, [fp, #0x4C] // [V05 loc2]
+ cbz w0, G_M13185_IG08
nop
- add x1, fp, #96 // [V01 arg1]
+ add x1, fp, #104 // [V01 arg1]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #2 LSL #32
bl CORINFO_HELP_BOX
; gcrRegs +[x0]
; gcr arg pop 0
- mov x19, x0
- ; gcrRegs +[x19]
- add x1, fp, #80 // [V02 arg2]
+ str x0, [fp, #0x18] // [TEMP_01]
+ add x1, fp, #88 // [V02 arg2]
movz x0, #0xD1FFAB1E
; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
@@ -114,18 +112,20 @@ G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
bl CORINFO_HELP_BOX
; gcrRegs +[x0]
; gcr arg pop 0
- cmp x19, x0
+ ldr x1, [fp, #0x18] // [TEMP_01]
+ ; gcrRegs +[x1]
+ cmp x1, x0
cset x0, eq
; gcrRegs -[x0]
- str w0, [fp, #0x48] // [V04 loc1]
+ str w0, [fp, #0x50] // [V04 loc1]
nop
b G_M13185_IG11
- ;; size=88 bbWeight=1 PerfScore 17.00
+ ;; size=92 bbWeight=1 PerfScore 19.50
G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[x19]
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ; gcrRegs -[x1]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x0]
- ldr x1, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x1, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -133,9 +133,9 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1, #0x20]
blr x1
; gcr arg pop 0
- str x0, [fp, #0x30] // [V09 tmp3]
- ldr x0, [fp, #0x58] // [V02 arg2+0x08]
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
+ str x0, [fp, #0x38] // [V09 tmp3]
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
+ ldr x1, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -143,13 +143,13 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1, #0x20]
blr x1
; gcr arg pop 0
- str x0, [fp, #0x28] // [V10 tmp4]
- ldr x0, [fp, #0x30] // [V09 tmp3]
- ldr x1, [fp, #0x28] // [V10 tmp4]
+ str x0, [fp, #0x30] // [V10 tmp4]
+ ldr x0, [fp, #0x38] // [V09 tmp3]
+ ldr x1, [fp, #0x30] // [V10 tmp4]
; gcrRegs +[x1]
cmp x0, x1
bne G_M13185_IG09
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
movz x1, #0xD1FFAB1E // code for <unknown method>
; gcrRegs -[x1]
movk x1, #0xD1FFAB1E LSL #16
@@ -159,8 +159,8 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- str w0, [fp, #0x20] // [V12 tmp6]
- ldr x0, [fp, #0x58] // [V02 arg2+0x08]
+ str w0, [fp, #0x28] // [V12 tmp6]
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -170,14 +170,14 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- str w0, [fp, #0x1C] // [V13 tmp7]
- ldr w0, [fp, #0x20] // [V12 tmp6]
- ldr w1, [fp, #0x1C] // [V13 tmp7]
+ str w0, [fp, #0x24] // [V13 tmp7]
+ ldr w0, [fp, #0x28] // [V12 tmp6]
+ ldr w1, [fp, #0x24] // [V13 tmp7]
cmp w0, w1
bne G_M13185_IG09
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x0]
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
+ ldr x1, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -187,41 +187,40 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x2
; gcrRegs -[x0-x1]
; gcr arg pop 0
- str w0, [fp, #0x18] // [V14 tmp8]
- ldr w0, [fp, #0x18] // [V14 tmp8]
- str w0, [fp, #0x24] // [V11 tmp5]
+ str w0, [fp, #0x20] // [V14 tmp8]
+ ldr w0, [fp, #0x20] // [V14 tmp8]
+ str w0, [fp, #0x2C] // [V11 tmp5]
...
-4 (-1.15%) : 153385.dasm - Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -5,75 +5,74 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) struct (16) [fp+0x38] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x28] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
-; V02 loc0 [V02 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] must-init
-; V03 loc1 [V03 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] must-init
+; V00 arg0 [V00 ] ( 1, 1 ) struct (16) [fp+0x40] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x30] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.ReadOnlySpan`1[ubyte]>
+; V02 loc0 [V02 ] ( 1, 1 ) int -> [fp+0x2C] do-not-enreg[] must-init
+; V03 loc1 [V03 ] ( 1, 1 ) int -> [fp+0x28] do-not-enreg[] must-init
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "non-inline candidate call"
-; V06 tmp2 [V06 ] ( 1, 1 ) int -> [fp+0x18] do-not-enreg[] "non-inline candidate call"
-; V07 tmp3 [V07 ] ( 1, 1 ) int -> [fp+0x14] do-not-enreg[] "non-inline candidate call"
+; V05 tmp1 [V05 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] "non-inline candidate call"
+; V06 tmp2 [V06 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "non-inline candidate call"
+; V07 tmp3 [V07 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "non-inline candidate call"
+; TEMP_01 int -> [fp+0x18]
;
-; Lcl frame size = 56
+; Lcl frame size = 64
G_M13983_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x50]!
- str x19, [sp, #0x48]
mov fp, sp
- str wzr, [fp, #0x24] // [V02 loc0]
- str wzr, [fp, #0x20] // [V03 loc1]
- str x0, [fp, #0x38] // [V00 arg0]
- str x1, [fp, #0x40] // [V00 arg0+0x08]
- str x2, [fp, #0x28] // [V01 arg1]
- str x3, [fp, #0x30] // [V01 arg1+0x08]
- ;; size=36 bbWeight=1 PerfScore 8.50
+ str wzr, [fp, #0x2C] // [V02 loc0]
+ str wzr, [fp, #0x28] // [V03 loc1]
+ str x0, [fp, #0x40] // [V00 arg0]
+ str x1, [fp, #0x48] // [V00 arg0+0x08]
+ str x2, [fp, #0x30] // [V01 arg1]
+ str x3, [fp, #0x38] // [V01 arg1+0x08]
+ ;; size=32 bbWeight=1 PerfScore 7.50
G_M13983_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- add x0, fp, #56 // [V00 arg0]
+ add x0, fp, #64 // [V00 arg0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
ldr x1, [x1]
blr x1
- str w0, [fp, #0x1C] // [V05 tmp1]
- add x0, fp, #40 // [V01 arg1]
+ str w0, [fp, #0x24] // [V05 tmp1]
+ add x0, fp, #48 // [V01 arg1]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x1C] // [V05 tmp1]
+ ldr w1, [fp, #0x24] // [V05 tmp1]
cmp w0, w1
beq G_M13983_IG04
mov w0, wzr
;; size=68 bbWeight=1 PerfScore 17.00
G_M13983_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x48]
ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M13983_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- add x0, fp, #56 // [V00 arg0]
+ add x0, fp, #64 // [V00 arg0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
ldr x1, [x1]
blr x1
- str w0, [fp, #0x18] // [V06 tmp2]
- add x0, fp, #40 // [V01 arg1]
+ str w0, [fp, #0x20] // [V06 tmp2]
+ add x0, fp, #48 // [V01 arg1]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x18] // [V06 tmp2]
+ ldr w1, [fp, #0x20] // [V06 tmp2]
eor w0, w0, w1
- str w0, [fp, #0x24] // [V02 loc0]
- str wzr, [fp, #0x20] // [V03 loc1]
+ str w0, [fp, #0x2C] // [V02 loc0]
+ str wzr, [fp, #0x28] // [V03 loc1]
b G_M13983_IG06
;; size=72 bbWeight=1 PerfScore 18.50
G_M13983_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- add x0, fp, #56 // [V00 arg0]
- ldr w1, [fp, #0x20] // [V03 loc1]
+ add x0, fp, #64 // [V00 arg0]
+ ldr w1, [fp, #0x28] // [V03 loc1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #1 LSL #32
@@ -82,10 +81,11 @@ G_M13983_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs +[x0]
ldrb w0, [x0]
; byrRegs -[x0]
- str w0, [fp, #0x14] // [V07 tmp3]
- ldr w19, [fp, #0x24] // [V02 loc0]
- add x0, fp, #40 // [V01 arg1]
- ldr w1, [fp, #0x20] // [V03 loc1]
+ str w0, [fp, #0x1C] // [V07 tmp3]
+ ldr w0, [fp, #0x2C] // [V02 loc0]
+ str w0, [fp, #0x18] // [TEMP_01]
+ add x0, fp, #48 // [V01 arg1]
+ ldr w1, [fp, #0x28] // [V03 loc1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #1 LSL #32
@@ -94,46 +94,46 @@ G_M13983_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs +[x0]
ldrb w0, [x0]
; byrRegs -[x0]
- ldr w1, [fp, #0x14] // [V07 tmp3]
+ ldr w1, [fp, #0x1C] // [V07 tmp3]
eor w0, w0, w1
- orr w0, w19, w0
- str w0, [fp, #0x24] // [V02 loc0]
- ldr w0, [fp, #0x20] // [V03 loc1]
+ ldr w1, [fp, #0x18] // [TEMP_01]
+ orr w0, w1, w0
+ str w0, [fp, #0x2C] // [V02 loc0]
+ ldr w0, [fp, #0x28] // [V03 loc1]
add w0, w0, #1
- str w0, [fp, #0x20] // [V03 loc1]
- ;; size=100 bbWeight=1 PerfScore 32.50
+ str w0, [fp, #0x28] // [V03 loc1]
+ ;; size=108 bbWeight=1 PerfScore 35.50
G_M13983_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- add x0, fp, #56 // [V00 arg0]
+ add x0, fp, #64 // [V00 arg0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x20] // [V03 loc1]
+ ldr w1, [fp, #0x28] // [V03 loc1]
cmp w0, w1
bgt G_M13983_IG05
- ldr w0, [fp, #0x24] // [V02 loc0]
+ ldr w0, [fp, #0x2C] // [V02 loc0]
cmp w0, #0
cset x0, eq
;; size=48 bbWeight=1 PerfScore 12.50
G_M13983_IG07: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x48]
ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 348, prolog size 20, PerfScore 97.00, instruction count 87, allocated bytes for code 348 (MethodHash=dd55c960) for method Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 344, prolog size 16, PerfScore 95.00, instruction count 86, allocated bytes for code 344 (MethodHash=dd55c960) for method Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 2
E bit : 0
X bit : 0
Vers : 0
- Function Length : 87 (0x00057) Actual length = 348 (0x00015c)
+ Function Length : 86 (0x00056) Actual length = 344 (0x000158)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -144,10 +144,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 09 save_reg X#0 Z#9 (0x09); str x19, [sp, #72]
89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
E4 end
E4 end
- E4 end
- E4 end
+0 (0.00%) : 2085.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
@@ -60,15 +60,14 @@ G_M47623_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- ldr x14, [fp, #0x68] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #8
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x68] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #8
; byrRegs +[x14]
ldr x15, [fp, #0x58] // [V03 tmp1]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
ldr x0, [fp, #0x68] // [V00 this]
; gcrRegs +[x0]
@@ -81,20 +80,20 @@ G_M47623_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcr arg pop 0
nop
nop
- ldr x14, [fp, #0x68] // [V00 this]
- ; gcrRegs +[x14]
- str x14, [fp, #0x50] // [V04 tmp2]
- ldr x14, [fp, #0x60] // [V01 arg1]
- str x14, [fp, #0x48] // [V05 tmp3]
- ldr x14, [fp, #0x50] // [V04 tmp2]
- str x14, [fp, #0x40] // [V06 tmp4]
- ldr x14, [fp, #0x48] // [V05 tmp3]
- str x14, [fp, #0x38] // [V07 tmp5]
- ldr x14, [fp, #0x60] // [V01 arg1]
- cbnz x14, G_M47623_IG06
+ ldr x0, [fp, #0x68] // [V00 this]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0x50] // [V04 tmp2]
+ ldr x0, [fp, #0x60] // [V01 arg1]
+ str x0, [fp, #0x48] // [V05 tmp3]
+ ldr x0, [fp, #0x50] // [V04 tmp2]
+ str x0, [fp, #0x40] // [V06 tmp4]
+ ldr x0, [fp, #0x48] // [V05 tmp3]
+ str x0, [fp, #0x38] // [V07 tmp5]
+ ldr x0, [fp, #0x60] // [V01 arg1]
+ cbnz x0, G_M47623_IG06
;; size=132 bbWeight=1 PerfScore 40.00
G_M47623_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x14]
+ ; gcrRegs -[x0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #2 LSL #32
@@ -128,15 +127,14 @@ G_M47623_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
;; size=80 bbWeight=0 PerfScore 0.00
G_M47623_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x14, [fp, #0x40] // [V06 tmp4]
- ; gcrRegs +[x14]
- add x14, x14, #16
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x40] // [V06 tmp4]
+ ; gcrRegs +[x0]
+ add x14, x0, #16
; byrRegs +[x14]
ldr x15, [fp, #0x38] // [V07 tmp5]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
ldr x0, [fp, #0x68] // [V00 this]
; gcrRegs +[x0]
@@ -150,10 +148,8 @@ G_M47623_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[x0]
; gcr arg pop 0
str x0, [fp, #0x28] // [V09 tmp7]
- ldr x14, [fp, #0x30] // [V08 tmp6]
- ; gcrRegs +[x14]
- add x14, x14, #24
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x30] // [V08 tmp6]
+ add x14, x0, #24
; byrRegs +[x14]
ldr x15, [fp, #0x28] // [V09 tmp7]
; gcrRegs +[x15]
@@ -170,20 +166,18 @@ G_M47623_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #13
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
; gcr arg pop 0
- movz x13, #0xD1FFAB1E // box for <unknown class>:<unknown field>
- movk x13, #0xD1FFAB1E LSL #16
- movk x13, #1 LSL #32
- ldr x13, [x13]
- ; gcrRegs +[x13]
- add x13, x13, #8
- ; gcrRegs -[x13]
+ movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #1 LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ add x13, x0, #8
; byrRegs +[x13]
- ldr x14, [fp, #0x68] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #64
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x68] // [V00 this]
+ add x14, x0, #64
; byrRegs +[x14]
bl CORINFO_HELP_ASSIGN_BYREF
+ ; gcrRegs -[x0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #2 LSL #32
@@ -191,20 +185,18 @@ G_M47623_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
; byrRegs -[x13-x14]
; gcr arg pop 0
- movz x13, #0xD1FFAB1E // box for <unknown class>:<unknown field>
- movk x13, #0xD1FFAB1E LSL #16
- movk x13, #1 LSL #32
- ldr x13, [x13]
- ; gcrRegs +[x13]
- add x13, x13, #8
- ; gcrRegs -[x13]
+ movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #1 LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ add x13, x0, #8
; byrRegs +[x13]
- ldr x14, [fp, #0x68] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #72
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x68] // [V00 this]
+ add x14, x0, #72
; byrRegs +[x14]
bl CORINFO_HELP_ASSIGN_BYREF
+ ; gcrRegs -[x0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #2 LSL #32
@@ -212,18 +204,17 @@ G_M47623_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
; byrRegs -[x13-x14]
; gcr arg pop 0
- movz x14, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x14, #0xD1FFAB1E LSL #16
- movk x14, #1 LSL #32
- ldr x15, [x14]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #1 LSL #32
+ ldr x15, [x0]
; gcrRegs +[x15]
- ldr x14, [fp, #0x68] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #48
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x68] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #48
; byrRegs +[x14]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -231,20 +222,18 @@ G_M47623_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
; gcr arg pop 0
- movz x13, #0xD1FFAB1E // box for <unknown class>:<unknown field>
- movk x13, #0xD1FFAB1E LSL #16
- movk x13, #1 LSL #32
- ldr x13, [x13]
- ; gcrRegs +[x13]
- add x13, x13, #8
- ; gcrRegs -[x13]
+ movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #1 LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ add x13, x0, #8
; byrRegs +[x13]
- ldr x14, [fp, #0x68] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #80
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x68] // [V00 this]
+ add x14, x0, #80
; byrRegs +[x14]
bl CORINFO_HELP_ASSIGN_BYREF
+ ; gcrRegs -[x0]
nop
;; size=280 bbWeight=1 PerfScore 69.50
G_M47623_IG07: ; bbWeight=1, epilog, nogc, extend
+4 (+2.50%) : 285780.dasm - System.Text.RegularExpressions.Generated.
@@ -36,25 +36,26 @@ G_M37733_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M37733_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- adds w1, w1, #1
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ adds w0, w0, #1
bvc G_M37733_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=24 bbWeight=1 PerfScore 8.00
G_M37733_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M37733_IG06
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=24 bbWeight=1 PerfScore 6.50
G_M37733_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -76,13 +77,13 @@ G_M37733_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=56 bbWeight=1 PerfScore 18.00
+ ;; size=60 bbWeight=1 PerfScore 18.50
G_M37733_IG07: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 160, prolog size 24, PerfScore 46.00, instruction count 40, allocated bytes for code 160 (MethodHash=aa316c9a) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
+; Total bytes of code 164, prolog size 24, PerfScore 46.50, instruction count 41, allocated bytes for code 164 (MethodHash=aa316c9a) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -93,7 +94,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
+ Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.86%) : 287261.dasm - System.Text.RegularExpressions.Generated.
@@ -34,19 +34,20 @@ G_M42575_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M42575_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M42575_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=36 bbWeight=1 PerfScore 12.00
G_M42575_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -67,13 +68,13 @@ G_M42575_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=56 bbWeight=1 PerfScore 16.50
G_M42575_IG06: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 140, prolog size 20, PerfScore 40.50, instruction count 35, allocated bytes for code 140 (MethodHash=7ba859b0) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
+; Total bytes of code 144, prolog size 20, PerfScore 41.00, instruction count 36, allocated bytes for code 144 (MethodHash=7ba859b0) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -84,7 +85,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
+ Function Length : 36 (0x00024) Actual length = 144 (0x000090)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.86%) : 279459.dasm - System.Text.RegularExpressions.Generated.
@@ -34,19 +34,20 @@ G_M960_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M960_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M960_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=36 bbWeight=1 PerfScore 12.00
G_M960_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -67,13 +68,13 @@ G_M960_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=56 bbWeight=1 PerfScore 16.50
G_M960_IG06: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 140, prolog size 20, PerfScore 40.50, instruction count 35, allocated bytes for code 140 (MethodHash=3b12fc3f) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
+; Total bytes of code 144, prolog size 20, PerfScore 41.00, instruction count 36, allocated bytes for code 144 (MethodHash=3b12fc3f) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -84,7 +85,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
+ Function Length : 36 (0x00024) Actual length = 144 (0x000090)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
realworld.run.osx.arm64.checked.mch
+0 (0.00%) : 4586.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
@@ -2790,41 +2790,39 @@ G_M23076_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1]
blr x1
str x0, [fp, #0xD1FFAB1E] // [V11 loc9]
- ldr x2, [fp, #0xD1FFAB1E] // [V11 loc9]
- ; gcrRegs +[x2]
- cbz x2, G_M23076_IG09
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ldrb w2, [x2, #0x40]
- ; gcrRegs -[x2]
+ ldr x0, [fp, #0xD1FFAB1E] // [V11 loc9]
+ cbz x0, G_M23076_IG09
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ldrb w0, [x0, #0x40]
+ ; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
- str w2, [fp, xip1] // [V73 tmp3]
+ str w0, [fp, xip1] // [V73 tmp3]
b G_M23076_IG10
;; size=152 bbWeight=1 PerfScore 45.50
G_M23076_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
str wzr, [fp, xip1] // [V73 tmp3]
;; size=8 bbWeight=1 PerfScore 1.50
G_M23076_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov xip1, #0xD1FFAB1E
- ldr w2, [fp, xip1] // [V73 tmp3]
- uxtb w2, w2
+ ldr w0, [fp, xip1] // [V73 tmp3]
+ uxtb w0, w0
mov xip1, #0xD1FFAB1E
- str w2, [fp, xip1] // [V09 loc7]
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x2]
- ldr x2, [x2, #0x30]
- str x2, [fp, #0xD1FFAB1E] // [V12 loc10]
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ldr w2, [x2, #0x38]
- ; gcrRegs -[x2]
- cmp w2, #0
- bgt G_M23076_IG27
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x2]
- ldr x2, [x2, #0x30]
+ str w0, [fp, xip1] // [V09 loc7]
ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
; gcrRegs +[x0]
+ ldr x0, [x0, #0x30]
+ str x0, [fp, #0xD1FFAB1E] // [V12 loc10]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ldr w0, [x0, #0x38]
+ ; gcrRegs -[x0]
+ cmp w0, #0
+ bgt G_M23076_IG27
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ; gcrRegs +[x0]
+ ldr x2, [x0, #0x30]
+ ; gcrRegs +[x2]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
ldr x1, [fp, #0xD1FFAB1E] // [V04 loc2]
; gcrRegs +[x1]
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -18493,8 +18491,8 @@ G_M23076_IG1254: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
blr x1
; gcrRegs -[x0]
str w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
- ldr w1, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
- cmp w1, #26
+ ldr w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
+ cmp w0, #26
bhi G_M23076_IG1255
ldr w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
mov w0, w0
@@ -21984,9 +21982,9 @@ G_M23076_IG1570: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
; gcrRegs -[x0]
cmp w0, #19
bne G_M23076_IG1571
- mov w1, #1
+ mov w0, #1
mov xip1, #0xD1FFAB1E
- str w1, [fp, xip1] // [V325 tmp255]
+ str w0, [fp, xip1] // [V325 tmp255]
b G_M23076_IG1572
;; size=68 bbWeight=1 PerfScore 17.50
G_M23076_IG1571: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -21995,8 +21993,8 @@ G_M23076_IG1571: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
;; size=8 bbWeight=1 PerfScore 1.50
G_M23076_IG1572: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov xip1, #0xD1FFAB1E
- ldr w1, [fp, xip1] // [V325 tmp255]
- cbz w1, G_M23076_IG4962
+ ldr w0, [fp, xip1] // [V325 tmp255]
+ cbz w0, G_M23076_IG4962
b G_M23076_IG4951
;; size=16 bbWeight=1 PerfScore 4.50
G_M23076_IG1573: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -27642,8 +27640,8 @@ G_M23076_IG1990: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
blr x1
; gcrRegs -[x0]
str w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
- ldr w1, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
- cmp w1, #26
+ ldr w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
+ cmp w0, #26
bhi G_M23076_IG1991
ldr w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
mov w0, w0
@@ -63228,17 +63226,17 @@ G_M23076_IG4957: ; bbWeight=1, extend
ldr wzr, [x0]
blr x1
; gcrRegs -[x0]
- ldr x1, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V2239 tmp2169]
- ldr x1, [fp, #0xD1FFAB1E] // [V02 loc0]
- str x1, [fp, #0xD1FFAB1E] // [V2238 tmp2168]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V2239 tmp2169]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ str x0, [fp, #0xD1FFAB1E] // [V2238 tmp2168]
;; size=44 bbWeight=1 PerfScore 16.50
G_M23076_IG4958: ; bbWeight=1, nogc, extend
mov x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
add x0, fp, x0
mov x1, #0xD1FFAB1E
- ; gcrRegs -[x1]
add x1, fp, x1
ldp x2, xip1, [x0]
stp x2, xip1, [x1]
@@ -69233,50 +69231,50 @@ G_M23076_IG5322: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr w0, [fp, #0x20] // [V2632 tmp2562]
cmp w0, #201
bhi G_M23076_IG5323
- ldr w8, [fp, #0x20] // [V2632 tmp2562]
- mov w8, w8
- adr x0, [@RWD36120]
- ldr w0, [x0, x8, LSL #2]
- adr x1, [G_M23076_IG02]
- add x0, x0, x1
- br x0
+ ldr w0, [fp, #0x20] // [V2632 tmp2562]
+ mov w0, w0
+ adr x1, [@RWD36120]
+ ldr w1, [x1, x0, LSL #2]
+ adr x2, [G_M23076_IG02]
+ add x1, x1, x2
+ br x1
;; size=144 bbWeight=1 PerfScore 48.00
G_M23076_IG5323: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
b G_M23076_IG5337
;; size=4 bbWeight=1 PerfScore 1.00
G_M23076_IG5324: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V18 loc16+0x0c]
+ ldr w0, [fp, xip1] // [V18 loc16+0x0c]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V18 loc16+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V18 loc16+0x10]
+ sub w0, w0, w1
mov xip1, #0xD1FFAB1E
- str w8, [fp, xip1] // [V98 tmp28]
- ldr x8, [fp, #0xD1FFAB1E] // [V02 loc0]
- ; gcrRegs +[x8]
- add x8, x8, #16
- ; gcrRegs -[x8]
- ; byrRegs +[x8]
+ str w0, [fp, xip1] // [V98 tmp28]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ ; gcrRegs +[x0]
+ add x0, x0, #16
+ ; gcrRegs -[x0]
+ ; byrRegs +[x0]
;; size=36 bbWeight=1 PerfScore 9.50
G_M23076_IG5325: ; bbWeight=1, nogc, extend
- add x0, x8, #20
- mov x1, #0xD1FFAB1E
- add x1, fp, x1
- ldp x2, xip1, [x0]
- stp x2, xip1, [x1]
- ldr w2, [x0, #0x10]
- str w2, [x1, #0x10]
+ add x1, x0, #20
+ mov x2, #0xD1FFAB1E
+ add x2, fp, x2
+ ldp x3, xip1, [x1]
+ stp x3, xip1, [x2]
+ ldr w3, [x1, #0x10]
+ str w3, [x2, #0x10]
;; size=28 bbWeight=1 PerfScore 10.50
G_M23076_IG5326: ; bbWeight=1, isz, extend
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V58 loc56+0x0c]
- ; byrRegs -[x8]
+ ldr w0, [fp, xip1] // [V58 loc56+0x0c]
+ ; byrRegs -[x0]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V58 loc56+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V58 loc56+0x10]
+ sub w0, w0, w1
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V98 tmp28]
- cmp w8, w0
+ ldr w1, [fp, xip1] // [V98 tmp28]
+ cmp w0, w1
bge G_M23076_IG5329
;; size=36 bbWeight=1 PerfScore 9.50
G_M23076_IG5327: ; bbWeight=1, nogc, extend
@@ -69284,10 +69282,10 @@ G_M23076_IG5327: ; bbWeight=1, nogc, extend
add x0, fp, x0
mov x1, #0xD1FFAB1E
add x1, fp, x1
- ldp x8, xip1, [x0]
- stp x8, xip1, [x1]
- ldr w8, [x0, #0x10]
- str w8, [x1, #0x10]
+ ldp x2, xip1, [x0]
+ stp x2, xip1, [x1]
+ ldr w2, [x0, #0x10]
+ str w2, [x1, #0x10]
;; size=32 bbWeight=1 PerfScore 11.00
G_M23076_IG5328: ; bbWeight=1, extend
b G_M23076_IG5330
@@ -69362,9 +69360,9 @@ G_M23076_IG5333: ; bbWeight=1, isz, extend
ldr wzr, [x0]
blr x1
str x0, [fp, #0xD1FFAB1E] // [V67 loc65]
- ldr x1, [fp, #0xD1FFAB1E] // [V67 loc65]
+ ldr x0, [fp, #0xD1FFAB1E] // [V67 loc65]
+ ldr x1, [x0, #0x08]
; gcrRegs +[x1]
- ldr x1, [x1, #0x08]
ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -69598,12 +69596,12 @@ G_M23076_IG5345: ; bbWeight=1, extend
G_M23076_IG5346: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V18 loc16+0x0c]
+ ldr w0, [fp, xip1] // [V18 loc16+0x0c]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V18 loc16+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V18 loc16+0x10]
+ sub w0, w0, w1
...
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
benchmarks.run.osx.arm64.checked.mch
0
0
0
0
-0
+0
benchmarks.run_pgo.osx.arm64.checked.mch
17,355
282
519
16,554
-2,244
+3,724
benchmarks.run_tiered.osx.arm64.checked.mch
13,524
242
382
12,900
-1,832
+2,148
coreclr_tests.run.osx.arm64.checked.mch
144,607
4,462
7,121
133,024
-33,164
+181,280
libraries.crossgen2.osx.arm64.checked.mch
5
0
0
5
-0
+0
libraries.pmi.osx.arm64.checked.mch
1
0
0
1
-0
+0
libraries_tests.run.osx.arm64.Release.mch
177,471
1,161
1,811
174,499
-12,532
+13,008
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
11,760
2
30
11,728
-12
+120
realworld.run.osx.arm64.checked.mch
1
0
0
1
-0
+0
364,724
6,149
9,863
348,712
-49,784
+200,280
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
benchmarks.run.osx.arm64.checked.mch
24,812
4
24,808
0 (0.00%)
0 (0.00%)
benchmarks.run_pgo.osx.arm64.checked.mch
83,847
48,425
35,422
103 (0.12%)
103 (0.12%)
benchmarks.run_tiered.osx.arm64.checked.mch
48,121
37,299
10,822
0 (0.00%)
0 (0.00%)
coreclr_tests.run.osx.arm64.checked.mch
585,630
356,908
228,722
209 (0.04%)
209 (0.04%)
libraries.crossgen2.osx.arm64.checked.mch
233,240
15
233,225
0 (0.00%)
0 (0.00%)
libraries.pmi.osx.arm64.checked.mch
314,610
18
314,592
0 (0.00%)
0 (0.00%)
libraries_tests.run.osx.arm64.Release.mch
636,003
464,099
171,904
2,035 (0.32%)
2,035 (0.32%)
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
299,965
21,515
278,450
40 (0.01%)
40 (0.01%)
realworld.run.osx.arm64.checked.mch
31,538
3
31,535
0 (0.00%)
0 (0.00%)
2,257,766
928,286
1,329,480
2,387 (0.11%)
2,387 (0.11%)
jit-analyze output
benchmarks.run_pgo.osx.arm64.checked.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 34138564 (overridden on cmd)
Total bytes of diff: 34140044 (overridden on cmd)
Total bytes of delta: 1480 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
616 : 54474.dasm (3.08 % of base)
152 : 30580.dasm (33.63 % of base)
152 : 1997.dasm (36.19 % of base)
88 : 54479.dasm (2.79 % of base)
68 : 44564.dasm (39.53 % of base)
40 : 54477.dasm (1.43 % of base)
40 : 81012.dasm (1.60 % of base)
40 : 81015.dasm (1.60 % of base)
32 : 62537.dasm (1.65 % of base)
24 : 28804.dasm (1.37 % of base)
24 : 30324.dasm (0.32 % of base)
24 : 71901.dasm (0.32 % of base)
20 : 3145.dasm (8.33 % of base)
16 : 25907.dasm (2.26 % of base)
16 : 37263.dasm (1.01 % of base)
16 : 44595.dasm (0.42 % of base)
16 : 42403.dasm (1.00 % of base)
16 : 591.dasm (1.11 % of base)
16 : 71466.dasm (4.94 % of base)
16 : 77283.dasm (1.80 % of base)
Top file improvements (bytes):
-24 : 49204.dasm (-0.47 % of base)
-24 : 7349.dasm (-1.13 % of base)
-20 : 30538.dasm (-11.90 % of base)
-20 : 55008.dasm (-1.28 % of base)
-16 : 10202.dasm (-0.14 % of base)
-16 : 22543.dasm (-0.33 % of base)
-16 : 39206.dasm (-0.49 % of base)
-16 : 11789.dasm (-0.55 % of base)
-16 : 23919.dasm (-0.29 % of base)
-16 : 48698.dasm (-0.92 % of base)
-16 : 48798.dasm (-0.26 % of base)
-16 : 48827.dasm (-0.41 % of base)
-16 : 52788.dasm (-0.42 % of base)
-16 : 64611.dasm (-2.08 % of base)
-16 : 67071.dasm (-0.36 % of base)
-16 : 74741.dasm (-2.68 % of base)
-16 : 7599.dasm (-0.33 % of base)
-16 : 77066.dasm (-0.39 % of base)
-12 : 27333.dasm (-1.07 % of base)
-12 : 62201.dasm (-2.83 % of base)
75 total files with Code Size differences (39 improved, 36 regressed), 20 unchanged.
Top method regressions (bytes):
616 (3.08 % of base) : 54474.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
152 (33.63 % of base) : 30580.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Instrumented Tier0)
152 (36.19 % of base) : 1997.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
88 (2.79 % of base) : 54479.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
68 (39.53 % of base) : 44564.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
40 (1.60 % of base) : 81012.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Instrumented Tier0)
40 (1.60 % of base) : 81015.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Instrumented Tier0)
40 (1.43 % of base) : 54477.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
32 (1.65 % of base) : 62537.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
24 (0.32 % of base) : 30324.dasm - Jil.Deserialize.Methods:ParseISO8601Time(System.IO.TextReader,ushort[],int,int):System.TimeSpan (Instrumented Tier0)
24 (0.32 % of base) : 71901.dasm - Jil.Deserialize.Methods:ParseISO8601TimeThunkReader(byref,ushort[],int,int):System.TimeSpan (Instrumented Tier0)
24 (1.37 % of base) : 28804.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (Tier0)
20 (8.33 % of base) : 3145.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
16 (0.42 % of base) : 44595.dasm - Neural:read_data_file():this (Instrumented Tier0)
16 (1.00 % of base) : 42403.dasm - NeuralJagged:Init() (Instrumented Tier0)
16 (1.01 % of base) : 37263.dasm - System.Globalization.IdnMapping:IcuGetAsciiCore(System.String,ulong,int):System.String:this (Instrumented Tier0)
16 (1.11 % of base) : 591.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
16 (1.11 % of base) : 9219.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
16 (4.94 % of base) : 71466.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
16 (1.80 % of base) : 77283.dasm - System.Tests.Perf_Array:SetupArrayCopy3D():this (Instrumented Tier0)
Top method improvements (bytes):
-24 (-0.47 % of base) : 49204.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckMembersAgainstBaseType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):this (Instrumented Tier0)
-24 (-1.13 % of base) : 7349.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (Instrumented Tier0)
-20 (-1.28 % of base) : 55008.dasm - Microsoft.Cci.ReferenceIndexerBase:VisitTypeReference(Microsoft.Cci.ITypeReference):ubyte:this (Instrumented Tier0)
-20 (-11.90 % of base) : 30538.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-16 (-0.29 % of base) : 23919.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Instrumented Tier0)
-16 (-0.92 % of base) : 48698.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IDictionary`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Instrumented Tier0)
-16 (-0.26 % of base) : 48798.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (Instrumented Tier0)
-16 (-0.41 % of base) : 48827.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbolExtensions:VisitType[System.__Canon](Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Func`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,ubyte],System.Func`4[System.__Canon,System.__Canon,ubyte,ubyte],System.__Canon,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Instrumented Tier0)
-16 (-0.42 % of base) : 52788.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbolExtensions:VisitType[System.__Canon](Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Func`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,ubyte],System.Func`4[System.__Canon,System.__Canon,ubyte,ubyte],System.__Canon,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Instrumented Tier0)
-16 (-0.36 % of base) : 67071.dasm - Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationProvider:Read(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor):System.Collections.Generic.IDictionary`2[System.String,System.String] (Instrumented Tier0)
-16 (-0.55 % of base) : 11789.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (Instrumented Tier0)
-16 (-0.14 % of base) : 10202.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier0)
-16 (-0.33 % of base) : 7599.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (Instrumented Tier0)
-16 (-2.68 % of base) : 74741.dasm - System.Linq.Enumerable:TryGetElement[int](System.Collections.Generic.IEnumerable`1[int],int,byref):ubyte (Instrumented Tier0)
-16 (-0.33 % of base) : 22543.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:.ctor(System.Type):this (Instrumented Tier0)
-16 (-0.39 % of base) : 77066.dasm - System.Security.Cryptography.CryptoStream+<WriteAsyncCore>d__53:MoveNext():this (Instrumented Tier0)
-16 (-2.08 % of base) : 64611.dasm - System.StubHelpers.CSTRMarshaler:ConvertToNative(int,System.String,long):long (Tier0)
-16 (-0.49 % of base) : 39206.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFrom(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (Instrumented Tier0)
-12 (-2.83 % of base) : 62201.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:Equals(Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]):ubyte:this (Tier0)
-12 (-1.07 % of base) : 27333.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
Top method regressions (percentages):
68 (39.53 % of base) : 44564.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
152 (36.19 % of base) : 1997.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
152 (33.63 % of base) : 30580.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Instrumented Tier0)
4 (11.11 % of base) : 24201.dasm - System.Runtime.Intrinsics.Vector128:Create[short](System.Runtime.Intrinsics.Vector64`1[short],System.Runtime.Intrinsics.Vector64`1[short]):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
4 (10.00 % of base) : 6553.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Instrumented Tier0)
4 (10.00 % of base) : 906.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 46101.dasm - System.Math:CopySign(double,double):double (Tier0)
4 (10.00 % of base) : 41034.dasm - System.MathF:CopySign(float,float):float (Tier0)
4 (10.00 % of base) : 64901.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVector[double,float](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[float] (Tier0)
4 (8.33 % of base) : 23839.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
20 (8.33 % of base) : 3145.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
4 (6.67 % of base) : 81456.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:SumBenchmark():double:this (Tier0)
4 (6.25 % of base) : 52929.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
4 (6.25 % of base) : 48603.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (6.25 % of base) : 64719.dasm - System.Numerics.Tests.Perf_Quaternion:DotBenchmark():float:this (Tier0)
4 (5.26 % of base) : 25309.dasm - MessagePack.MessagePackBinary:WriteArrayHeader(byref,int,int):int (Tier0)
4 (5.26 % of base) : 41541.dasm - MessagePack.MessagePackBinary:WriteMapHeader(byref,int,int):int (Tier0)
4 (5.00 % of base) : 69439.dasm - System.Numerics.Tests.Perf_Quaternion:LengthSquaredBenchmark():float:this (Tier0)
16 (4.94 % of base) : 71466.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
8 (4.88 % of base) : 25128.dasm - MessagePack.Internal.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
Top method improvements (percentages):
-20 (-11.90 % of base) : 30538.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-8 (-7.14 % of base) : 35329.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:MultiplyOperatorBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-8 (-7.14 % of base) : 33121.dasm - System.Numerics.Tests.Perf_VectorOf`1[float]:EqualsStaticBenchmark():System.Numerics.Vector`1[float]:this (Tier0)
-8 (-7.14 % of base) : 3369.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AddBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 28341.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:BitwiseAndBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 25629.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 23269.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:MinBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 25389.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:GreaterThanBenchmark():System.Numerics.Vector`1[ushort]:this (Tier0)
-8 (-7.14 % of base) : 39229.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 77441.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:BitwiseAndOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 79993.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivisionOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 82589.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 59841.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 80021.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseOrBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 66385.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 83241.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:EqualsStaticBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 69185.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:MaxBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 38829.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[int]:XorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 41533.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[short]:LessThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[short]:this (Tier0)
-8 (-7.14 % of base) : 38725.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
benchmarks.run_tiered.osx.arm64.checked.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15442448 (overridden on cmd)
Total bytes of diff: 15442764 (overridden on cmd)
Total bytes of delta: 316 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
152 : 1999.dasm (36.19 % of base)
68 : 31873.dasm (39.53 % of base)
40 : 47173.dasm (1.85 % of base)
24 : 24107.dasm (0.35 % of base)
24 : 44881.dasm (0.35 % of base)
24 : 24788.dasm (1.37 % of base)
20 : 2711.dasm (8.33 % of base)
16 : 31681.dasm (1.04 % of base)
16 : 44950.dasm (4.94 % of base)
16 : 15342.dasm (1.07 % of base)
16 : 23038.dasm (2.48 % of base)
16 : 31944.dasm (0.43 % of base)
16 : 46075.dasm (1.94 % of base)
16 : 6143.dasm (3.54 % of base)
12 : 924.dasm (0.50 % of base)
12 : 13837.dasm (1.36 % of base)
12 : 25335.dasm (1.27 % of base)
12 : 42697.dasm (0.71 % of base)
12 : 23655.dasm (1.22 % of base)
8 : 42696.dasm (1.92 % of base)
Top file improvements (bytes):
-24 : 16125.dasm (-1.32 % of base)
-20 : 25376.dasm (-11.90 % of base)
-16 : 42497.dasm (-2.08 % of base)
-16 : 22009.dasm (-0.32 % of base)
-16 : 6072.dasm (-0.19 % of base)
-16 : 10829.dasm (-0.61 % of base)
-12 : 18701.dasm (-1.45 % of base)
-12 : 4612.dasm (-3.66 % of base)
-12 : 20250.dasm (-1.07 % of base)
-12 : 19029.dasm (-0.13 % of base)
-12 : 41004.dasm (-2.83 % of base)
-8 : 23081.dasm (-7.14 % of base)
-8 : 26777.dasm (-7.14 % of base)
-8 : 30089.dasm (-7.14 % of base)
-8 : 45273.dasm (-7.14 % of base)
-8 : 46365.dasm (-7.14 % of base)
-8 : 8413.dasm (-7.14 % of base)
-8 : 917.dasm (-2.15 % of base)
-8 : 23561.dasm (-5.71 % of base)
-8 : 24997.dasm (-7.14 % of base)
69 total files with Code Size differences (33 improved, 36 regressed), 20 unchanged.
Top method regressions (bytes):
152 (36.19 % of base) : 1999.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
68 (39.53 % of base) : 31873.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
40 (1.85 % of base) : 47173.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Tier0)
24 (0.35 % of base) : 24107.dasm - Jil.Deserialize.Methods:ParseISO8601Time(System.IO.TextReader,ushort[],int,int):System.TimeSpan (Tier0)
24 (0.35 % of base) : 44881.dasm - Jil.Deserialize.Methods:ParseISO8601TimeThunkReader(byref,ushort[],int,int):System.TimeSpan (Tier0)
24 (1.37 % of base) : 24788.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (Tier0)
20 (8.33 % of base) : 2711.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
16 (0.43 % of base) : 31944.dasm - Neural:read_data_file():this (Tier0)
16 (1.04 % of base) : 31681.dasm - NeuralJagged:Init() (Tier0)
16 (1.07 % of base) : 15342.dasm - System.Globalization.IdnMapping:IcuGetAsciiCore(System.String,ulong,int):System.String:this (Tier0)
16 (4.94 % of base) : 44950.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
16 (1.94 % of base) : 46075.dasm - System.Tests.Perf_Array:SetupArrayCopy3D():this (Tier0)
16 (2.48 % of base) : 23038.dasm - System.Tests.Perf_Array:SetupArrayRetrieve3D():this (Tier0)
16 (3.54 % of base) : 6143.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
12 (1.36 % of base) : 13837.dasm - Interop+AppleCrypto:AppleCryptoNative_SecKeychainCreateTemporary(System.String,int,ulong,byref):int (Tier0)
12 (1.27 % of base) : 25335.dasm - Interop+AppleCrypto:AppleCryptoNative_SslSetTargetName(System.Net.SafeSslHandle,System.String,int,byref):int (Tier0)
12 (1.22 % of base) : 23655.dasm - Interop+libc:clonefile(System.String,System.String,int):int (Tier0)
12 (0.71 % of base) : 42697.dasm - Interop+Sys:ForkAndExecProcess(System.String,ulong,ulong,System.String,int,int,int,int,uint,uint,ulong,int,byref,byref,byref,byref):int (Tier0)
12 (0.50 % of base) : 924.dasm - System.Reflection.CustomAttribute:FilterCustomAttributeRecord(System.Reflection.MetadataToken,byref,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,ubyte,byref,byref,byref,byref):ubyte (Tier0)
8 (4.88 % of base) : 23296.dasm - MessagePack.Internal.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
Top method improvements (bytes):
-24 (-1.32 % of base) : 16125.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (Tier0)
-20 (-11.90 % of base) : 25376.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-16 (-0.32 % of base) : 22009.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Tier0)
-16 (-0.61 % of base) : 10829.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (Tier0)
-16 (-0.19 % of base) : 6072.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier0)
-16 (-2.08 % of base) : 42497.dasm - System.StubHelpers.CSTRMarshaler:ConvertToNative(int,System.String,long):long (Tier0)
-12 (-2.83 % of base) : 41004.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:Equals(Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]):ubyte:this (Tier0)
-12 (-3.66 % of base) : 4612.dasm - System.ComponentModel.TypeDescriptor:CheckDefaultProvider(System.Type) (Tier0)
-12 (-1.07 % of base) : 20250.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
-12 (-1.45 % of base) : 18701.dasm - System.Xml.Serialization.XmlReflectionImporter:GetDefaultValue(System.Xml.Serialization.TypeDesc,System.Type,System.Xml.Serialization.XmlAttributes):System.Object (Tier0)
-12 (-0.13 % of base) : 19029.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (Tier0)
-8 (-7.14 % of base) : 23081.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:AddOperatorBenchmark():System.Numerics.Vector`1[int]:this (Tier0)
-8 (-5.71 % of base) : 23561.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:LessThanAnyBenchmark():ubyte:this (Tier0)
-8 (-7.14 % of base) : 21057.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AndNotBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 26777.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:BitwiseAndBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 23585.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 24997.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:LessThanOrEqualBenchmark():System.Numerics.Vector`1[ushort]:this (Tier0)
-8 (-0.37 % of base) : 2133.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
-8 (-7.14 % of base) : 30493.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 31057.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AndNotBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
Top method regressions (percentages):
68 (39.53 % of base) : 31873.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
152 (36.19 % of base) : 1999.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
4 (11.11 % of base) : 21094.dasm - System.Runtime.Intrinsics.Vector128:Create[short](System.Runtime.Intrinsics.Vector64`1[short],System.Runtime.Intrinsics.Vector64`1[short]):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
4 (10.00 % of base) : 906.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 39677.dasm - System.Math:CopySign(double,double):double (Tier0)
4 (10.00 % of base) : 30703.dasm - System.MathF:CopySign(float,float):float (Tier0)
4 (10.00 % of base) : 42810.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVector[double,float](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[float] (Tier0)
4 (8.33 % of base) : 21929.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
20 (8.33 % of base) : 2711.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
4 (6.67 % of base) : 47401.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:SumBenchmark():double:this (Tier0)
4 (6.25 % of base) : 35442.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (6.25 % of base) : 40221.dasm - System.Numerics.Tests.Perf_Quaternion:DotBenchmark():float:this (Tier0)
4 (5.26 % of base) : 23477.dasm - MessagePack.MessagePackBinary:WriteArrayHeader(byref,int,int):int (Tier0)
4 (5.26 % of base) : 31229.dasm - MessagePack.MessagePackBinary:WriteMapHeader(byref,int,int):int (Tier0)
4 (5.00 % of base) : 44195.dasm - System.Numerics.Tests.Perf_Quaternion:LengthSquaredBenchmark():float:this (Tier0)
16 (4.94 % of base) : 44950.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
8 (4.88 % of base) : 23296.dasm - MessagePack.Internal.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
8 (4.88 % of base) : 6011.dasm - Utf8Json.Internal.Emit.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
4 (4.76 % of base) : 43838.dasm - System.Numerics.Tests.Perf_Quaternion:LengthBenchmark():float:this (Tier0)
4 (4.55 % of base) : 45672.dasm - System.Numerics.Tests.Perf_Vector2:LengthSquaredBenchmark():float:this (Tier0)
Top method improvements (percentages):
-20 (-11.90 % of base) : 25376.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-8 (-7.14 % of base) : 23081.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:AddOperatorBenchmark():System.Numerics.Vector`1[int]:this (Tier0)
-8 (-7.14 % of base) : 21057.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AndNotBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 26777.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:BitwiseAndBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 23585.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 24997.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:LessThanOrEqualBenchmark():System.Numerics.Vector`1[ushort]:this (Tier0)
-8 (-7.14 % of base) : 30493.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 31057.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AndNotBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 45273.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:GreaterThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 46365.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:LessThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 28265.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:SubtractionOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 46449.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseAndBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 44405.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 42905.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:LessThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 8413.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:SubtractBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 22229.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:MinBenchmark():System.Runtime.Intrinsics.Vector128`1[double]:this (Tier0)
-8 (-7.14 % of base) : 30089.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[int]:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 31177.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[int]:AndNotBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 29945.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[uint]:XorBenchmark():System.Runtime.Intrinsics.Vector128`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 30685.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:LessThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
coreclr_tests.run.osx.arm64.checked.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 486102776 (overridden on cmd)
Total bytes of diff: 486250892 (overridden on cmd)
Total bytes of delta: 148116 (0.03 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
860 : 6486.dasm (1.98 % of base)
860 : 6497.dasm (2.11 % of base)
860 : 6537.dasm (2.13 % of base)
860 : 6562.dasm (1.99 % of base)
860 : 6564.dasm (1.97 % of base)
860 : 6548.dasm (1.84 % of base)
860 : 6552.dasm (1.98 % of base)
860 : 6605.dasm (2.11 % of base)
860 : 6568.dasm (2.09 % of base)
860 : 6577.dasm (2.11 % of base)
860 : 6594.dasm (1.97 % of base)
860 : 6598.dasm (2.10 % of base)
808 : 269024.dasm (0.60 % of base)
784 : 271180.dasm (0.64 % of base)
784 : 269175.dasm (0.59 % of base)
784 : 271105.dasm (0.59 % of base)
756 : 282576.dasm (0.73 % of base)
720 : 281400.dasm (0.68 % of base)
672 : 281534.dasm (0.64 % of base)
672 : 282601.dasm (0.69 % of base)
Top file improvements (bytes):
-220 : 151321.dasm (-8.63 % of base)
-220 : 151371.dasm (-8.63 % of base)
-204 : 151381.dasm (-11.62 % of base)
-204 : 188415.dasm (-15.41 % of base)
-204 : 151331.dasm (-11.62 % of base)
-204 : 151361.dasm (-11.62 % of base)
-204 : 188385.dasm (-15.41 % of base)
-204 : 188465.dasm (-15.41 % of base)
-116 : 150980.dasm (-3.49 % of base)
-116 : 150966.dasm (-3.49 % of base)
-116 : 151000.dasm (-3.49 % of base)
-116 : 151179.dasm (-3.49 % of base)
-116 : 151203.dasm (-3.49 % of base)
-116 : 151341.dasm (-8.73 % of base)
-116 : 151391.dasm (-8.73 % of base)
-116 : 150990.dasm (-3.49 % of base)
-116 : 151193.dasm (-3.49 % of base)
-116 : 151213.dasm (-3.49 % of base)
-116 : 151311.dasm (-8.73 % of base)
-112 : 188435.dasm (-6.83 % of base)
68 total files with Code Size differences (28 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
860 (1.98 % of base) : 6486.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
860 (2.11 % of base) : 6497.dasm - lclfldadd:TestEntryPoint():int (Tier0)
860 (2.13 % of base) : 6537.dasm - lclfldadd:TestEntryPoint():int (Tier0)
860 (1.84 % of base) : 6548.dasm - lclflddiv:TestEntryPoint():int (MinOpts)
860 (1.99 % of base) : 6562.dasm - lclflddiv:TestEntryPoint():int (Tier0)
860 (1.98 % of base) : 6552.dasm - lclflddiv:TestEntryPoint():int (Tier0)
860 (1.97 % of base) : 6564.dasm - lclfldmul:TestEntryPoint():int (MinOpts)
860 (2.09 % of base) : 6568.dasm - lclfldmul:TestEntryPoint():int (Tier0)
860 (2.11 % of base) : 6577.dasm - lclfldmul:TestEntryPoint():int (Tier0)
860 (1.97 % of base) : 6594.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
860 (2.11 % of base) : 6605.dasm - lclfldsub:TestEntryPoint():int (Tier0)
860 (2.10 % of base) : 6598.dasm - lclfldsub:TestEntryPoint():int (Tier0)
808 (0.60 % of base) : 269024.dasm - i4div:TestEntryPoint():int (MinOpts)
784 (0.59 % of base) : 269175.dasm - i8div:TestEntryPoint():int (MinOpts)
784 (0.59 % of base) : 271105.dasm - u4div:TestEntryPoint():int (MinOpts)
784 (0.64 % of base) : 271180.dasm - u8div:TestEntryPoint():int (MinOpts)
756 (0.73 % of base) : 282576.dasm - u4div:TestEntryPoint():int (Tier0)
720 (0.68 % of base) : 281400.dasm - i4div:TestEntryPoint():int (Tier0)
672 (0.64 % of base) : 281534.dasm - i8div:TestEntryPoint():int (Tier0)
672 (0.69 % of base) : 282601.dasm - u8div:TestEntryPoint():int (Tier0)
Top method improvements (bytes):
-220 (-8.63 % of base) : 151321.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt16:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 151371.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt16:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 188385.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 151331.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 188415.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 151361.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 151381.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 188465.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (Instrumented Tier0)
-116 (-3.49 % of base) : 150966.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt160:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 151000.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt1615:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 150980.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt163:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 150990.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt167:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 151179.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt160:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 151213.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt1615:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 151193.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt163:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 151203.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt167:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-8.73 % of base) : 151311.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 151341.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 151391.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (MinOpts)
-112 (-6.83 % of base) : 188405.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (Instrumented Tier0)
Top method regressions (percentages):
52 (76.47 % of base) : 82199.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
52 (76.47 % of base) : 82173.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
52 (76.47 % of base) : 44107.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
52 (76.47 % of base) : 44081.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
44 (73.33 % of base) : 82147.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
44 (73.33 % of base) : 82122.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
44 (73.33 % of base) : 44055.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
44 (73.33 % of base) : 44030.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
36 (69.23 % of base) : 82097.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
36 (69.23 % of base) : 82073.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
36 (69.23 % of base) : 44005.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
36 (69.23 % of base) : 43981.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
184 (51.11 % of base) : 97112.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookupExtension_3Test__VectorTableLookupExtensionByte:RunStructLclFldScenario():this (Tier0)
184 (51.11 % of base) : 97136.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookupExtension_3Test__VectorTableLookupExtensionSByte:RunStructLclFldScenario():this (Tier0)
184 (48.42 % of base) : 133624.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookupExtension_4Test__VectorTableLookupExtensionByte:RunStructLclFldScenario():this (Tier0)
184 (48.42 % of base) : 133649.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookupExtension_4Test__VectorTableLookupExtensionSByte:RunStructLclFldScenario():this (Tier0)
176 (48.35 % of base) : 133435.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookup_4Test__VectorTableLookupByte:RunStructLclFldScenario():this (Tier0)
176 (48.35 % of base) : 133459.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookup_4Test__VectorTableLookupSByte:RunStructLclFldScenario():this (Tier0)
52 (48.15 % of base) : 299273.dasm - Runtime_91209:Problem4():System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
176 (47.31 % of base) : 96996.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookup_4Test__VectorTableLookupSByte:RunStructLclFldScenario():this (Tier0)
Top method improvements (percentages):
-204 (-15.41 % of base) : 188385.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (Instrumented Tier0)
-204 (-15.41 % of base) : 188415.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-15.41 % of base) : 188465.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 151331.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 151361.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 151381.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 151311.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 151341.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 151391.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 151321.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt16:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 151371.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt16:RunBasicScenario():this (MinOpts)
-112 (-6.83 % of base) : 188405.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (Instrumented Tier0)
-112 (-6.83 % of base) : 188435.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (Instrumented Tier0)
-112 (-6.83 % of base) : 188455.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (Instrumented Tier0)
-8 (-6.67 % of base) : 301206.dasm - GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
-12 (-6.12 % of base) : 301632.dasm - Performance_2700:TestEntryPoint():int (Tier0)
-16 (-5.06 % of base) : 219646.dasm - (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
-96 (-4.54 % of base) : 150946.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementDouble1:RunBasicScenario(int,ubyte):this (MinOpts)
-96 (-4.54 % of base) : 151081.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt643:RunBasicScenario(int,ubyte):this (MinOpts)
-96 (-4.54 % of base) : 151281.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt641:RunBasicScenario(int,ubyte):this (MinOpts)
libraries.crossgen2.osx.arm64.checked.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 55570716 (overridden on cmd)
Total bytes of diff: 55570716 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 5 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries.pmi.osx.arm64.checked.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 79907992 (overridden on cmd)
Total bytes of diff: 79907992 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries_tests.run.osx.arm64.Release.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 314762740 (overridden on cmd)
Total bytes of diff: 314763216 (overridden on cmd)
Total bytes of delta: 476 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
624 : 385146.dasm (3.07 % of base)
616 : 87701.dasm (3.08 % of base)
128 : 427781.dasm (1.75 % of base)
112 : 427732.dasm (1.70 % of base)
96 : 44643.dasm (0.91 % of base)
88 : 584540.dasm (2.51 % of base)
88 : 404801.dasm (2.28 % of base)
88 : 428783.dasm (1.48 % of base)
80 : 404453.dasm (0.90 % of base)
80 : 234249.dasm (1.22 % of base)
76 : 89981.dasm (4.00 % of base)
72 : 404435.dasm (0.81 % of base)
72 : 417475.dasm (1.66 % of base)
64 : 637404.dasm (2.30 % of base)
64 : 428818.dasm (1.27 % of base)
64 : 403071.dasm (1.71 % of base)
64 : 404022.dasm (1.71 % of base)
64 : 427848.dasm (1.27 % of base)
64 : 428788.dasm (1.27 % of base)
64 : 428803.dasm (1.27 % of base)
Top file improvements (bytes):
-88 : 400456.dasm (-1.30 % of base)
-80 : 234962.dasm (-3.83 % of base)
-72 : 406424.dasm (-3.83 % of base)
-72 : 406883.dasm (-2.96 % of base)
-68 : 475329.dasm (-1.49 % of base)
-68 : 400637.dasm (-1.03 % of base)
-52 : 357758.dasm (-2.18 % of base)
-52 : 277022.dasm (-1.10 % of base)
-52 : 277121.dasm (-1.10 % of base)
-48 : 48186.dasm (-2.60 % of base)
-48 : 71855.dasm (-2.60 % of base)
-48 : 74094.dasm (-3.61 % of base)
-48 : 148017.dasm (-0.22 % of base)
-48 : 71846.dasm (-2.59 % of base)
-48 : 105866.dasm (-2.53 % of base)
-48 : 406962.dasm (-3.01 % of base)
-48 : 137914.dasm (-0.22 % of base)
-48 : 173702.dasm (-2.59 % of base)
-48 : 25841.dasm (-4.05 % of base)
-48 : 26084.dasm (-4.05 % of base)
77 total files with Code Size differences (37 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
624 (3.07 % of base) : 385146.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
616 (3.08 % of base) : 87701.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
128 (1.75 % of base) : 427781.dasm - System.Numerics.Tests.op_rightshiftTest:RunRightShiftTests() (Instrumented Tier0)
112 (1.70 % of base) : 427732.dasm - System.Numerics.Tests.op_leftshiftTest:RunLeftShiftTests() (Instrumented Tier0)
96 (0.91 % of base) : 44643.dasm - Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel:GetSemanticSymbols(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundNode,Microsoft.CodeAnalysis.CSharp.Binder,int,byref,byref,byref):Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.CSharp.Symbol]:this (Instrumented Tier0)
88 (2.51 % of base) : 584540.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldUncheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
88 (1.48 % of base) : 428783.dasm - System.Numerics.Tests.logTest:RunLogTests() (Instrumented Tier0)
88 (2.28 % of base) : 404801.dasm - System.Xml.Tests.TCDispose:Variation1():int:this (Instrumented Tier0)
80 (1.22 % of base) : 234249.dasm - System.Data.Common.SqlConvert:ChangeType2(System.Object,int,System.Type,System.IFormatProvider):System.Object (Instrumented Tier0)
80 (0.90 % of base) : 404453.dasm - System.Xml.Tests.TCErrorCondition:V9a():int:this (Instrumented Tier0)
76 (4.00 % of base) : 89981.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowUnaryOperator(int,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
72 (1.66 % of base) : 417475.dasm - System.Resources.Extensions.DeserializingResourceReader:_LoadObjectV2(int,byref):System.Object:this (Instrumented Tier0)
72 (0.81 % of base) : 404435.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
64 (2.30 % of base) : 637404.dasm - CoreXml.Test.XLinq.ReaderDiff:Compare(System.Xml.XmlReader,System.Xml.XmlReader) (Instrumented Tier0)
64 (1.27 % of base) : 428818.dasm - System.Numerics.Tests.maxTest:RunMaxTests() (Instrumented Tier0)
64 (1.27 % of base) : 427848.dasm - System.Numerics.Tests.minTest:RunMinTests() (Instrumented Tier0)
64 (1.27 % of base) : 428788.dasm - System.Numerics.Tests.op_andTest:RunAndTests() (Instrumented Tier0)
64 (1.27 % of base) : 428803.dasm - System.Numerics.Tests.op_orTest:RunOrTests() (Instrumented Tier0)
64 (1.71 % of base) : 403071.dasm - System.Xml.Tests.TCXMLIntegrityBase:InitReaderPointer():int:this (Instrumented Tier0)
64 (1.71 % of base) : 404022.dasm - System.Xml.Tests.TCXMLIntegrityBase:InitReaderPointer():int:this (Instrumented Tier0)
Top method improvements (bytes):
-88 (-1.30 % of base) : 400456.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_19(System.Xml.XmlWriterApiTests.XmlWriterUtils,int):this (Instrumented Tier0)
-80 (-3.83 % of base) : 234962.dasm - System.Data.ConstNode:SmallestNumeric(System.Object):System.Object (Instrumented Tier0)
-72 (-2.96 % of base) : 406883.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Instrumented Tier0)
-72 (-3.83 % of base) : 406424.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Tier0)
-68 (-1.49 % of base) : 475329.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (Instrumented Tier0)
-68 (-1.03 % of base) : 400637.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_18(System.Xml.XmlWriterApiTests.XmlWriterUtils,int):this (Instrumented Tier0)
-52 (-1.10 % of base) : 277022.dasm - System.IO.Compression.GzipStreamUnitTests+<TestConcatenatedGzipStreams>d__11:MoveNext():this (Instrumented Tier0)
-52 (-1.10 % of base) : 277121.dasm - System.IO.Compression.GzipStreamUnitTests+<TestConcatenatedGzipStreams>d__11:MoveNext():this (Instrumented Tier0)
-52 (-2.18 % of base) : 357758.dasm - System.Net.WebSockets.Tests.WebSocketTestStream+<ReadAsync>d__36:MoveNext():this (Tier0)
-48 (-0.22 % of base) : 148017.dasm - Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+Parser:GetLogClasses(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+LoggerClass]:this (Instrumented Tier0)
-48 (-0.22 % of base) : 137914.dasm - Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+Parser:GetLogClasses(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+LoggerClass]:this (Instrumented Tier0)
-48 (-3.01 % of base) : 406962.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue+TCWriteState:writeState_7(System.Xml.XmlWriterApiTests.XmlWriterUtils,System.String):this (Instrumented Tier0)
-48 (-4.05 % of base) : 26084.dasm - Xunit.Sdk.AssertEqualityComparer`1[byte]:Equals(byte,byte):ubyte:this (Tier0)
-48 (-2.53 % of base) : 105866.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Instrumented Tier0)
-48 (-3.61 % of base) : 74094.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Tier0)
-48 (-3.61 % of base) : 2671.dasm - Xunit.Sdk.AssertEqualityComparer`1[float]:Equals(float,float):ubyte:this (Tier0)
-48 (-2.60 % of base) : 48186.dasm - Xunit.Sdk.AssertEqualityComparer`1[int]:Equals(int,int):ubyte:this (Instrumented Tier0)
-48 (-2.59 % of base) : 173702.dasm - Xunit.Sdk.AssertEqualityComparer`1[short]:Equals(short,short):ubyte:this (Instrumented Tier0)
-48 (-4.05 % of base) : 25841.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Tier0)
-48 (-2.60 % of base) : 71855.dasm - Xunit.Sdk.AssertEqualityComparer`1[ulong]:Equals(ulong,ulong):ubyte:this (Instrumented Tier0)
Top method regressions (percentages):
4 (14.29 % of base) : 362965.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
4 (14.29 % of base) : 361193.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
12 (12.50 % of base) : 425809.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
12 (12.50 % of base) : 425216.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:LogDoubleTest(double,double,double):this (Tier0)
12 (11.54 % of base) : 425227.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:AssertEqual(System.Runtime.Intrinsics.Vector128`1[double],System.Runtime.Intrinsics.Vector128`1[double],System.Runtime.Intrinsics.Vector128`1[double]) (Tier0)
12 (11.54 % of base) : 425354.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:AssertEqual(System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]) (Tier0)
4 (9.09 % of base) : 364339.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 359392.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 363826.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 358559.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 364776.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 362452.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 360658.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 364173.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (8.33 % of base) : 314157.dasm - System.Linq.Enumerable+MaxCalc`1[long]:Compare(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Instrumented Tier0)
4 (8.33 % of base) : 304983.dasm - System.Linq.Enumerable+MaxCalc`1[long]:Compare(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
4 (8.33 % of base) : 362131.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[float]:Invoke(System.Runtime.Intrinsics.Vector128`1[float]):float (Instrumented Tier0)
4 (8.33 % of base) : 360425.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[float]:Invoke(System.Runtime.Intrinsics.Vector128`1[float]):float (Tier0)
4 (8.33 % of base) : 358632.dasm - System.Numerics.Tensors.TensorPrimitives+MinPropagateNaNOperator`1[ulong]:Invoke(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
36 (8.33 % of base) : 319254.dasm - System.SpanTests.IndexOfAnyExceptTests`1[ushort]:.ctor():this (Instrumented Tier0)
Top method improvements (percentages):
-20 (-11.90 % of base) : 471832.dasm - System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
-20 (-11.90 % of base) : 470246.dasm - System.Security.Cryptography.ECDiffieHellmanImplementation+ECDiffieHellmanSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-20 (-11.90 % of base) : 475539.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
-20 (-11.90 % of base) : 265503.dasm - System.Security.Cryptography.ECDsaImplementation+ECDsaSecurityTransforms:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-20 (-10.42 % of base) : 470219.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Instrumented Tier0)
-20 (-10.42 % of base) : 468672.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ImportParameters(System.Security.Cryptography.ECParameters):this (Tier0)
-20 (-6.85 % of base) : 119120.dasm - Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
-20 (-5.49 % of base) : 170163.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Tier0)
-12 (-4.76 % of base) : 302602.dasm - System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.TakeOrSkipQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.69 % of base) : 296990.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,double]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,double],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.69 % of base) : 297250.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,System.__Canon]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,System.__Canon],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-16 (-4.12 % of base) : 188519.dasm - System.AssertExtensions:AssertThrows[System.__Canon,int](System.ReadOnlySpan`1[int],System.AssertExtensions+AssertThrowsActionReadOnly`1[int]):System.__Canon (Tier0)
-16 (-4.12 % of base) : 188728.dasm - System.AssertExtensions:AssertThrows[System.__Canon,int](System.Span`1[int],System.AssertExtensions+AssertThrowsAction`1[int]):System.__Canon (Tier0)
-48 (-4.05 % of base) : 26084.dasm - Xunit.Sdk.AssertEqualityComparer`1[byte]:Equals(byte,byte):ubyte:this (Tier0)
-48 (-4.05 % of base) : 25841.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Tier0)
-44 (-3.93 % of base) : 2610.dasm - Xunit.Sdk.AssertEqualityComparer`1[System.Drawing.Point]:Equals(System.Drawing.Point,System.Drawing.Point):ubyte:this (Tier0)
-80 (-3.83 % of base) : 234962.dasm - System.Data.ConstNode:SmallestNumeric(System.Object):System.Object (Instrumented Tier0)
-72 (-3.83 % of base) : 406424.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Tier0)
-16 (-3.77 % of base) : 173647.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Instrumented Tier0)
-12 (-3.66 % of base) : 78823.dasm - System.ComponentModel.TypeDescriptor:CheckDefaultProvider(System.Type) (Tier0)
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 159436088 (overridden on cmd)
Total bytes of diff: 159436196 (overridden on cmd)
Total bytes of delta: 108 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
4 : 266252.dasm (2.50 % of base)
4 : 268643.dasm (2.38 % of base)
4 : 270607.dasm (2.38 % of base)
4 : 271249.dasm (2.50 % of base)
4 : 278940.dasm (2.38 % of base)
4 : 279446.dasm (2.50 % of base)
4 : 282563.dasm (2.38 % of base)
4 : 284482.dasm (2.50 % of base)
4 : 286870.dasm (2.50 % of base)
4 : 286878.dasm (2.38 % of base)
4 : 269591.dasm (2.27 % of base)
4 : 270260.dasm (2.50 % of base)
4 : 273558.dasm (2.50 % of base)
4 : 274816.dasm (2.50 % of base)
4 : 280191.dasm (2.50 % of base)
4 : 280315.dasm (2.50 % of base)
4 : 285803.dasm (2.50 % of base)
4 : 285804.dasm (2.38 % of base)
4 : 271452.dasm (2.50 % of base)
4 : 271488.dasm (2.50 % of base)
Top file improvements (bytes):
-8 : 10533.dasm (-1.57 % of base)
-4 : 153385.dasm (-1.15 % of base)
27 total files with Code Size differences (2 improved, 25 regressed), 38 unchanged.
Top method regressions (bytes):
4 (2.50 % of base) : 285780.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 273558.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 270260.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|17_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 270607.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|18_0(byref,byref,int,int,int) (MinOpts)
4 (2.27 % of base) : 269591.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|19_0(byref,byref,int,int,int,int) (MinOpts)
4 (2.50 % of base) : 285803.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 271452.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 266252.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 285804.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int,int) (MinOpts)
4 (2.86 % of base) : 287261.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
4 (2.50 % of base) : 286870.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|38_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 286878.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|39_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 274816.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 271488.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 278940.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 280191.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 268643.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 271249.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|6_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 284482.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|68_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 285010.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|69_0(byref,byref,int,int,int) (MinOpts)
Top method improvements (bytes):
-8 (-1.57 % of base) : 10533.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
-4 (-1.15 % of base) : 153385.dasm - Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method regressions (percentages):
4 (2.86 % of base) : 287261.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
4 (2.86 % of base) : 279459.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
4 (2.50 % of base) : 285780.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 273558.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 270260.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|17_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 285803.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 271452.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 266252.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 286870.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|38_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 274816.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 271488.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 280191.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 271249.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|6_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 284482.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|68_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 280315.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|7_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 279446.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|84_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 270607.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|18_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 285804.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 286878.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|39_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 278940.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int,int) (MinOpts)
Top method improvements (percentages):
-8 (-1.57 % of base) : 10533.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
-4 (-1.15 % of base) : 153385.dasm - Kerberos.NET.Crypto.KerberosCryptoTransformer:AreEqualSlow(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
realworld.run.osx.arm64.checked.mch
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15065616 (overridden on cmd)
Total bytes of diff: 15065616 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
Diffs are based on 2,326,811 contexts (934,686 MinOpts, 1,392,125 FullOpts).
MISSED contexts: 2,495 (0.11%)
Overall (+148,732 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run_pgo.windows.arm64.checked.mch
45,619,340
+1,376
benchmarks.run_tiered.windows.arm64.checked.mch
15,264,644
+368
coreclr_tests.run.windows.arm64.checked.mch
496,117,708
+144,188
libraries.crossgen2.windows.arm64.checked.mch
58,913,600
+0
libraries.pmi.windows.arm64.checked.mch
79,525,232
+0
libraries_tests.run.windows.arm64.Release.mch
319,612,456
+2,688
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
169,012,984
+112
realworld.run.windows.arm64.checked.mch
15,917,176
+0
MinOpts (+148,732 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run_pgo.windows.arm64.checked.mch
16,205,148
+1,376
benchmarks.run_tiered.windows.arm64.checked.mch
11,172,336
+368
coreclr_tests.run.windows.arm64.checked.mch
339,719,232
+144,188
libraries.crossgen2.windows.arm64.checked.mch
1,636
+0
libraries.pmi.windows.arm64.checked.mch
119,984
+0
libraries_tests.run.windows.arm64.Release.mch
203,904,856
+2,688
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
13,136,180
+112
realworld.run.windows.arm64.checked.mch
568,424
+0
Example diffs
benchmarks.run_pgo.windows.arm64.checked.mch
-8 (-7.14%) : 6417.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of
1[ushort]:MinBenchmark():System.Runtime.Intrinsics.Vector128
1[ushort]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M1926_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M1926_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M1926_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M1926_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- umin v0.8h, v8.8h, v0.8h
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ umin v0.8h, v17.8h, v16.8h
;; size=84 bbWeight=1 PerfScore 19.00
G_M1926_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=e576f879) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:MinBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=e576f879) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:MinBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 8553.dasm - System.Numerics.Tests.Perf_VectorOf
1[short]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector
1[short]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[short]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[short]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M51679_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M51679_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M51679_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M51679_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- eor v0.8h, v8.8h, v0.8h
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ eor v0.8h, v17.8h, v16.8h
;; size=84 bbWeight=1 PerfScore 18.50
G_M51679_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.00, instruction count 28, allocated bytes for code 112 (MethodHash=50653620) for method System.Numerics.Tests.Perf_VectorOf`1[short]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.00, instruction count 26, allocated bytes for code 104 (MethodHash=50653620) for method System.Numerics.Tests.Perf_VectorOf`1[short]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 8953.dasm - System.Numerics.Tests.Perf_VectorOf
1[ubyte]:SubtractionOperatorBenchmark():System.Numerics.Vector
1[ubyte]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[ubyte]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[ubyte]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M64560_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M64560_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M64560_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M64560_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- sub v0.16b, v8.16b, v0.16b
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ sub v0.16b, v17.16b, v16.16b
;; size=84 bbWeight=1 PerfScore 19.00
G_M64560_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=a47003cf) for method System.Numerics.Tests.Perf_VectorOf`1[ubyte]:SubtractionOperatorBenchmark():System.Numerics.Vector`1[ubyte]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=a47003cf) for method System.Numerics.Tests.Perf_VectorOf`1[ubyte]:SubtractionOperatorBenchmark():System.Numerics.Vector`1[ubyte]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
+4 (+10.00%) : 47336.dasm - System.MathF:CopySign(float,float):float (Tier0)
@@ -18,11 +18,12 @@ G_M24268_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str s1, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M24268_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr s16, [fp, #0x18] // [V01 arg1]
- ldr s17, [fp, #0x1C] // [V00 arg0]
- bsl v0.4s, v16.4s, v17.4s
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr s17, [fp, #0x18] // [V01 arg1]
+ ldr s18, [fp, #0x1C] // [V00 arg0]
+ bsl v16.4s, v17.4s, v18.4s
+ dup s0, v16.s[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000080000000h, 8000000080000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+10.00%) : 80372.dasm - System.Math:CopySign(double,double):double (Tier0)
@@ -18,11 +18,12 @@ G_M65071_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x10] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M65071_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr d16, [fp, #0x10] // [V01 arg1]
- ldr d17, [fp, #0x18] // [V00 arg0]
- bsl v0.2d, v16.2d, v17.2d
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr d17, [fp, #0x10] // [V01 arg1]
+ ldr d18, [fp, #0x18] // [V00 arg0]
+ bsl v16.2d, v17.2d, v18.2d
+ dup d0, v16.d[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M65071_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M65071_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000000000000h, 8000000000000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=c21601d0) for method System.Math:CopySign(double,double):double (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=c21601d0) for method System.Math:CopySign(double,double):double (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+11.11%) : 5756.dasm - System.Runtime.Intrinsics.Vector128:Createint:System.Runtime.Intrinsics.Vector128`1int
@@ -19,16 +19,17 @@ G_M3554_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x20] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M3554_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x28] // [V00 arg0]
- ldr d16, [fp, #0x20] // [V01 arg1]
- ins v0.d[1], v16.d[0]
- ;; size=12 bbWeight=1 PerfScore 5.00
+ ldr d16, [fp, #0x28] // [V00 arg0]
+ ldr d17, [fp, #0x20] // [V01 arg1]
+ ins v16.d[1], v17.d[0]
+ mov v0.16b, v16.16b
+ ;; size=16 bbWeight=1 PerfScore 5.50
G_M3554_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 10.50, instruction count 9, allocated bytes for code 36 (MethodHash=a275f21d) for method System.Runtime.Intrinsics.Vector128:Create[int](System.Runtime.Intrinsics.Vector64`1[int],System.Runtime.Intrinsics.Vector64`1[int]):System.Runtime.Intrinsics.Vector128`1[int] (Tier0)
+; Total bytes of code 40, prolog size 8, PerfScore 11.00, instruction count 10, allocated bytes for code 40 (MethodHash=a275f21d) for method System.Runtime.Intrinsics.Vector128:Create[int](System.Runtime.Intrinsics.Vector64`1[int],System.Runtime.Intrinsics.Vector64`1[int]):System.Runtime.Intrinsics.Vector128`1[int] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
benchmarks.run_tiered.windows.arm64.checked.mch
-8 (-7.14%) : 13361.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivideBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Float>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Float>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M31745_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M31745_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M31745_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M31745_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fdiv v0.4s, v8.4s, v0.4s
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ fdiv v0.4s, v17.4s, v16.4s
;; size=84 bbWeight=1 PerfScore 30.00
G_M31745_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 37.50, instruction count 28, allocated bytes for code 112 (MethodHash=c7aa83fe) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivideBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 34.50, instruction count 26, allocated bytes for code 104 (MethodHash=c7aa83fe) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivideBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 17097.dasm - System.Numerics.Tests.Perf_VectorOf
1[short]:MinBenchmark():System.Numerics.Vector
1[short]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[short]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[short]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M25702_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M25702_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #8
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M25702_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #8
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M25702_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- smin v0.8h, v8.8h, v0.8h
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ smin v0.8h, v17.8h, v16.8h
;; size=84 bbWeight=1 PerfScore 19.00
G_M25702_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=0a609b99) for method System.Numerics.Tests.Perf_VectorOf`1[short]:MinBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=0a609b99) for method System.Numerics.Tests.Perf_VectorOf`1[short]:MinBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
-8 (-7.14%) : 17545.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of
1[ubyte]:AddBenchmark():System.Runtime.Intrinsics.Vector128
1[ubyte]:this (Tier0)@@ -5,18 +5,17 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] this class-hnd <System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd16 -> [fp+0x10]
+; TEMP_01 simd16 -> [fp+0x18]
;
-; Lcl frame size = 24
+; Lcl frame size = 32
G_M50989_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
- str d8, [sp, #0x28]
mov fp, sp
- str x0, [fp, #0x20] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x0, [fp, #0x28] // [V00 this]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M50989_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -26,8 +25,8 @@ G_M50989_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x18] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -36,28 +35,27 @@ G_M50989_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- add v0.16b, v8.16b, v0.16b
+ ldr q16, [x0]
+ ldr q17, [fp, #0x18] // [TEMP_01]
+ add v0.16b, v17.16b, v16.16b
;; size=84 bbWeight=1 PerfScore 19.00
G_M50989_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x28]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 112, prolog size 12, PerfScore 26.50, instruction count 28, allocated bytes for code 112 (MethodHash=92c538d2) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 23.50, instruction count 26, allocated bytes for code 104 (MethodHash=92c538d2) for method System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -65,10 +63,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 05 save_freg X#0 Z#5 (0x05); str d8, [sp, #40]
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
- E4 end
- E4 end
+4 (+10.00%) : 30715.dasm - System.MathF:CopySign(float,float):float (Tier0)
@@ -18,11 +18,12 @@ G_M24268_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str s1, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M24268_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr s16, [fp, #0x18] // [V01 arg1]
- ldr s17, [fp, #0x1C] // [V00 arg0]
- bsl v0.4s, v16.4s, v17.4s
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr s17, [fp, #0x18] // [V01 arg1]
+ ldr s18, [fp, #0x1C] // [V00 arg0]
+ bsl v16.4s, v17.4s, v18.4s
+ dup s0, v16.s[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M24268_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000080000000h, 8000000080000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=6796a133) for method System.MathF:CopySign(float,float):float (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+10.00%) : 45712.dasm - System.Math:CopySign(double,double):double (Tier0)
@@ -18,11 +18,12 @@ G_M65071_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x10] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M65071_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr q0, [@RWD00]
- ldr d16, [fp, #0x10] // [V01 arg1]
- ldr d17, [fp, #0x18] // [V00 arg0]
- bsl v0.2d, v16.2d, v17.2d
- ;; size=16 bbWeight=1 PerfScore 6.50
+ ldr q16, [@RWD00]
+ ldr d17, [fp, #0x10] // [V01 arg1]
+ ldr d18, [fp, #0x18] // [V00 arg0]
+ bsl v16.2d, v17.2d, v18.2d
+ dup d0, v16.d[0]
+ ;; size=20 bbWeight=1 PerfScore 7.50
G_M65071_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -30,7 +31,7 @@ G_M65071_IG03: ; bbWeight=1, epilog, nogc, extend
RWD00 dq 8000000000000000h, 8000000000000000h
-; Total bytes of code 40, prolog size 8, PerfScore 12.00, instruction count 10, allocated bytes for code 40 (MethodHash=c21601d0) for method System.Math:CopySign(double,double):double (Tier0)
+; Total bytes of code 44, prolog size 8, PerfScore 13.00, instruction count 11, allocated bytes for code 44 (MethodHash=c21601d0) for method System.Math:CopySign(double,double):double (Tier0)
; ============================================================
Unwind Info:
@@ -41,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+11.11%) : 13370.dasm - System.Runtime.Intrinsics.Vector128:Createuint:System.Runtime.Intrinsics.Vector128`1uint
@@ -19,16 +19,17 @@ G_M13922_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str d1, [fp, #0x20] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
G_M13922_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x28] // [V00 arg0]
- ldr d16, [fp, #0x20] // [V01 arg1]
- ins v0.d[1], v16.d[0]
- ;; size=12 bbWeight=1 PerfScore 5.00
+ ldr d16, [fp, #0x28] // [V00 arg0]
+ ldr d17, [fp, #0x20] // [V01 arg1]
+ ins v16.d[1], v17.d[0]
+ mov v0.16b, v16.16b
+ ;; size=16 bbWeight=1 PerfScore 5.50
G_M13922_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 10.50, instruction count 9, allocated bytes for code 36 (MethodHash=94bec99d) for method System.Runtime.Intrinsics.Vector128:Create[uint](System.Runtime.Intrinsics.Vector64`1[uint],System.Runtime.Intrinsics.Vector64`1[uint]):System.Runtime.Intrinsics.Vector128`1[uint] (Tier0)
+; Total bytes of code 40, prolog size 8, PerfScore 11.00, instruction count 10, allocated bytes for code 40 (MethodHash=94bec99d) for method System.Runtime.Intrinsics.Vector128:Create[uint](System.Runtime.Intrinsics.Vector64`1[uint],System.Runtime.Intrinsics.Vector64`1[uint]):System.Runtime.Intrinsics.Vector128`1[uint] (Tier0)
; ============================================================
Unwind Info:
@@ -39,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
coreclr_tests.run.windows.arm64.checked.mch
-8 (-6.67%) : 514729.dasm - GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
@@ -10,22 +10,21 @@
; V02 tmp1 [V02 ] ( 1, 1 ) simd16 -> [fp+0x20] HFA(float) do-not-enreg[SR] multireg-ret "Return value temp for multireg return" <System.Numerics.Vector4>
; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 56
+; Lcl frame size = 48
G_M39822_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
- str d8, [sp, #0x48]
+ stp fp, lr, [sp, #-0x40]!
mov fp, sp
str s0, [fp, #0x30] // [V00 arg0]
str s1, [fp, #0x34] // [V00 arg0+0x04]
str s2, [fp, #0x38] // [V00 arg0+0x08]
str s3, [fp, #0x3C] // [V00 arg0+0x0c]
- ;; size=28 bbWeight=1 PerfScore 6.50
+ ;; size=24 bbWeight=1 PerfScore 5.50
G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
fmov s16, #1.0000
str s16, [fp, #0x3C] // [V00 arg0+0x0c]
- ldr q8, [fp, #0x30] // [V00 arg0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [fp, #0x30] // [V00 arg0]
+ str q16, [fp, #0x10] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -35,8 +34,8 @@ G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fadd v16.4s, v8.4s, v16.4s
+ ldr q17, [fp, #0x10] // [TEMP_01]
+ fadd v16.4s, v17.4s, v16.4s
str q16, [fp, #0x20] // [V02 tmp1]
ldr s0, [fp, #0x20] // [V02 tmp1]
ldr s1, [fp, #0x24] // [V02 tmp1+0x04]
@@ -44,23 +43,22 @@ G_M39822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr s3, [fp, #0x2C] // [V02 tmp1+0x0c]
;; size=80 bbWeight=1 PerfScore 26.00
G_M39822_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x48]
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x40
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 120, prolog size 12, PerfScore 36.50, instruction count 30, allocated bytes for code 120 (MethodHash=3ff16471) for method GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
+; Total bytes of code 112, prolog size 8, PerfScore 33.50, instruction count 28, allocated bytes for code 112 (MethodHash=3ff16471) for method GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 30 (0x0001e) Actual length = 120 (0x000078)
+ Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -68,10 +66,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 09 save_freg X#0 Z#9 (0x09); str d8, [sp, #72]
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
- E4 end
- E4 end
+ 87 save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
E4 end
E4 end
-12 (-6.12%) : 515172.dasm - Performance_2700:TestEntryPoint():int (Tier0)
@@ -11,15 +11,14 @@
; V03 tmp2 [V03 ] ( 1, 1 ) simd16 -> [fp+0x20] "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 72
+; Lcl frame size = 64
G_M50724_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x60]!
- str d8, [sp, #0x58]
+ stp fp, lr, [sp, #-0x50]!
mov fp, sp
str xzr, [fp, #0x40] // [V00 loc0]
str xzr, [fp, #0x48] // [V00 loc0+0x08]
- ;; size=20 bbWeight=1 PerfScore 4.50
+ ;; size=16 bbWeight=1 PerfScore 3.50
G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -29,8 +28,8 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q8, [x0]
- str q8, [fp, #0x10] // [TEMP_01]
+ ldr q16, [x0]
+ str q16, [fp, #0x10] // [TEMP_01]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -40,8 +39,8 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
- ldr q8, [fp, #0x10] // [TEMP_01]
- fmul v16.4s, v8.4s, v16.4s
+ ldr q17, [fp, #0x10] // [TEMP_01]
+ fmul v16.4s, v17.4s, v16.4s
str q16, [fp, #0x40] // [V00 loc0]
movi v16.4s, #0
str q16, [fp, #0x30] // [V02 tmp1]
@@ -60,33 +59,31 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov w0, wzr
;; size=148 bbWeight=1 PerfScore 40.50
G_M50724_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x58]
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M50724_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov w0, #100
;; size=4 bbWeight=1 PerfScore 0.50
G_M50724_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr d8, [sp, #0x58]
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
RWD00 dq 4000000040000000h, 4000000040000000h
-; Total bytes of code 196, prolog size 20, PerfScore 53.50, instruction count 49, allocated bytes for code 196 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
+; Total bytes of code 184, prolog size 16, PerfScore 48.50, instruction count 46, allocated bytes for code 184 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 2
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 46 (0x0002e) Actual length = 184 (0x0000b8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,10 +94,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- DC 0B save_freg X#0 Z#11 (0x0B); str d8, [sp, #88]
- 8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
- E4 end
- E4 end
+ 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
E4 end
E4 end
-16 (-5.06%) : 187761.dasm - (dynamicClass):ILSTUBPInvoke():System.Numerics.Vector3 (MinOpts)
@@ -7,7 +7,7 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 loc0 [V00 ] ( 1, 1 ) int -> [fp+0xD4] do-not-enreg[]
+; V00 loc0 [V00 ] ( 1, 1 ) int -> [fp+0xDC] do-not-enreg[]
; V01 loc1 [V01 ] ( 1, 1 ) simd12 -> [fp+0xC0] HFA(float) do-not-enreg[SR] multireg-ret <System.Numerics.Vector3>
; V02 loc2 [V02 ] ( 1, 1 ) simd12 -> [fp+0xB0] HFA(float) do-not-enreg[S] <System.Numerics.Vector3>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -21,20 +21,18 @@
; TEMP_02 float -> [fp+0x70]
; TEMP_01 float -> [fp+0x6C]
;
-; Lcl frame size = 200
+; Lcl frame size = 208
G_M47779_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #0xD1FFAB1E]!
- stp d8, d9, [sp, #0xD8]
- str d10, [sp, #0xE8]
- stp x19, x20, [sp, #0xF0]
- stp x21, x22, [sp, #0xD1FFAB1E]
+ stp x19, x20, [sp, #0xE0]
+ stp x21, x22, [sp, #0xF0]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
str x12, [fp, #0x60] // [V04 tmp1]
- ;; size=40 bbWeight=1 PerfScore 9.50
+ ;; size=32 bbWeight=1 PerfScore 7.50
G_M47779_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
add x0, fp, #32 // [V09 PInvokeFrame+0x08]
mov x1, x12
@@ -48,7 +46,7 @@ G_M47779_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x1, fp, #32 // [V09 PInvokeFrame+0x08]
; byrRegs +[x1]
str x1, [x0, #0x10]
- str wzr, [fp, #0xD4] // [V00 loc0]
+ str wzr, [fp, #0xDC] // [V00 loc0]
nop
nop
ldr x0, [fp, #0x60] // [V04 tmp1]
@@ -88,12 +86,12 @@ G_M47779_IG05: ; bbWeight=1, isz, extend
; gcr arg pop 0
;; size=52 bbWeight=1 PerfScore 13.50
G_M47779_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr s8, [fp, #0x74] // [TEMP_03]
- str s8, [fp, #0x90] // [V06 tmp3]
- ldr s9, [fp, #0x70] // [TEMP_02]
- str s9, [fp, #0x94] // [V06 tmp3+0x04]
- ldr s10, [fp, #0x6C] // [TEMP_01]
- str s10, [fp, #0x98] // [V06 tmp3+0x08]
+ ldr s16, [fp, #0x74] // [TEMP_03]
+ str s16, [fp, #0x90] // [V06 tmp3]
+ ldr s17, [fp, #0x70] // [TEMP_02]
+ str s17, [fp, #0x94] // [V06 tmp3+0x04]
+ ldr s18, [fp, #0x6C] // [TEMP_01]
+ str s18, [fp, #0x98] // [V06 tmp3+0x08]
nop
ldr q16, [fp, #0x90] // [V06 tmp3]
str q16, [fp, #0xB0] // [V02 loc2]
@@ -114,26 +112,24 @@ G_M47779_IG07: ; bbWeight=1, epilog, nogc, extend
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xD1FFAB1E]
- ldp x21, x22, [sp, #0xD1FFAB1E]
- ldp x19, x20, [sp, #0xF0]
- ldr d10, [sp, #0xE8]
- ldp d8, d9, [sp, #0xD8]
+ ldp x21, x22, [sp, #0xF0]
+ ldp x19, x20, [sp, #0xE0]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
- ;; size=36 bbWeight=1 PerfScore 10.00
+ ;; size=28 bbWeight=1 PerfScore 7.00
-; Total bytes of code 316, prolog size 40, PerfScore 92.00, instruction count 79, allocated bytes for code 316 (MethodHash=962e455c) for method (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
+; Total bytes of code 300, prolog size 32, PerfScore 87.00, instruction count 75, allocated bytes for code 300 (MethodHash=962e455c) for method (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 4
+ Code Words : 3
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 79 (0x0004f) Actual length = 316 (0x00013c)
+ Function Length : 75 (0x0004b) Actual length = 300 (0x00012c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -145,10 +141,8 @@ Unwind Info:
E6 save_next
E6 save_next
E6 save_next
- C8 1E save_regp X#0 Z#30 (0x1E); stp x19, x20, [sp, #240]
- DC 9D save_freg X#2 Z#29 (0x1D); str d10, [sp, #232]
- D8 1B save_fregp X#0 Z#27 (0x1B); stp d8, d9, [sp, #216]
- A7 save_fplr_x #39 (0x27); stp fp, lr, [sp, #-320]!
+ C8 1C save_regp X#0 Z#28 (0x1C); stp x19, x20, [sp, #224]
+ A5 save_fplr_x #37 (0x25); stp fp, lr, [sp, #-304]!
E4 end
E4 end
E4 end
+44 (+73.33%) : 347710.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64
1[ubyte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector128
1[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector64
1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x48] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x18] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x10] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x88] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x58] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x50] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[ubyte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 simd8 -> [fp+0x48]
+; TEMP_01 simd8 -> [fp+0x40]
+; TEMP_05 simd16 -> [fp+0x30]
+; TEMP_04 simd16 -> [fp+0x20]
+; TEMP_03 simd16 -> [fp+0x10]
;
-; Lcl frame size = 64
+; Lcl frame size = 128
G_M54744_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
+ stp fp, lr, [sp, #-0x90]!
mov fp, sp
- str d0, [fp, #0x48] // [V00 arg0]
- str q1, [fp, #0x18] // [V01 arg1]
- str q2, [fp, #0x28] // [V01 arg1+0x10]
- str q3, [fp, #0x38] // [V01 arg1+0x20]
- str d4, [fp, #0x10] // [V02 arg2]
+ str d0, [fp, #0x88] // [V00 arg0]
+ str q1, [fp, #0x58] // [V01 arg1]
+ str q2, [fp, #0x68] // [V01 arg1+0x10]
+ str q3, [fp, #0x78] // [V01 arg1+0x20]
+ str d4, [fp, #0x50] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M54744_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x48] // [V00 arg0]
- ldr q16, [fp, #0x18] // [V01 arg1]
- ldr q17, [fp, #0x28] // [V01 arg1+0x10]
- ldr q18, [fp, #0x38] // [V01 arg1+0x20]
- ldr d19, [fp, #0x10] // [V02 arg2]
- tbx v0.8b, {v16.16b, v17.16b, v18.16b}, v19.8b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr d16, [fp, #0x88] // [V00 arg0]
+ str d16, [fp, #0x48] // [TEMP_02]
+ ldr q16, [fp, #0x58] // [V01 arg1]
+ str q16, [fp, #0x30] // [TEMP_05]
+ ldr q16, [fp, #0x68] // [V01 arg1+0x10]
+ str q16, [fp, #0x20] // [TEMP_04]
+ ldr q16, [fp, #0x78] // [V01 arg1+0x20]
+ str q16, [fp, #0x10] // [TEMP_03]
+ ldr d16, [fp, #0x50] // [V02 arg2]
+ str d16, [fp, #0x40] // [TEMP_01]
+ ldr d16, [fp, #0x48] // [TEMP_02]
+ ldr q17, [fp, #0x30] // [TEMP_05]
+ ldr q18, [fp, #0x20] // [TEMP_04]
+ ldr q19, [fp, #0x10] // [TEMP_03]
+ ldr d20, [fp, #0x40] // [TEMP_01]
+ tbx v16.8b, {v17.16b, v18.16b, v19.16b}, v20.8b
+ mov v0.8b, v16.8b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M54744_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x90
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=cf242a27) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=cf242a27) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
+ 91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
+44 (+73.33%) : 347715.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64
1[byte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector128
1[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector64
1[byte]):System.Runtime.Intrinsics.Vector64`1[byte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x48] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x18] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x10] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd8 -> [fp+0x88] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x58] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd8 -> [fp+0x50] HFA(simd8) do-not-enreg[S] <System.Runtime.Intrinsics.Vector64`1[byte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 simd8 -> [fp+0x48]
+; TEMP_01 simd8 -> [fp+0x40]
+; TEMP_05 simd16 -> [fp+0x30]
+; TEMP_04 simd16 -> [fp+0x20]
+; TEMP_03 simd16 -> [fp+0x10]
;
-; Lcl frame size = 64
+; Lcl frame size = 128
G_M2168_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
+ stp fp, lr, [sp, #-0x90]!
mov fp, sp
- str d0, [fp, #0x48] // [V00 arg0]
- str q1, [fp, #0x18] // [V01 arg1]
- str q2, [fp, #0x28] // [V01 arg1+0x10]
- str q3, [fp, #0x38] // [V01 arg1+0x20]
- str d4, [fp, #0x10] // [V02 arg2]
+ str d0, [fp, #0x88] // [V00 arg0]
+ str q1, [fp, #0x58] // [V01 arg1]
+ str q2, [fp, #0x68] // [V01 arg1+0x10]
+ str q3, [fp, #0x78] // [V01 arg1+0x20]
+ str d4, [fp, #0x50] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M2168_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x48] // [V00 arg0]
- ldr q16, [fp, #0x18] // [V01 arg1]
- ldr q17, [fp, #0x28] // [V01 arg1+0x10]
- ldr q18, [fp, #0x38] // [V01 arg1+0x20]
- ldr d19, [fp, #0x10] // [V02 arg2]
- tbx v0.8b, {v16.16b, v17.16b, v18.16b}, v19.8b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr d16, [fp, #0x88] // [V00 arg0]
+ str d16, [fp, #0x48] // [TEMP_02]
+ ldr q16, [fp, #0x58] // [V01 arg1]
+ str q16, [fp, #0x30] // [TEMP_05]
+ ldr q16, [fp, #0x68] // [V01 arg1+0x10]
+ str q16, [fp, #0x20] // [TEMP_04]
+ ldr q16, [fp, #0x78] // [V01 arg1+0x20]
+ str q16, [fp, #0x10] // [TEMP_03]
+ ldr d16, [fp, #0x50] // [V02 arg2]
+ str d16, [fp, #0x40] // [TEMP_01]
+ ldr d16, [fp, #0x48] // [TEMP_02]
+ ldr q17, [fp, #0x30] // [TEMP_05]
+ ldr q18, [fp, #0x20] // [TEMP_04]
+ ldr q19, [fp, #0x10] // [TEMP_03]
+ ldr d20, [fp, #0x40] // [TEMP_01]
+ tbx v16.8b, {v17.16b, v18.16b, v19.16b}, v20.8b
+ mov v0.8b, v16.8b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M2168_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x50
+ ldp fp, lr, [sp], #0x90
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=e897f787) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=e897f787) for method System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 89 save_fplr_x #9 (0x09); stp fp, lr, [sp, #-80]!
+ 91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
+44 (+73.33%) : 343892.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128
1[byte],System.ValueTuple
3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector128
1[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector128
1[byte]):System.Runtime.Intrinsics.Vector128`1[byte@@ -5,36 +5,52 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0x50] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x20] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
-; V02 arg2 [V02 ] ( 1, 1 ) simd16 -> [fp+0x10] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
+; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0xA0] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (48) [fp+0x70] HFA(simd16) do-not-enreg[SFA] multireg-arg <System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]]>
+; V02 arg2 [V02 ] ( 1, 1 ) simd16 -> [fp+0x60] HFA(simd16) do-not-enreg[S] <System.Runtime.Intrinsics.Vector128`1[byte]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_05 simd16 -> [fp+0x50]
+; TEMP_04 simd16 -> [fp+0x40]
+; TEMP_03 simd16 -> [fp+0x30]
+; TEMP_02 simd16 -> [fp+0x20]
+; TEMP_01 simd16 -> [fp+0x10]
;
-; Lcl frame size = 80
+; Lcl frame size = 160
G_M10198_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x60]!
+ stp fp, lr, [sp, #-0xB0]!
mov fp, sp
- str q0, [fp, #0x50] // [V00 arg0]
- str q1, [fp, #0x20] // [V01 arg1]
- str q2, [fp, #0x30] // [V01 arg1+0x10]
- str q3, [fp, #0x40] // [V01 arg1+0x20]
- str q4, [fp, #0x10] // [V02 arg2]
+ str q0, [fp, #0xA0] // [V00 arg0]
+ str q1, [fp, #0x70] // [V01 arg1]
+ str q2, [fp, #0x80] // [V01 arg1+0x10]
+ str q3, [fp, #0x90] // [V01 arg1+0x20]
+ str q4, [fp, #0x60] // [V02 arg2]
;; size=28 bbWeight=1 PerfScore 6.50
G_M10198_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x50] // [V00 arg0]
- ldr q16, [fp, #0x20] // [V01 arg1]
- ldr q17, [fp, #0x30] // [V01 arg1+0x10]
- ldr q18, [fp, #0x40] // [V01 arg1+0x20]
- ldr q19, [fp, #0x10] // [V02 arg2]
- tbx v0.16b, {v16.16b, v17.16b, v18.16b}, v19.16b
- ;; size=24 bbWeight=1 PerfScore 13.00
+ ldr q16, [fp, #0xA0] // [V00 arg0]
+ str q16, [fp, #0x50] // [TEMP_05]
+ ldr q16, [fp, #0x70] // [V01 arg1]
+ str q16, [fp, #0x40] // [TEMP_04]
+ ldr q16, [fp, #0x80] // [V01 arg1+0x10]
+ str q16, [fp, #0x30] // [TEMP_03]
+ ldr q16, [fp, #0x90] // [V01 arg1+0x20]
+ str q16, [fp, #0x20] // [TEMP_02]
+ ldr q16, [fp, #0x60] // [V02 arg2]
+ str q16, [fp, #0x10] // [TEMP_01]
+ ldr q16, [fp, #0x50] // [TEMP_05]
+ ldr q17, [fp, #0x40] // [TEMP_04]
+ ldr q18, [fp, #0x30] // [TEMP_03]
+ ldr q19, [fp, #0x20] // [TEMP_02]
+ ldr q20, [fp, #0x10] // [TEMP_01]
+ tbx v16.16b, {v17.16b, v18.16b, v19.16b}, v20.16b
+ mov v0.16b, v16.16b
+ ;; size=68 bbWeight=1 PerfScore 28.50
G_M10198_IG03: ; bbWeight=1, epilog, nogc, extend
- ldp fp, lr, [sp], #0x60
+ ldp fp, lr, [sp], #0xB0
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 60, prolog size 8, PerfScore 21.50, instruction count 15, allocated bytes for code 60 (MethodHash=51c0d829) for method System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
+; Total bytes of code 104, prolog size 8, PerfScore 37.00, instruction count 26, allocated bytes for code 104 (MethodHash=51c0d829) for method System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +61,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
+ Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -53,7 +69,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- 8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
+ 95 save_fplr_x #21 (0x15); stp fp, lr, [sp, #-176]!
E4 end
E4 end
libraries.crossgen2.windows.arm64.checked.mch
+0 (0.00%) : 9181.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -28,17 +28,17 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- fcvtzs x11, d0
- str x11, [fp, #0x18] // [V02 loc0]
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0
- sxtw x0, w0
- cmp x11, x0
+ fcvtzs x0, d0
+ str x0, [fp, #0x18] // [V02 loc0]
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0
+ sxtw x1, w1
+ cmp x0, x1
blt G_M50957_IG03
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0xD1FFAB1E LSL #16
- sxtw x0, w0
- cmp x11, x0
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0xD1FFAB1E LSL #16
+ sxtw x1, w1
+ cmp x0, x1
ble G_M50957_IG04
;; size=68 bbWeight=1 PerfScore 17.50
G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+0 (0.00%) : 135598.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -38,8 +38,8 @@ G_M16092_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- ldr w11, [fp, #0x20] // [V06 tmp1]
- cmp w0, w11
+ ldr w1, [fp, #0x20] // [V06 tmp1]
+ cmp w0, w1
beq G_M16092_IG04
mov w0, wzr
;; size=60 bbWeight=1 PerfScore 16.00
+0 (0.00%) : 9175.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -33,10 +33,10 @@ G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x3
; gcrRegs -[x0 x2]
str w0, [fp, #0x24] // [V01 loc0]
- adrp x1, [HIGH RELOC #0xD1FFAB1E] // const ptr
- add x1, x1, [LOW RELOC #0xD1FFAB1E]
- ldr x1, [x1]
- ldr x1, [x1]
+ adrp x0, [HIGH RELOC #0xD1FFAB1E] // const ptr
+ add x0, x0, [LOW RELOC #0xD1FFAB1E]
+ ldr x0, [x0]
+ ldr x1, [x0]
; gcrRegs +[x1]
ldr w0, [fp, #0x24] // [V01 loc0]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
+0 (0.00%) : 9176.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -28,17 +28,17 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x11, x11, [LOW RELOC #0xD1FFAB1E]
ldr x1, [x11]
blr x1
- fcvtzs x11, d0
- str x11, [fp, #0x18] // [V02 loc0]
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0
- sxtw x0, w0
- cmp x11, x0
+ fcvtzs x0, d0
+ str x0, [fp, #0x18] // [V02 loc0]
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0
+ sxtw x1, w1
+ cmp x0, x1
blt G_M28342_IG03
- ldr x11, [fp, #0x18] // [V02 loc0]
- movn w0, #0xD1FFAB1E LSL #16
- sxtw x0, w0
- cmp x11, x0
+ ldr x0, [fp, #0x18] // [V02 loc0]
+ movn w1, #0xD1FFAB1E LSL #16
+ sxtw x1, w1
+ cmp x0, x1
ble G_M28342_IG04
;; size=68 bbWeight=1 PerfScore 17.50
G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+0 (0.00%) : 9180.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -34,26 +34,26 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x3
; gcrRegs -[x0 x2]
str w0, [fp, #0x24] // [V01 loc0]
- ldr x1, [fp, #0x28] // [V00 arg0]
- ; gcrRegs +[x1]
- ldr w1, [x1, #0x08]
- ; gcrRegs -[x1]
- cbz w1, G_M30483_IG03
- ldr w1, [fp, #0x24] // [V01 loc0]
- cmn w1, #1
- cset x1, ne
- str w1, [fp, #0x14] // [V04 tmp1]
+ ldr x0, [fp, #0x28] // [V00 arg0]
+ ; gcrRegs +[x0]
+ ldr w0, [x0, #0x08]
+ ; gcrRegs -[x0]
+ cbz w0, G_M30483_IG03
+ ldr w0, [fp, #0x24] // [V01 loc0]
+ cmn w0, #1
+ cset x0, ne
+ str w0, [fp, #0x14] // [V04 tmp1]
b G_M30483_IG04
;; size=68 bbWeight=1 PerfScore 22.50
G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov w1, #1
- str w1, [fp, #0x14] // [V04 tmp1]
+ mov w0, #1
+ str w0, [fp, #0x14] // [V04 tmp1]
;; size=8 bbWeight=1 PerfScore 1.50
G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- adrp x1, [HIGH RELOC #0xD1FFAB1E] // const ptr
- add x1, x1, [LOW RELOC #0xD1FFAB1E]
- ldr x1, [x1]
- ldr x1, [x1]
+ adrp x0, [HIGH RELOC #0xD1FFAB1E] // const ptr
+ add x0, x0, [LOW RELOC #0xD1FFAB1E]
+ ldr x0, [x0]
+ ldr x1, [x0]
; gcrRegs +[x1]
ldr w0, [fp, #0x14] // [V04 tmp1]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
libraries.pmi.windows.arm64.checked.mch
+0 (0.00%) : 20106.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
@@ -1350,21 +1350,22 @@ G_M12913_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcr arg pop 0
str x0, [fp, #0xD1FFAB1E] // [V02 loc0]
- ldr x2, [fp, #0xD1FFAB1E] // [V02 loc0]
- ; gcrRegs +[x2]
- cbz x2, G_M12913_IG05
- ldr x2, [fp, #0xD1FFAB1E] // [V02 loc0]
- ldr x2, [x2, #0x08]
- str x2, [fp, #0xD1FFAB1E] // [V03 loc1]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ cbz x0, G_M12913_IG05
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ ldr x0, [x0, #0x08]
+ str x0, [fp, #0xD1FFAB1E] // [V03 loc1]
;; size=48 bbWeight=1 PerfScore 17.50
G_M12913_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0 x2]
- ldr x2, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs -[x0]
+ ldr x0, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs +[x0]
+ ldr x2, [x0, #0x08]
; gcrRegs +[x2]
- ldr x2, [x2, #0x08]
ldr x1, [fp, #0xD1FFAB1E] // [V03 loc1]
; gcrRegs +[x1]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38354,16 +38355,18 @@ G_M12913_IG649: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V1269 tmp844]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V1269 tmp844]
ldr x1, [fp, #0xD1FFAB1E] // [V1269 tmp844]
+ ; gcrRegs +[x1]
ldr x2, [fp, #0xD1FFAB1E] // [V411 loc409]
; gcrRegs +[x2]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38389,21 +38392,23 @@ G_M12913_IG649: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V1270 tmp845]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V1270 tmp845]
ldr x1, [fp, #0xD1FFAB1E] // [V1270 tmp845]
- ldr x4, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ; gcrRegs +[x1]
+ ldr x0, [fp, #0xD1FFAB1E] // [V00 arg0]
+ ldr x4, [x0, #0x08]
; gcrRegs +[x4]
- ldr x4, [x4, #0x08]
ldr x2, [fp, #0xD1FFAB1E] // [V411 loc409]
; gcrRegs +[x2]
ldr x3, [fp, #0xD1FFAB1E] // [V412 loc410]
; gcrRegs +[x3]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for <unknown method>
@@ -38476,16 +38481,18 @@ G_M12913_IG650: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcr arg pop 0
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xF8] // [V1272 tmp847]
+ movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xF8] // [V1272 tmp847]
ldr x1, [fp, #0xF8] // [V1272 tmp847]
+ ; gcrRegs +[x1]
ldr x2, [fp, #0xD1FFAB1E] // [V31 loc29]
; gcrRegs +[x2]
movz x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -38911,9 +38918,11 @@ G_M12913_IG662: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0xB0] // [V1281 tmp856]
ldr x2, [fp, #0xB0] // [V1281 tmp856]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39054,9 +39063,11 @@ G_M12913_IG670: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x90] // [V1285 tmp860]
ldr x2, [fp, #0x90] // [V1285 tmp860]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39257,9 +39268,11 @@ G_M12913_IG679: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x70] // [V1289 tmp864]
ldr x2, [fp, #0x70] // [V1289 tmp864]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
@@ -39400,9 +39413,11 @@ G_M12913_IG687: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str x0, [fp, #0x50] // [V1293 tmp868]
ldr x2, [fp, #0x50] // [V1293 tmp868]
; gcrRegs +[x2]
- ldr w1, [fp, #0xD1FFAB1E] // [V28 loc26]
- sxtw x1, w1
+ ldr w0, [fp, #0xD1FFAB1E] // [V28 loc26]
+ ; gcrRegs -[x0]
+ sxtw x1, w0
ldr x0, [fp, #0xD1FFAB1E] // [V33 loc31]
+ ; gcrRegs +[x0]
bl CORINFO_HELP_ARRADDR_ST
; gcrRegs -[x0 x2]
; gcr arg pop 0
libraries_tests.run.windows.arm64.Release.mch
-20 (-6.85%) : 114455.dasm - Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
@@ -5,45 +5,46 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x80] do-not-enreg[] this class-hnd <Stashbox.Registration.SelectionRules.ConditionRule>
-; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x78] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] class-hnd <Stashbox.Registration.ServiceRegistrations.ServiceRegistration>
-; V03 arg3 [V03 ] ( 1, 1 ) ref -> [fp+0x68] do-not-enreg[] class-hnd <Stashbox.Resolution.ResolutionContext>
-; V04 arg4 [V04 ] ( 1, 1 ) byref -> [fp+0x60] do-not-enreg[]
-; V05 loc0 [V05 ] ( 1, 1 ) ref -> [fp+0x58] do-not-enreg[] must-init class-hnd <<unknown class>>
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x88] do-not-enreg[] this class-hnd <Stashbox.Registration.SelectionRules.ConditionRule>
+; V01 arg1 [V01 ] ( 1, 1 ) byref -> [fp+0x80] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) ref -> [fp+0x78] do-not-enreg[] class-hnd <Stashbox.Registration.ServiceRegistrations.ServiceRegistration>
+; V03 arg3 [V03 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] class-hnd <Stashbox.Resolution.ResolutionContext>
+; V04 arg4 [V04 ] ( 1, 1 ) byref -> [fp+0x68] do-not-enreg[]
+; V05 loc0 [V05 ] ( 1, 1 ) ref -> [fp+0x60] do-not-enreg[] must-init class-hnd <<unknown class>>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07 ] ( 1, 1 ) struct (64) [fp+0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Stashbox.Resolution.TypeInformation>
-; V08 tmp2 [V08 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
+; V07 tmp1 [V07 ] ( 1, 1 ) struct (64) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Stashbox.Resolution.TypeInformation>
+; V08 tmp2 [V08 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 byref -> [fp+0x10]
;
-; Lcl frame size = 120
+; Lcl frame size = 128
G_M62279_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x90]!
- str x19, [sp, #0x88]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp xzr, xzr, [x9, #0x40]
- str x0, [fp, #0x80] // [V00 this]
- str x1, [fp, #0x78] // [V01 arg1]
- str x2, [fp, #0x70] // [V02 arg2]
- str x3, [fp, #0x68] // [V03 arg3]
- str x4, [fp, #0x60] // [V04 arg4]
+ str xzr, [x9, #0x50]
+ str x0, [fp, #0x88] // [V00 this]
+ str x1, [fp, #0x80] // [V01 arg1]
+ str x2, [fp, #0x78] // [V02 arg2]
+ str x3, [fp, #0x70] // [V03 arg3]
+ str x4, [fp, #0x68] // [V04 arg4]
;; size=52 bbWeight=1 PerfScore 11.50
G_M62279_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x1, [fp, #0x70] // [V02 arg2]
+ ldr x1, [fp, #0x78] // [V02 arg2]
; gcrRegs +[x1]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_ISINSTANCEOFCLASS
; gcrRegs -[x1] +[x0]
- str x0, [fp, #0x58] // [V05 loc0]
- ldr x0, [fp, #0x58] // [V05 loc0]
+ str x0, [fp, #0x60] // [V05 loc0]
+ ldr x0, [fp, #0x60] // [V05 loc0]
cbnz x0, G_M62279_IG04
- ldr x0, [fp, #0x60] // [V04 arg4]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; gcrRegs -[x0]
; byrRegs +[x0]
strb wzr, [x0]
@@ -51,12 +52,11 @@ G_M62279_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; byrRegs -[x0]
;; size=44 bbWeight=1 PerfScore 12.00
G_M62279_IG03: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x88]
ldp fp, lr, [sp], #0x90
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M62279_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- ldr x0, [fp, #0x58] // [V05 loc0]
+ ldr x0, [fp, #0x60] // [V05 loc0]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -65,30 +65,28 @@ G_M62279_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
blr x1
; gcrRegs -[x0]
cbz w0, G_M62279_IG08
- ldr x19, [fp, #0x60] // [V04 arg4]
- ; byrRegs +[x19]
- ldr x0, [fp, #0x58] // [V05 loc0]
- ; gcrRegs +[x0]
- str x0, [fp, #0x10] // [V08 tmp2]
- ldr x0, [fp, #0x78] // [V01 arg1]
- ; gcrRegs -[x0]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; byrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 15.50
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0x60] // [V05 loc0]
+ ; gcrRegs +[x1]
+ str x1, [fp, #0x18] // [V08 tmp2]
+ ldr x1, [fp, #0x80] // [V01 arg1]
+ ; gcrRegs -[x1]
+ ; byrRegs +[x1]
+ ;; size=48 bbWeight=1 PerfScore 16.50
G_M62279_IG05: ; bbWeight=1, nogc, extend
- ldp x1, x2, [x0]
- stp x1, x2, [fp, #0x18]
- ldp x1, x2, [x0, #0x10]
- stp x1, x2, [fp, #0x28]
- ldp x1, x2, [x0, #0x20]
- stp x1, x2, [fp, #0x38]
- ldp x1, x2, [x0, #0x30]
- stp x1, x2, [fp, #0x48]
- ;; size=32 bbWeight=1 PerfScore 20.00
+ ldp q16, q17, [x1]
+ stp q16, q17, [fp, #0x20]
+ ldp q16, q17, [x1, #0x20]
+ stp q16, q17, [fp, #0x40]
+ ;; size=16 bbWeight=1 PerfScore 8.00
G_M62279_IG06: ; bbWeight=1, extend
- ldr x0, [fp, #0x10] // [V08 tmp2]
+ ldr x0, [fp, #0x18] // [V08 tmp2]
; gcrRegs +[x0]
; byrRegs -[x0]
- add x1, fp, #24 // [V07 tmp1]
+ add x1, fp, #32 // [V07 tmp1]
+ ; byrRegs -[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
@@ -96,23 +94,24 @@ G_M62279_IG06: ; bbWeight=1, extend
ldr wzr, [x0]
blr x2
; gcrRegs -[x0]
- strb w0, [x19]
- ldr x0, [fp, #0x60] // [V04 arg4]
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; byrRegs +[x1]
+ strb w0, [x1]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; byrRegs +[x0]
ldrb w0, [x0]
; byrRegs -[x0]
- ;; size=44 bbWeight=1 PerfScore 17.00
+ ;; size=48 bbWeight=1 PerfScore 19.00
G_M62279_IG07: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x88]
ldp fp, lr, [sp], #0x90
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M62279_IG08: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[x19]
- ldr x0, [fp, #0x60] // [V04 arg4]
+ ; byrRegs -[x1]
+ ldr x0, [fp, #0x68] // [V04 arg4]
; byrRegs +[x0]
strb wzr, [x0]
- ldr x0, [fp, #0x58] // [V05 loc0]
+ ldr x0, [fp, #0x60] // [V05 loc0]
; gcrRegs +[x0]
; byrRegs -[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
@@ -125,23 +124,22 @@ G_M62279_IG08: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
cset x0, eq
;; size=40 bbWeight=1 PerfScore 11.50
G_M62279_IG09: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x88]
ldp fp, lr, [sp], #0x90
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 292, prolog size 32, PerfScore 99.50, instruction count 73, allocated bytes for code 292 (MethodHash=b5d20cb8) for method Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
+; Total bytes of code 272, prolog size 32, PerfScore 84.50, instruction count 68, allocated bytes for code 272 (MethodHash=b5d20cb8) for method Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 3
E bit : 0
X bit : 0
Vers : 0
- Function Length : 73 (0x00049) Actual length = 292 (0x000124)
+ Function Length : 68 (0x00044) Actual length = 272 (0x000110)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -155,10 +153,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 11 save_reg X#0 Z#17 (0x11); str x19, [sp, #136]
91 save_fplr_x #17 (0x11); stp fp, lr, [sp, #-144]!
E4 end
E4 end
- E4 end
- E4 end
-20 (-5.49%) : 165002.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrowsSystem.__Canon (Tier0)
@@ -5,40 +5,40 @@
; fully interruptible
; Final local variable assignments
;
-; V00 TypeCtx [V00 ] ( 1, 1 ) long -> [fp+0x40] do-not-enreg[]
-; V01 arg0 [V01 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] class-hnd <System.Action>
-; V02 loc0 [V02 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init ld-addr-op class-hnd <System.__Canon>
-; V03 loc1 [V03 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init class-hnd <System.__Canon>
+; V00 TypeCtx [V00 ] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[]
+; V01 arg0 [V01 ] ( 1, 1 ) ref -> [fp+0x40] do-not-enreg[] class-hnd <System.Action>
+; V02 loc0 [V02 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] must-init ld-addr-op class-hnd <System.__Canon>
+; V03 loc1 [V03 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd <System.__Canon>
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] must-init class-hnd "impSpillSpecialSideEff" <System.__Canon>
-; V06 tmp2 [V06 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "SpillCatchArg"
-; V07 tmp3 [V07 ] ( 1, 1 ) ref -> [fp+0x10] do-not-enreg[] must-init "argument with side effect"
-; V08 PSPSym [V08 ] ( 1, 1 ) long -> [fp+0x50] do-not-enreg[V] "PSPSym"
+; V05 tmp1 [V05 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init class-hnd "impSpillSpecialSideEff" <System.__Canon>
+; V06 tmp2 [V06 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] must-init "SpillCatchArg"
+; V07 tmp3 [V07 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; V08 PSPSym [V08 ] ( 1, 1 ) long -> [fp+0x58] do-not-enreg[V] "PSPSym"
+; TEMP_01 ref -> [fp+0x10]
;
-; Lcl frame size = 72
+; Lcl frame size = 80
G_M19780_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x60]!
- str x19, [sp, #0x58]
mov fp, sp
add x9, fp, #16
movi v16.16b, #0
stp q16, q16, [x9]
- str xzr, [x9, #0x20]
+ stp xzr, xzr, [x9, #0x20]
add x2, sp, #96
- str x2, [fp, #0x50] // [V08 PSPSym]
- str x0, [fp, #0x48]
- str x0, [fp, #0x40] // [V00 TypeCtx]
- str x1, [fp, #0x38] // [V01 arg0]
- ;; size=48 bbWeight=1 PerfScore 10.00
+ str x2, [fp, #0x58] // [V08 PSPSym]
+ str x0, [fp, #0x50]
+ str x0, [fp, #0x48] // [V00 TypeCtx]
+ str x1, [fp, #0x40] // [V01 arg0]
+ ;; size=44 bbWeight=1 PerfScore 9.00
G_M19780_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- str xzr, [fp, #0x30] // [V02 loc0]
+ str xzr, [fp, #0x38] // [V02 loc0]
;; size=4 bbWeight=1 PerfScore 1.00
G_M19780_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x0, [fp, #0x38] // [V01 arg0]
+ ldr x0, [fp, #0x40] // [V01 arg0]
; gcrRegs +[x0]
ldr x0, [x0, #0x08]
- ldr x1, [fp, #0x38] // [V01 arg0]
+ ldr x1, [fp, #0x40] // [V01 arg0]
; gcrRegs +[x1]
ldr x1, [x1, #0x18]
; gcrRegs -[x1]
@@ -47,13 +47,13 @@ G_M19780_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
;; size=20 bbWeight=1 PerfScore 11.00
G_M19780_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x0, [fp, #0x30] // [V02 loc0]
+ ldr x0, [fp, #0x38] // [V02 loc0]
; gcrRegs +[x0]
cbnz x0, G_M19780_IG06
;; size=8 bbWeight=1 PerfScore 3.00
G_M19780_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
- ldr x0, [fp, #0x40] // [V00 TypeCtx]
+ ldr x0, [fp, #0x48] // [V00 TypeCtx]
ldr x0, [x0, #0x38]
ldr x0, [x0]
bl CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
@@ -70,7 +70,7 @@ G_M19780_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
;; size=40 bbWeight=0 PerfScore 0.00
G_M19780_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x0, [fp, #0x30] // [V02 loc0]
+ ldr x0, [fp, #0x38] // [V02 loc0]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -79,29 +79,30 @@ G_M19780_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr wzr, [x0]
blr x1
; gcr arg pop 0
- mov x19, x0
- ; gcrRegs +[x19]
- ldr x0, [fp, #0x40] // [V00 TypeCtx]
+ str x0, [fp, #0x10] // [TEMP_01]
+ ldr x1, [fp, #0x48] // [V00 TypeCtx]
+ ldr x1, [x1, #0x38]
+ ldr x0, [x1]
; gcrRegs -[x0]
- ldr x0, [x0, #0x38]
- ldr x0, [x0]
bl CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
; gcrRegs +[x0]
; gcr arg pop 0
- cmp x19, x0
+ ldr x1, [fp, #0x10] // [TEMP_01]
+ ; gcrRegs +[x1]
+ cmp x1, x0
beq G_M19780_IG08
- ;; size=56 bbWeight=1 PerfScore 21.50
+ ;; size=60 bbWeight=1 PerfScore 24.00
G_M19780_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0 x19]
- ldr x0, [fp, #0x40] // [V00 TypeCtx]
+ ; gcrRegs -[x0-x1]
+ ldr x0, [fp, #0x48] // [V00 TypeCtx]
ldr x0, [x0, #0x38]
ldr x0, [x0]
bl CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
; gcrRegs +[x0]
; gcr arg pop 0
- str x0, [fp, #0x10] // [V07 tmp3]
- ldr x0, [fp, #0x10] // [V07 tmp3]
- ldr x1, [fp, #0x30] // [V02 loc0]
+ str x0, [fp, #0x18] // [V07 tmp3]
+ ldr x0, [fp, #0x18] // [V07 tmp3]
+ ldr x1, [fp, #0x38] // [V02 loc0]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -115,77 +116,72 @@ G_M19780_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
;; size=52 bbWeight=0 PerfScore 0.00
G_M19780_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ldr x19, [sp, #0x58]
ldp fp, lr, [sp], #0x60
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M19780_IG09: ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
; gcrRegs +[x0]
stp fp, lr, [sp, #-0x20]!
- str x19, [sp, #0x18]
- ldr x1, [x1, #-0x10]
- str x1, [sp, #0x10]
+ ldr x1, [x1, #-0x08]
+ str x1, [sp, #0x18]
sub fp, x1, #96
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=16 bbWeight=0 PerfScore 0.00
G_M19780_IG10: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
- str x0, [fp, #0x18] // [V06 tmp2]
- ldr x0, [fp, #0x40] // [V00 TypeCtx]
+ str x0, [fp, #0x20] // [V06 tmp2]
+ ldr x0, [fp, #0x48] // [V00 TypeCtx]
; gcrRegs -[x0]
ldr x0, [x0, #0x38]
ldr x0, [x0]
- ldr x1, [fp, #0x18] // [V06 tmp2]
+ ldr x1, [fp, #0x20] // [V06 tmp2]
; gcrRegs +[x1]
bl CORINFO_HELP_ISINSTANCEOF_EXCEPTION
; gcrRegs -[x1]
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
G_M19780_IG11: ; bbWeight=0, funclet epilog, nogc, extend
- ldr x19, [sp, #0x18]
ldp fp, lr, [sp], #0x20
ret lr
- ;; size=12 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M19780_IG12: ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
; gcrRegs +[x0]
stp fp, lr, [sp, #-0x20]!
- str x19, [sp, #0x18]
add x3, fp, #96
- str x3, [sp, #0x10]
- ;; size=16 bbWeight=1 PerfScore 3.50
+ str x3, [sp, #0x18]
+ ;; size=12 bbWeight=1 PerfScore 2.50
G_M19780_IG13: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
- str x0, [fp, #0x20] // [V05 tmp1]
- ldr x0, [fp, #0x40] // [V00 TypeCtx]
+ str x0, [fp, #0x28] // [V05 tmp1]
+ ldr x0, [fp, #0x48] // [V00 TypeCtx]
; gcrRegs -[x0]
ldr x0, [x0, #0x38]
ldr x0, [x0]
- ldr x1, [fp, #0x20] // [V05 tmp1]
+ ldr x1, [fp, #0x28] // [V05 tmp1]
; gcrRegs +[x1]
bl CORINFO_HELP_CHKCASTANY
; gcrRegs -[x1] +[x0]
; gcr arg pop 0
- str x0, [fp, #0x28] // [V03 loc1]
- ldr x0, [fp, #0x28] // [V03 loc1]
- str x0, [fp, #0x30] // [V02 loc0]
+ str x0, [fp, #0x30] // [V03 loc1]
+ ldr x0, [fp, #0x30] // [V03 loc1]
+ str x0, [fp, #0x38] // [V02 loc0]
adr x0, [G_M19780_IG04]
; gcrRegs -[x0]
;; size=40 bbWeight=1 PerfScore 16.50
G_M19780_IG14: ; bbWeight=1, funclet epilog, nogc, extend
- ldr x19, [sp, #0x18]
ldp fp, lr, [sp], #0x20
ret lr
- ;; size=12 bbWeight=1 PerfScore 6.00
+ ;; size=8 bbWeight=1 PerfScore 4.00
-; Total bytes of code 364, prolog size 48, PerfScore 76.50, instruction count 91, allocated bytes for code 364 (MethodHash=d176b2bb) for method Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Tier0)
+; Total bytes of code 344, prolog size 44, PerfScore 73.00, instruction count 86, allocated bytes for code 344 (MethodHash=d176b2bb) for method Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 60 (0x0003c) Actual length = 240 (0x0000f0)
+ Function Length : 59 (0x0003b) Actual length = 236 (0x0000ec)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -193,10 +189,24 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 0B save_reg X#0 Z#11 (0x0B); str x19, [sp, #88]
8B save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
E4 end
E4 end
+
+Unwind Info:
+ >> Start offset : 0xd1ffab1e (not in unwind data)
+ >> End offset : 0xd1ffab1e (not in unwind data)
+ Code Words : 1
+ Epilog Count : 0
+ E bit : 1
+ X bit : 0
+ Vers : 0
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ --- One epilog, unwind codes at 0
+ ---- Unwind codes ----
+ ---- Epilog start at index 0 ----
+ 83 save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+ E4 end
E4 end
...
-12 (-4.76%) : 307405.dasm - System.Linq.Parallel.TakeOrSkipQueryOperator
1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults
1[int],System.Linq.Parallel.TakeOrSkipQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)@@ -5,67 +5,64 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x90] do-not-enreg[] this class-hnd <System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]>
-; V01 arg1 [V01 ] ( 1, 1 ) ref -> [fp+0x88] do-not-enreg[] class-hnd <System.Linq.Parallel.QueryResults`1[int]>
-; V02 arg2 [V02 ] ( 1, 1 ) ref -> [fp+0x80] do-not-enreg[] class-hnd <System.Linq.Parallel.TakeOrSkipQueryOperator`1[int]>
-; V03 arg3 [V03 ] ( 1, 1 ) byref -> [fp+0x78] do-not-enreg[]
-; V04 arg4 [V04 ] ( 1, 1 ) ubyte -> [fp+0x74] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x98] do-not-enreg[] this class-hnd <System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]>
+; V01 arg1 [V01 ] ( 1, 1 ) ref -> [fp+0x90] do-not-enreg[] class-hnd <System.Linq.Parallel.QueryResults`1[int]>
+; V02 arg2 [V02 ] ( 1, 1 ) ref -> [fp+0x88] do-not-enreg[] class-hnd <System.Linq.Parallel.TakeOrSkipQueryOperator`1[int]>
+; V03 arg3 [V03 ] ( 1, 1 ) byref -> [fp+0x80] do-not-enreg[]
+; V04 arg4 [V04 ] ( 1, 1 ) ubyte -> [fp+0x7C] do-not-enreg[]
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06 ] ( 1, 1 ) ref -> [fp+0x68] do-not-enreg[] must-init "handle histogram profile tmp"
-; V07 tmp2 [V07 ] ( 1, 1 ) struct (48) [fp+0x38] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Linq.Parallel.QuerySettings>
-; V08 tmp3 [V08 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init "argument with side effect"
-; V09 tmp4 [V09 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init "argument with side effect"
-; V10 tmp5 [V10 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] must-init "argument with side effect"
-; V11 tmp6 [V11 ] ( 1, 1 ) ref -> [fp+0x18] do-not-enreg[] must-init "argument with side effect"
+; V06 tmp1 [V06 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] must-init "handle histogram profile tmp"
+; V07 tmp2 [V07 ] ( 1, 1 ) struct (48) [fp+0x40] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Linq.Parallel.QuerySettings>
+; V08 tmp3 [V08 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] must-init "argument with side effect"
+; V09 tmp4 [V09 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init "argument with side effect"
+; V10 tmp5 [V10 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init "argument with side effect"
+; V11 tmp6 [V11 ] ( 1, 1 ) ref -> [fp+0x20] do-not-enreg[] must-init "argument with side effect"
+; TEMP_01 ref -> [fp+0x18]
;
-; Lcl frame size = 136
+; Lcl frame size = 144
G_M18125_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0xA0]!
- str x19, [sp, #0x98]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
- stp xzr, xzr, [x9, #0x40]
- str xzr, [x9, #0x50]
- str x0, [fp, #0x90] // [V00 this]
- str x1, [fp, #0x88] // [V01 arg1]
- str x2, [fp, #0x80] // [V02 arg2]
- str x3, [fp, #0x78] // [V03 arg3]
- str w4, [fp, #0x74] // [V04 arg4]
- ;; size=56 bbWeight=1 PerfScore 12.50
+ stp q16, q16, [x9, #0x40]
+ str x0, [fp, #0x98] // [V00 this]
+ str x1, [fp, #0x90] // [V01 arg1]
+ str x2, [fp, #0x88] // [V02 arg2]
+ str x3, [fp, #0x80] // [V03 arg3]
+ str w4, [fp, #0x7C] // [V04 arg4]
+ ;; size=48 bbWeight=1 PerfScore 10.50
G_M18125_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr x0, [fp, #0x90] // [V00 this]
+ ldr x0, [fp, #0x98] // [V00 this]
; gcrRegs +[x0]
- str x0, [fp, #0x30] // [V08 tmp3]
- ldr x0, [fp, #0x88] // [V01 arg1]
- str x0, [fp, #0x28] // [V09 tmp4]
- ldr x0, [fp, #0x80] // [V02 arg2]
- str x0, [fp, #0x20] // [V10 tmp5]
- ldr x0, [fp, #0x78] // [V03 arg3]
+ str x0, [fp, #0x38] // [V08 tmp3]
+ ldr x0, [fp, #0x90] // [V01 arg1]
+ str x0, [fp, #0x30] // [V09 tmp4]
+ ldr x0, [fp, #0x88] // [V02 arg2]
+ str x0, [fp, #0x28] // [V10 tmp5]
+ ldr x0, [fp, #0x80] // [V03 arg3]
; gcrRegs -[x0]
; byrRegs +[x0]
;; size=28 bbWeight=1 PerfScore 11.00
G_M18125_IG03: ; bbWeight=1, nogc, extend
- ldp x1, x2, [x0]
- stp x1, x2, [fp, #0x38]
- ldp x1, x2, [x0, #0x10]
- stp x1, x2, [fp, #0x48]
- ldp x1, x2, [x0, #0x20]
- stp x1, x2, [fp, #0x58]
- ;; size=24 bbWeight=1 PerfScore 15.00
+ ldp q16, q17, [x0]
+ stp q16, q17, [fp, #0x40]
+ ldr q16, [x0, #0x20]
+ str q16, [fp, #0x60]
+ ;; size=16 bbWeight=1 PerfScore 8.00
G_M18125_IG04: ; bbWeight=1, extend
- ldr x0, [fp, #0x30] // [V08 tmp3]
+ ldr x0, [fp, #0x38] // [V08 tmp3]
; gcrRegs +[x0]
; byrRegs -[x0]
- ldr x1, [fp, #0x28] // [V09 tmp4]
+ ldr x1, [fp, #0x30] // [V09 tmp4]
; gcrRegs +[x1]
- ldr x2, [fp, #0x20] // [V10 tmp5]
+ ldr x2, [fp, #0x28] // [V10 tmp5]
; gcrRegs +[x2]
- add x3, fp, #56 // [V07 tmp2]
- ldr w4, [fp, #0x74] // [V04 arg4]
+ add x3, fp, #64 // [V07 tmp2]
+ ldr w4, [fp, #0x7C] // [V04 arg4]
uxtb w4, w4
movz x5, #0xD1FFAB1E // code for <unknown method>
movk x5, #0xD1FFAB1E LSL #16
@@ -73,33 +70,34 @@ G_M18125_IG04: ; bbWeight=1, extend
ldr x5, [x5]
blr x5
; gcrRegs -[x0-x2]
- ldr x14, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #80
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x98] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #80
; byrRegs +[x14]
- ldr x15, [fp, #0x80] // [V02 arg2]
+ ldr x15, [fp, #0x88] // [V02 arg2]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
- ldr x19, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x19]
- ldr x0, [fp, #0x90] // [V00 this]
+ ldr x0, [fp, #0x98] // [V00 this]
; gcrRegs +[x0]
- ldr x0, [x0, #0x08]
- str x0, [fp, #0x68] // [V06 tmp1]
- ldr x0, [fp, #0x68] // [V06 tmp1]
+ str x0, [fp, #0x18] // [TEMP_01]
+ ldr x1, [fp, #0x98] // [V00 this]
+ ; gcrRegs +[x1]
+ ldr x1, [x1, #0x08]
+ str x1, [fp, #0x70] // [V06 tmp1]
+ ldr x0, [fp, #0x70] // [V06 tmp1]
movz x1, #0xD1FFAB1E
+ ; gcrRegs -[x1]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_CLASSPROFILE32
; gcrRegs -[x0]
- ldr x0, [fp, #0x68] // [V06 tmp1]
+ ldr x0, [fp, #0x70] // [V06 tmp1]
; gcrRegs +[x0]
- str x0, [fp, #0x18] // [V11 tmp6]
- ldr x0, [fp, #0x18] // [V11 tmp6]
- ldr x1, [fp, #0x18] // [V11 tmp6]
+ str x0, [fp, #0x20] // [V11 tmp6]
+ ldr x0, [fp, #0x20] // [V11 tmp6]
+ ldr x1, [fp, #0x20] // [V11 tmp6]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -107,26 +105,27 @@ G_M18125_IG04: ; bbWeight=1, extend
ldr x1, [x1, #0x38]
blr x1
; gcrRegs -[x0]
- str w0, [x19, #0x58]
- ;; size=132 bbWeight=1 PerfScore 50.50
+ ldr x1, [fp, #0x18] // [TEMP_01]
+ ; gcrRegs +[x1]
+ str w0, [x1, #0x58]
+ ;; size=140 bbWeight=1 PerfScore 53.50
G_M18125_IG05: ; bbWeight=1, epilog, nogc, extend
- ldr x19, [sp, #0x98]
ldp fp, lr, [sp], #0xA0
ret lr
- ;; size=12 bbWeight=1 PerfScore 4.00
+ ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 252, prolog size 36, PerfScore 93.00, instruction count 63, allocated bytes for code 252 (MethodHash=94e0b932) for method System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.TakeOrSkipQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
+; Total bytes of code 240, prolog size 28, PerfScore 85.00, instruction count 60, allocated bytes for code 240 (MethodHash=94e0b932) for method System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.TakeOrSkipQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
; ============================================================
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
- Code Words : 2
+ Code Words : 1
Epilog Count : 1
E bit : 0
X bit : 0
Vers : 0
- Function Length : 63 (0x0003f) Actual length = 252 (0x0000fc)
+ Function Length : 60 (0x0003c) Actual length = 240 (0x0000f0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -134,10 +133,7 @@ Unwind Info:
---- Unwind codes ----
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
- D0 13 save_reg X#0 Z#19 (0x13); str x19, [sp, #152]
93 save_fplr_x #19 (0x13); stp fp, lr, [sp, #-160]!
E4 end
E4 end
- E4 end
- E4 end
+12 (+12.50%) : 439503.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
@@ -24,28 +24,31 @@ G_M30583_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str x0, [fp, #0x38] // [V00 this]
;; size=28 bbWeight=1 PerfScore 6.50
G_M30583_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr d0, [fp, #0x30] // [V01 arg1]
+ ldr d16, [fp, #0x30] // [V01 arg1]
+ fmov d0, d16
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
str d0, [fp, #0x18] // [V04 loc0]
- ldr d0, [fp, #0x28] // [V02 arg2]
- ldr d2, [fp, #0x20] // [V03 arg3]
+ ldr d16, [fp, #0x28] // [V02 arg2]
+ fmov d0, d16
+ ldr d16, [fp, #0x20] // [V03 arg3]
+ fmov d2, d16
ldr d1, [fp, #0x18] // [V04 loc0]
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- ;; size=60 bbWeight=1 PerfScore 20.00
+ ;; size=72 bbWeight=1 PerfScore 21.50
G_M30583_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x40
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 96, prolog size 12, PerfScore 28.50, instruction count 24, allocated bytes for code 96 (MethodHash=c9e78888) for method System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
+; Total bytes of code 108, prolog size 12, PerfScore 30.00, instruction count 27, allocated bytes for code 108 (MethodHash=c9e78888) for method System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
; ============================================================
Unwind Info:
@@ -56,7 +59,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 24 (0x00018) Actual length = 96 (0x000060)
+ Function Length : 27 (0x0001b) Actual length = 108 (0x00006c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+14.29%) : 373748.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator
1[double]:Invoke(System.Runtime.Intrinsics.Vector128
1[double]):double (Tier0)@@ -16,15 +16,16 @@ G_M29631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q0, [fp, #0x10] // [V00 arg0]
;; size=12 bbWeight=1 PerfScore 2.50
G_M29631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x10] // [V00 arg0]
- faddp d0, v0.2d
- ;; size=8 bbWeight=1 PerfScore 5.00
+ ldr q16, [fp, #0x10] // [V00 arg0]
+ faddp d16, v16.2d
+ dup d0, v16.d[0]
+ ;; size=12 bbWeight=1 PerfScore 6.00
G_M29631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 9.50, instruction count 7, allocated bytes for code 28 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 10.50, instruction count 8, allocated bytes for code 32 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
; ============================================================
Unwind Info:
@@ -35,7 +36,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 8 (0x00008) Actual length = 32 (0x000020)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+14.29%) : 375140.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator
1[double]:Invoke(System.Runtime.Intrinsics.Vector128
1[double]):double (Instrumented Tier0)@@ -16,15 +16,16 @@ G_M29631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str q0, [fp, #0x10] // [V00 arg0]
;; size=12 bbWeight=1 PerfScore 2.50
G_M29631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr q0, [fp, #0x10] // [V00 arg0]
- faddp d0, v0.2d
- ;; size=8 bbWeight=1 PerfScore 5.00
+ ldr q16, [fp, #0x10] // [V00 arg0]
+ faddp d16, v16.2d
+ dup d0, v16.d[0]
+ ;; size=12 bbWeight=1 PerfScore 6.00
G_M29631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 9.50, instruction count 7, allocated bytes for code 28 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 10.50, instruction count 8, allocated bytes for code 32 (MethodHash=b5d28c40) for method System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -35,7 +36,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 8 (0x00008) Actual length = 32 (0x000020)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
-8 (-1.57%) : 13193.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest
1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)@@ -7,39 +7,38 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
-; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x60] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [fp+0x50] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
-; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [fp+0x4C] do-not-enreg[] must-init
-; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [fp+0x48] do-not-enreg[] must-init
-; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [fp+0x44] do-not-enreg[] must-init
+; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x78] do-not-enreg[] this class-hnd <Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]>
+; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [fp+0x68] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V02 arg2 [V02 ] ( 1, 1 ) struct (16) [fp+0x58] do-not-enreg[XSFA] multireg-arg addr-exposed <System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]>
+; V03 loc0 [V03 ] ( 1, 1 ) ubyte -> [fp+0x54] do-not-enreg[] must-init
+; V04 loc1 [V04 ] ( 1, 1 ) ubyte -> [fp+0x50] do-not-enreg[] must-init
+; V05 loc2 [V05 ] ( 1, 1 ) ubyte -> [fp+0x4C] do-not-enreg[] must-init
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07 ] ( 1, 1 ) int -> [fp+0x40] do-not-enreg[] "impSpillStackEnsure"
-; V08 tmp2 [V08 ] ( 1, 1 ) int -> [fp+0x3C] do-not-enreg[] must-init
-; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [fp+0x28] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
-; V11 tmp5 [V11 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] must-init
-; V12 tmp6 [V12 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "impSpillStackEnsure"
-; V13 tmp7 [V13 ] ( 1, 1 ) int -> [fp+0x1C] do-not-enreg[] "impSpillStackEnsure"
-; V14 tmp8 [V14 ] ( 1, 1 ) int -> [fp+0x18] do-not-enreg[] "impSpillStackEnsure"
+; V07 tmp1 [V07 ] ( 1, 1 ) int -> [fp+0x48] do-not-enreg[] "impSpillStackEnsure"
+; V08 tmp2 [V08 ] ( 1, 1 ) int -> [fp+0x44] do-not-enreg[] must-init
+; V09 tmp3 [V09 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V10 tmp4 [V10 ] ( 1, 1 ) ref -> [fp+0x30] do-not-enreg[] must-init class-hnd "impSpillStackEnsure" <<unknown class>>
+; V11 tmp5 [V11 ] ( 1, 1 ) int -> [fp+0x2C] do-not-enreg[] must-init
+; V12 tmp6 [V12 ] ( 1, 1 ) int -> [fp+0x28] do-not-enreg[] "impSpillStackEnsure"
+; V13 tmp7 [V13 ] ( 1, 1 ) int -> [fp+0x24] do-not-enreg[] "impSpillStackEnsure"
+; V14 tmp8 [V14 ] ( 1, 1 ) int -> [fp+0x20] do-not-enreg[] "impSpillStackEnsure"
+; TEMP_01 ref -> [fp+0x18]
;
-; Lcl frame size = 104
+; Lcl frame size = 112
G_M13185_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x80]!
- str x19, [sp, #0x78]
mov fp, sp
- add x9, fp, #36
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
- str xzr, [x9, #0x20]
- str wzr, [x9, #0x28]
- str x0, [fp, #0x70] // [V00 this]
- str x1, [fp, #0x60] // [V01 arg1]
- str x2, [fp, #0x68] // [V01 arg1+0x08]
- str x3, [fp, #0x50] // [V02 arg2]
- str x4, [fp, #0x58] // [V02 arg2+0x08]
- ;; size=52 bbWeight=1 PerfScore 11.50
+ stp q16, q16, [x9, #0x20]
+ str x0, [fp, #0x78] // [V00 this]
+ str x1, [fp, #0x68] // [V01 arg1]
+ str x2, [fp, #0x70] // [V01 arg1+0x08]
+ str x3, [fp, #0x58] // [V02 arg2]
+ str x4, [fp, #0x60] // [V02 arg2+0x08]
+ ;; size=44 bbWeight=1 PerfScore 9.50
G_M13185_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -53,9 +52,9 @@ G_M13185_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x0, [fp, #0x60] // [V01 arg1]
+ ldr x0, [fp, #0x68] // [V01 arg1]
; gcrRegs +[x0]
- ldr x1, [fp, #0x50] // [V02 arg2]
+ ldr x1, [fp, #0x58] // [V02 arg2]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -64,49 +63,48 @@ G_M13185_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x2
; gcrRegs -[x0-x1]
; gcr arg pop 0
- str w0, [fp, #0x40] // [V07 tmp1]
- ldr w1, [fp, #0x40] // [V07 tmp1]
- uxtb w1, w1
- str w1, [fp, #0x4C] // [V03 loc0]
- ldr w1, [fp, #0x4C] // [V03 loc0]
- cbz w1, G_M13185_IG05
+ str w0, [fp, #0x48] // [V07 tmp1]
+ ldr w0, [fp, #0x48] // [V07 tmp1]
+ uxtb w0, w0
+ str w0, [fp, #0x54] // [V03 loc0]
+ ldr w0, [fp, #0x54] // [V03 loc0]
+ cbz w0, G_M13185_IG05
nop
- str wzr, [fp, #0x48] // [V04 loc1]
+ str wzr, [fp, #0x50] // [V04 loc1]
nop
b G_M13185_IG11
;; size=72 bbWeight=1 PerfScore 20.50
G_M13185_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr x1, [fp, #0x68] // [V01 arg1+0x08]
- ; gcrRegs +[x1]
- cbz x1, G_M13185_IG06
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
- cmp x1, #0
- cset x1, eq
- ; gcrRegs -[x1]
- str w1, [fp, #0x3C] // [V08 tmp2]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
+ ; gcrRegs +[x0]
+ cbz x0, G_M13185_IG06
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
+ cmp x0, #0
+ cset x0, eq
+ ; gcrRegs -[x0]
+ str w0, [fp, #0x44] // [V08 tmp2]
b G_M13185_IG07
;; size=28 bbWeight=1 PerfScore 8.00
G_M13185_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov w1, #1
- str w1, [fp, #0x3C] // [V08 tmp2]
+ mov w0, #1
+ str w0, [fp, #0x44] // [V08 tmp2]
;; size=8 bbWeight=1 PerfScore 1.50
G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr w1, [fp, #0x3C] // [V08 tmp2]
- uxtb w1, w1
- str w1, [fp, #0x44] // [V05 loc2]
- ldr w1, [fp, #0x44] // [V05 loc2]
- cbz w1, G_M13185_IG08
+ ldr w0, [fp, #0x44] // [V08 tmp2]
+ uxtb w0, w0
+ str w0, [fp, #0x4C] // [V05 loc2]
+ ldr w0, [fp, #0x4C] // [V05 loc2]
+ cbz w0, G_M13185_IG08
nop
- add x1, fp, #96 // [V01 arg1]
+ add x1, fp, #104 // [V01 arg1]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_BOX
; gcrRegs +[x0]
; gcr arg pop 0
- mov x19, x0
- ; gcrRegs +[x19]
- add x1, fp, #80 // [V02 arg2]
+ str x0, [fp, #0x18] // [TEMP_01]
+ add x1, fp, #88 // [V02 arg2]
movz x0, #0xD1FFAB1E
; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
@@ -114,18 +112,20 @@ G_M13185_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
bl CORINFO_HELP_BOX
; gcrRegs +[x0]
; gcr arg pop 0
- cmp x19, x0
+ ldr x1, [fp, #0x18] // [TEMP_01]
+ ; gcrRegs +[x1]
+ cmp x1, x0
cset x0, eq
; gcrRegs -[x0]
- str w0, [fp, #0x48] // [V04 loc1]
+ str w0, [fp, #0x50] // [V04 loc1]
nop
b G_M13185_IG11
- ;; size=88 bbWeight=1 PerfScore 17.00
+ ;; size=92 bbWeight=1 PerfScore 19.50
G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[x19]
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ; gcrRegs -[x1]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x0]
- ldr x1, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x1, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -133,9 +133,9 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1, #0x20]
blr x1
; gcr arg pop 0
- str x0, [fp, #0x30] // [V09 tmp3]
- ldr x0, [fp, #0x58] // [V02 arg2+0x08]
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
+ str x0, [fp, #0x38] // [V09 tmp3]
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
+ ldr x1, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x1]
ldr x1, [x1]
; gcrRegs -[x1]
@@ -143,13 +143,13 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1, #0x20]
blr x1
; gcr arg pop 0
- str x0, [fp, #0x28] // [V10 tmp4]
- ldr x0, [fp, #0x30] // [V09 tmp3]
- ldr x1, [fp, #0x28] // [V10 tmp4]
+ str x0, [fp, #0x30] // [V10 tmp4]
+ ldr x0, [fp, #0x38] // [V09 tmp3]
+ ldr x1, [fp, #0x30] // [V10 tmp4]
; gcrRegs +[x1]
cmp x0, x1
bne G_M13185_IG09
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
movz x1, #0xD1FFAB1E // code for <unknown method>
; gcrRegs -[x1]
movk x1, #0xD1FFAB1E LSL #16
@@ -159,8 +159,8 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- str w0, [fp, #0x20] // [V12 tmp6]
- ldr x0, [fp, #0x58] // [V02 arg2+0x08]
+ str w0, [fp, #0x28] // [V12 tmp6]
+ ldr x0, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -170,14 +170,14 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- str w0, [fp, #0x1C] // [V13 tmp7]
- ldr w0, [fp, #0x20] // [V12 tmp6]
- ldr w1, [fp, #0x1C] // [V13 tmp7]
+ str w0, [fp, #0x24] // [V13 tmp7]
+ ldr w0, [fp, #0x28] // [V12 tmp6]
+ ldr w1, [fp, #0x24] // [V13 tmp7]
cmp w0, w1
bne G_M13185_IG09
- ldr x0, [fp, #0x68] // [V01 arg1+0x08]
+ ldr x0, [fp, #0x70] // [V01 arg1+0x08]
; gcrRegs +[x0]
- ldr x1, [fp, #0x58] // [V02 arg2+0x08]
+ ldr x1, [fp, #0x60] // [V02 arg2+0x08]
; gcrRegs +[x1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -187,41 +187,40 @@ G_M13185_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blr x2
; gcrRegs -[x0-x1]
; gcr arg pop 0
- str w0, [fp, #0x18] // [V14 tmp8]
- ldr w0, [fp, #0x18] // [V14 tmp8]
- str w0, [fp, #0x24] // [V11 tmp5]
+ str w0, [fp, #0x20] // [V14 tmp8]
+ ldr w0, [fp, #0x20] // [V14 tmp8]
+ str w0, [fp, #0x2C] // [V11 tmp5]
...
+0 (0.00%) : 2109.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:.ctor():this (MinOpts)
@@ -91,15 +91,14 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- ldr x14, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #32
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x90] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #32
; byrRegs +[x14]
ldr x15, [fp, #0x88] // [V02 tmp1]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -116,15 +115,14 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- ldr x14, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #40
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x90] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #40
; byrRegs +[x14]
ldr x15, [fp, #0x80] // [V03 tmp2]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
ldr x0, [fp, #0x90] // [V00 this]
; gcrRegs +[x0]
@@ -138,10 +136,8 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[x0]
; gcr arg pop 0
str x0, [fp, #0x70] // [V05 tmp4]
- ldr x14, [fp, #0x78] // [V04 tmp3]
- ; gcrRegs +[x14]
- add x14, x14, #48
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x78] // [V04 tmp3]
+ add x14, x0, #48
; byrRegs +[x14]
ldr x15, [fp, #0x70] // [V05 tmp4]
; gcrRegs +[x15]
@@ -163,15 +159,14 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- ldr x14, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #64
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x90] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #64
; byrRegs +[x14]
ldr x15, [fp, #0x68] // [V06 tmp5]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -188,15 +183,14 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- ldr x14, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #72
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x90] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #72
; byrRegs +[x14]
ldr x15, [fp, #0x60] // [V07 tmp6]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
ldr x0, [fp, #0x90] // [V00 this]
; gcrRegs +[x0]
@@ -230,15 +224,14 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- ldr x14, [fp, #0x90] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #80
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x90] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #80
; byrRegs +[x14]
ldr x15, [fp, #0x48] // [V10 tmp9]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
ldr x0, [fp, #0x90] // [V00 this]
; gcrRegs +[x0]
@@ -318,15 +311,14 @@ G_M50331_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blr x5
; gcrRegs -[x0-x4]
; gcr arg pop 0
- ldr x14, [fp, #0x40] // [V11 tmp10]
- ; gcrRegs +[x14]
- add x14, x14, #24
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x40] // [V11 tmp10]
+ ; gcrRegs +[x0]
+ add x14, x0, #24
; byrRegs +[x14]
ldr x15, [fp, #0x18] // [V16 tmp15]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
nop
;; size=680 bbWeight=1 PerfScore 221.50
+0 (0.00%) : 2181.dasm - Microsoft.CodeAnalysis.Testing.ProjectCollection:.ctor(System.String,System.String):this (MinOpts)
@@ -44,25 +44,23 @@ G_M64997_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ldr x14, [fp, #0x28] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #72
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x28] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #72
; byrRegs +[x14]
ldr x15, [fp, #0x20] // [V01 arg1]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
- ldr x14, [fp, #0x28] // [V00 this]
- ; gcrRegs +[x14]
- add x14, x14, #80
- ; gcrRegs -[x14]
+ ldr x0, [fp, #0x28] // [V00 this]
+ ; gcrRegs +[x0]
+ add x14, x0, #80
; byrRegs +[x14]
ldr x15, [fp, #0x18] // [V02 arg2]
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[x15]
+ ; gcrRegs -[x0 x15]
; byrRegs -[x14]
nop
;; size=68 bbWeight=1 PerfScore 20.00
+4 (+2.50%) : 294424.dasm - System.Text.RegularExpressions.Generated.
@@ -36,25 +36,26 @@ G_M23835_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M23835_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- adds w1, w1, #1
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ adds w0, w0, #1
bvc G_M23835_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=24 bbWeight=1 PerfScore 8.00
G_M23835_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M23835_IG06
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=24 bbWeight=1 PerfScore 6.50
G_M23835_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -76,13 +77,13 @@ G_M23835_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=56 bbWeight=1 PerfScore 18.00
+ ;; size=60 bbWeight=1 PerfScore 18.50
G_M23835_IG07: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 160, prolog size 24, PerfScore 46.00, instruction count 40, allocated bytes for code 160 (MethodHash=963ba2e4) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
+; Total bytes of code 164, prolog size 24, PerfScore 46.50, instruction count 41, allocated bytes for code 164 (MethodHash=963ba2e4) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -93,7 +94,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
+ Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.86%) : 289154.dasm - System.Text.RegularExpressions.Generated.
@@ -34,19 +34,20 @@ G_M64740_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M64740_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M64740_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=36 bbWeight=1 PerfScore 12.00
G_M64740_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -67,13 +68,13 @@ G_M64740_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=56 bbWeight=1 PerfScore 16.50
G_M64740_IG06: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 140, prolog size 20, PerfScore 40.50, instruction count 35, allocated bytes for code 140 (MethodHash=b548031b) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
+; Total bytes of code 144, prolog size 20, PerfScore 41.00, instruction count 36, allocated bytes for code 144 (MethodHash=b548031b) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -84,7 +85,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
+ Function Length : 36 (0x00024) Actual length = 144 (0x000090)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.86%) : 285259.dasm - System.Text.RegularExpressions.Generated.
@@ -34,19 +34,20 @@ G_M48747_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M48747_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- ldr x1, [fp, #0x20] // [V01 arg1]
- ; byrRegs +[x1]
- ldr w1, [x1]
- ; byrRegs -[x1]
- mov w0, #2
- smull x1, w1, w0
- lsr x2, x1, #32
- cmp w2, w1, ASR #31
+ ldr x0, [fp, #0x20] // [V01 arg1]
+ ; byrRegs +[x0]
+ ldr w0, [x0]
+ ; byrRegs -[x0]
+ mov w1, #2
+ smull x0, w0, w1
+ lsr x2, x0, #32
+ cmp w2, w0, ASR #31
beq G_M48747_IG05
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=36 bbWeight=1 PerfScore 12.00
G_M48747_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov w1, w0
ldr x0, [fp, #0x28] // [V00 arg0]
; byrRegs +[x0]
movz x2, #0xD1FFAB1E // code for <unknown method>
@@ -67,13 +68,13 @@ G_M48747_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=56 bbWeight=1 PerfScore 16.50
G_M48747_IG06: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 140, prolog size 20, PerfScore 40.50, instruction count 35, allocated bytes for code 140 (MethodHash=44774194) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
+; Total bytes of code 144, prolog size 20, PerfScore 41.00, instruction count 36, allocated bytes for code 144 (MethodHash=44774194) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
; ============================================================
Unwind Info:
@@ -84,7 +85,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
+ Function Length : 36 (0x00024) Actual length = 144 (0x000090)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
realworld.run.windows.arm64.checked.mch
+0 (0.00%) : 4498.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
@@ -2794,41 +2794,39 @@ G_M23076_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr x1, [x1]
blr x1
str x0, [fp, #0xD1FFAB1E] // [V11 loc9]
- ldr x2, [fp, #0xD1FFAB1E] // [V11 loc9]
- ; gcrRegs +[x2]
- cbz x2, G_M23076_IG09
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ldrb w2, [x2, #0x40]
- ; gcrRegs -[x2]
+ ldr x0, [fp, #0xD1FFAB1E] // [V11 loc9]
+ cbz x0, G_M23076_IG09
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ldrb w0, [x0, #0x40]
+ ; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
- str w2, [fp, xip1] // [V73 tmp3]
+ str w0, [fp, xip1] // [V73 tmp3]
b G_M23076_IG10
;; size=152 bbWeight=1 PerfScore 45.50
G_M23076_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
str wzr, [fp, xip1] // [V73 tmp3]
;; size=8 bbWeight=1 PerfScore 1.50
G_M23076_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov xip1, #0xD1FFAB1E
- ldr w2, [fp, xip1] // [V73 tmp3]
- uxtb w2, w2
+ ldr w0, [fp, xip1] // [V73 tmp3]
+ uxtb w0, w0
mov xip1, #0xD1FFAB1E
- str w2, [fp, xip1] // [V09 loc7]
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x2]
- ldr x2, [x2, #0x30]
- str x2, [fp, #0xD1FFAB1E] // [V12 loc10]
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ldr w2, [x2, #0x38]
- ; gcrRegs -[x2]
- cmp w2, #0
- bgt G_M23076_IG27
- ldr x2, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x2]
- ldr x2, [x2, #0x30]
+ str w0, [fp, xip1] // [V09 loc7]
ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
; gcrRegs +[x0]
+ ldr x0, [x0, #0x30]
+ str x0, [fp, #0xD1FFAB1E] // [V12 loc10]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ldr w0, [x0, #0x38]
+ ; gcrRegs -[x0]
+ cmp w0, #0
+ bgt G_M23076_IG27
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ; gcrRegs +[x0]
+ ldr x2, [x0, #0x30]
+ ; gcrRegs +[x2]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
ldr x1, [fp, #0xD1FFAB1E] // [V04 loc2]
; gcrRegs +[x1]
movz x3, #0xD1FFAB1E // code for <unknown method>
@@ -18497,8 +18495,8 @@ G_M23076_IG1254: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
blr x1
; gcrRegs -[x0]
str w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
- ldr w1, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
- cmp w1, #26
+ ldr w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
+ cmp w0, #26
bhi G_M23076_IG1255
ldr w0, [fp, #0xD1FFAB1E] // [V2553 tmp2483]
mov w0, w0
@@ -21988,9 +21986,9 @@ G_M23076_IG1570: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
; gcrRegs -[x0]
cmp w0, #19
bne G_M23076_IG1571
- mov w1, #1
+ mov w0, #1
mov xip1, #0xD1FFAB1E
- str w1, [fp, xip1] // [V325 tmp255]
+ str w0, [fp, xip1] // [V325 tmp255]
b G_M23076_IG1572
;; size=68 bbWeight=1 PerfScore 17.50
G_M23076_IG1571: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -21999,8 +21997,8 @@ G_M23076_IG1571: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
;; size=8 bbWeight=1 PerfScore 1.50
G_M23076_IG1572: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov xip1, #0xD1FFAB1E
- ldr w1, [fp, xip1] // [V325 tmp255]
- cbz w1, G_M23076_IG4962
+ ldr w0, [fp, xip1] // [V325 tmp255]
+ cbz w0, G_M23076_IG4962
b G_M23076_IG4951
;; size=16 bbWeight=1 PerfScore 4.50
G_M23076_IG1573: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -27646,8 +27644,8 @@ G_M23076_IG1990: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
blr x1
; gcrRegs -[x0]
str w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
- ldr w1, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
- cmp w1, #26
+ ldr w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
+ cmp w0, #26
bhi G_M23076_IG1991
ldr w0, [fp, #0xD1FFAB1E] // [V2563 tmp2493]
mov w0, w0
@@ -63232,17 +63230,17 @@ G_M23076_IG4957: ; bbWeight=1, extend
ldr wzr, [x0]
blr x1
; gcrRegs -[x0]
- ldr x1, [fp, #0xD1FFAB1E] // [V71 tmp1]
- ; gcrRegs +[x1]
- str x1, [fp, #0xD1FFAB1E] // [V2239 tmp2169]
- ldr x1, [fp, #0xD1FFAB1E] // [V02 loc0]
- str x1, [fp, #0xD1FFAB1E] // [V2238 tmp2168]
+ ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
+ ; gcrRegs +[x0]
+ str x0, [fp, #0xD1FFAB1E] // [V2239 tmp2169]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ str x0, [fp, #0xD1FFAB1E] // [V2238 tmp2168]
;; size=44 bbWeight=1 PerfScore 16.50
G_M23076_IG4958: ; bbWeight=1, nogc, extend
mov x0, #0xD1FFAB1E
+ ; gcrRegs -[x0]
add x0, fp, x0
mov x1, #0xD1FFAB1E
- ; gcrRegs -[x1]
add x1, fp, x1
ldp x2, xip1, [x0]
stp x2, xip1, [x1]
@@ -69238,50 +69236,50 @@ G_M23076_IG5322: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr w0, [fp, #0x20] // [V2632 tmp2562]
cmp w0, #201
bhi G_M23076_IG5323
- ldr w8, [fp, #0x20] // [V2632 tmp2562]
- mov w8, w8
- adr x0, [@RWD36120]
- ldr w0, [x0, x8, LSL #2]
- adr x1, [G_M23076_IG02]
- add x0, x0, x1
- br x0
+ ldr w0, [fp, #0x20] // [V2632 tmp2562]
+ mov w0, w0
+ adr x1, [@RWD36120]
+ ldr w1, [x1, x0, LSL #2]
+ adr x2, [G_M23076_IG02]
+ add x1, x1, x2
+ br x1
;; size=144 bbWeight=1 PerfScore 48.00
G_M23076_IG5323: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
b G_M23076_IG5337
;; size=4 bbWeight=1 PerfScore 1.00
G_M23076_IG5324: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V18 loc16+0x0c]
+ ldr w0, [fp, xip1] // [V18 loc16+0x0c]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V18 loc16+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V18 loc16+0x10]
+ sub w0, w0, w1
mov xip1, #0xD1FFAB1E
- str w8, [fp, xip1] // [V98 tmp28]
- ldr x8, [fp, #0xD1FFAB1E] // [V02 loc0]
- ; gcrRegs +[x8]
- add x8, x8, #16
- ; gcrRegs -[x8]
- ; byrRegs +[x8]
+ str w0, [fp, xip1] // [V98 tmp28]
+ ldr x0, [fp, #0xD1FFAB1E] // [V02 loc0]
+ ; gcrRegs +[x0]
+ add x0, x0, #16
+ ; gcrRegs -[x0]
+ ; byrRegs +[x0]
;; size=36 bbWeight=1 PerfScore 9.50
G_M23076_IG5325: ; bbWeight=1, nogc, extend
- add x0, x8, #20
- mov x1, #0xD1FFAB1E
- add x1, fp, x1
- ldp x2, xip1, [x0]
- stp x2, xip1, [x1]
- ldr w2, [x0, #0x10]
- str w2, [x1, #0x10]
+ add x1, x0, #20
+ mov x2, #0xD1FFAB1E
+ add x2, fp, x2
+ ldp x3, xip1, [x1]
+ stp x3, xip1, [x2]
+ ldr w3, [x1, #0x10]
+ str w3, [x2, #0x10]
;; size=28 bbWeight=1 PerfScore 10.50
G_M23076_IG5326: ; bbWeight=1, isz, extend
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V58 loc56+0x0c]
- ; byrRegs -[x8]
+ ldr w0, [fp, xip1] // [V58 loc56+0x0c]
+ ; byrRegs -[x0]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V58 loc56+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V58 loc56+0x10]
+ sub w0, w0, w1
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V98 tmp28]
- cmp w8, w0
+ ldr w1, [fp, xip1] // [V98 tmp28]
+ cmp w0, w1
bge G_M23076_IG5329
;; size=36 bbWeight=1 PerfScore 9.50
G_M23076_IG5327: ; bbWeight=1, nogc, extend
@@ -69289,10 +69287,10 @@ G_M23076_IG5327: ; bbWeight=1, nogc, extend
add x0, fp, x0
mov x1, #0xD1FFAB1E
add x1, fp, x1
- ldp x8, xip1, [x0]
- stp x8, xip1, [x1]
- ldr w8, [x0, #0x10]
- str w8, [x1, #0x10]
+ ldp x2, xip1, [x0]
+ stp x2, xip1, [x1]
+ ldr w2, [x0, #0x10]
+ str w2, [x1, #0x10]
;; size=32 bbWeight=1 PerfScore 11.00
G_M23076_IG5328: ; bbWeight=1, extend
b G_M23076_IG5330
@@ -69367,9 +69365,9 @@ G_M23076_IG5333: ; bbWeight=1, isz, extend
ldr wzr, [x0]
blr x1
str x0, [fp, #0xD1FFAB1E] // [V67 loc65]
- ldr x1, [fp, #0xD1FFAB1E] // [V67 loc65]
+ ldr x0, [fp, #0xD1FFAB1E] // [V67 loc65]
+ ldr x1, [x0, #0x08]
; gcrRegs +[x1]
- ldr x1, [x1, #0x08]
ldr x0, [fp, #0xD1FFAB1E] // [V71 tmp1]
movz x2, #0xD1FFAB1E // code for <unknown method>
movk x2, #0xD1FFAB1E LSL #16
@@ -69603,12 +69601,12 @@ G_M23076_IG5345: ; bbWeight=1, extend
G_M23076_IG5346: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov xip1, #0xD1FFAB1E
- ldr w8, [fp, xip1] // [V18 loc16+0x0c]
+ ldr w0, [fp, xip1] // [V18 loc16+0x0c]
mov xip1, #0xD1FFAB1E
- ldr w0, [fp, xip1] // [V18 loc16+0x10]
- sub w8, w8, w0
+ ldr w1, [fp, xip1] // [V18 loc16+0x10]
+ sub w0, w0, w1
...
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
benchmarks.run.windows.arm64.checked.mch
0
0
0
0
-0
+0
benchmarks.run_pgo.windows.arm64.checked.mch
17,290
286
543
16,461
-2,416
+3,792
benchmarks.run_tiered.windows.arm64.checked.mch
13,281
235
386
12,660
-1,788
+2,156
coreclr_tests.run.windows.arm64.checked.mch
145,239
4,470
7,085
133,684
-36,108
+180,296
libraries.crossgen2.windows.arm64.checked.mch
5
0
0
5
-0
+0
libraries.pmi.windows.arm64.checked.mch
1
0
0
1
-0
+0
libraries_tests.run.windows.arm64.Release.mch
177,858
1,138
2,307
174,413
-12,432
+15,120
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
11,759
1
30
11,728
-8
+120
realworld.run.windows.arm64.checked.mch
1
0
0
1
-0
+0
smoke_tests.nativeaot.windows.arm64.checked.mch
0
0
0
0
-0
+0
365,434
6,130
10,351
348,953
-52,752
+201,484
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
benchmarks.run.windows.arm64.checked.mch
24,410
4
24,406
0 (0.00%)
0 (0.00%)
benchmarks.run_pgo.windows.arm64.checked.mch
95,605
48,567
47,038
171 (0.18%)
171 (0.18%)
benchmarks.run_tiered.windows.arm64.checked.mch
48,652
36,643
12,009
0 (0.00%)
0 (0.00%)
coreclr_tests.run.windows.arm64.checked.mch
595,290
362,725
232,565
226 (0.04%)
226 (0.04%)
libraries.crossgen2.windows.arm64.checked.mch
243,312
15
243,297
0 (0.00%)
0 (0.00%)
libraries.pmi.windows.arm64.checked.mch
303,983
6
303,977
0 (0.00%)
0 (0.00%)
libraries_tests.run.windows.arm64.Release.mch
642,057
465,202
176,855
2,098 (0.33%)
2,098 (0.33%)
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
316,073
21,514
294,559
0 (0.00%)
0 (0.00%)
realworld.run.windows.arm64.checked.mch
33,231
3
33,228
0 (0.00%)
0 (0.00%)
smoke_tests.nativeaot.windows.arm64.checked.mch
24,198
7
24,191
0 (0.00%)
0 (0.00%)
2,326,811
934,686
1,392,125
2,495 (0.11%)
2,495 (0.11%)
jit-analyze output
benchmarks.run_pgo.windows.arm64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 45619340 (overridden on cmd)
Total bytes of diff: 45620716 (overridden on cmd)
Total bytes of delta: 1376 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
616 : 60455.dasm (3.08 % of base)
152 : 2054.dasm (36.19 % of base)
152 : 27510.dasm (33.63 % of base)
88 : 60460.dasm (2.79 % of base)
68 : 74814.dasm (39.53 % of base)
48 : 70643.dasm (0.74 % of base)
40 : 89234.dasm (1.60 % of base)
40 : 89247.dasm (1.60 % of base)
40 : 60458.dasm (1.43 % of base)
32 : 67081.dasm (1.65 % of base)
24 : 79404.dasm (0.32 % of base)
24 : 32130.dasm (1.35 % of base)
24 : 27908.dasm (0.32 % of base)
20 : 2631.dasm (8.33 % of base)
16 : 68919.dasm (4.94 % of base)
16 : 11148.dasm (1.05 % of base)
16 : 8443.dasm (1.11 % of base)
16 : 18076.dasm (3.54 % of base)
16 : 4528.dasm (1.76 % of base)
16 : 48364.dasm (0.42 % of base)
Top file improvements (bytes):
-108 : 70155.dasm (-2.00 % of base)
-36 : 70122.dasm (-0.79 % of base)
-24 : 11750.dasm (-1.14 % of base)
-24 : 54986.dasm (-0.48 % of base)
-20 : 61229.dasm (-1.28 % of base)
-16 : 12515.dasm (-0.33 % of base)
-16 : 23965.dasm (-0.29 % of base)
-16 : 6311.dasm (-0.56 % of base)
-16 : 65974.dasm (-2.13 % of base)
-16 : 21638.dasm (-0.34 % of base)
-16 : 3555.dasm (-0.14 % of base)
-16 : 41673.dasm (-0.49 % of base)
-16 : 43657.dasm (-0.39 % of base)
-16 : 46860.dasm (-2.04 % of base)
-16 : 50972.dasm (-1.57 % of base)
-16 : 54470.dasm (-0.93 % of base)
-16 : 54570.dasm (-0.28 % of base)
-16 : 54599.dasm (-0.42 % of base)
-16 : 58391.dasm (-0.42 % of base)
-16 : 71807.dasm (-0.36 % of base)
75 total files with Code Size differences (40 improved, 35 regressed), 20 unchanged.
Top method regressions (bytes):
616 (3.08 % of base) : 60455.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
152 (33.63 % of base) : 27510.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Instrumented Tier0)
152 (36.19 % of base) : 2054.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
88 (2.79 % of base) : 60460.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
68 (39.53 % of base) : 74814.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
48 (0.74 % of base) : 70643.dasm - System.Diagnostics.Process:StartWithCreateProcess(System.Diagnostics.ProcessStartInfo):ubyte:this (Tier0)
40 (1.60 % of base) : 89234.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Instrumented Tier0)
40 (1.60 % of base) : 89247.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Instrumented Tier0)
40 (1.43 % of base) : 60458.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
32 (1.65 % of base) : 67081.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
24 (0.32 % of base) : 27908.dasm - Jil.Deserialize.Methods:ParseISO8601Time(System.IO.TextReader,ushort[],int,int):System.TimeSpan (Instrumented Tier0)
24 (0.32 % of base) : 79404.dasm - Jil.Deserialize.Methods:ParseISO8601TimeThunkReader(byref,ushort[],int,int):System.TimeSpan (Instrumented Tier0)
24 (1.35 % of base) : 32130.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (Tier0)
20 (8.33 % of base) : 2631.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
16 (0.42 % of base) : 48364.dasm - Neural:read_data_file():this (Instrumented Tier0)
16 (1.76 % of base) : 4528.dasm - System.Globalization.CultureInfo:GetUserDefaultUICulture():System.Globalization.CultureInfo (Tier0)
16 (1.05 % of base) : 11148.dasm - System.Globalization.IdnMapping:IcuGetAsciiCore(System.String,ulong,int):System.String:this (Tier0)
16 (1.11 % of base) : 8443.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
16 (4.94 % of base) : 68919.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
16 (3.54 % of base) : 18076.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
Top method improvements (bytes):
-108 (-2.00 % of base) : 70155.dasm - System.Net.Security.SafeDeleteContext:AcceptSecurityContext(byref,byref,int,int,System.Net.Security.InputSecurityBuffers,byref,byref):int (Instrumented Tier0)
-36 (-0.79 % of base) : 70122.dasm - System.Net.Security.SafeDeleteContext:InitializeSecurityContext(byref,byref,System.String,int,int,System.Net.Security.InputSecurityBuffers,byref,byref):int (Instrumented Tier0)
-24 (-0.48 % of base) : 54986.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckMembersAgainstBaseType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):this (Instrumented Tier0)
-24 (-1.14 % of base) : 11750.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (Instrumented Tier0)
-20 (-1.28 % of base) : 61229.dasm - Microsoft.Cci.ReferenceIndexerBase:VisitTypeReference(Microsoft.Cci.ITypeReference):ubyte:this (Instrumented Tier0)
-16 (-0.29 % of base) : 23965.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Instrumented Tier0)
-16 (-0.93 % of base) : 54470.dasm - Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IDictionary`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this (Instrumented Tier0)
-16 (-0.28 % of base) : 54570.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeOneDeclaredBases(Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],Microsoft.CodeAnalysis.CSharp.SingleTypeDeclaration,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Tuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol]]:this (Instrumented Tier0)
-16 (-0.42 % of base) : 54599.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbolExtensions:VisitType[System.__Canon](Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Func`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,ubyte],System.Func`4[System.__Canon,System.__Canon,ubyte,ubyte],System.__Canon,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Instrumented Tier0)
-16 (-0.42 % of base) : 58391.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbolExtensions:VisitType[System.__Canon](Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,System.Func`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.__Canon,ubyte,ubyte],System.Func`4[System.__Canon,System.__Canon,ubyte,ubyte],System.__Canon,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol (Instrumented Tier0)
-16 (-0.36 % of base) : 71807.dasm - Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationProvider:Read(System.IO.Stream,Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor):System.Collections.Generic.IDictionary`2[System.String,System.String] (Instrumented Tier0)
-16 (-2.04 % of base) : 46860.dasm - System.Collections.ArrayList+ArrayListEnumeratorSimple:MoveNext():ubyte:this (Instrumented Tier0)
-16 (-0.56 % of base) : 6311.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (Instrumented Tier0)
-16 (-0.14 % of base) : 3555.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier0)
-16 (-0.33 % of base) : 12515.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (Instrumented Tier0)
-16 (-1.57 % of base) : 50972.dasm - System.IO.RandomAccess+<WriteGatherAtOffsetMultipleSyscallsAsync>d__35:MoveNext():this (Instrumented Tier0)
-16 (-0.34 % of base) : 21638.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:.ctor(System.Type):this (Instrumented Tier0)
-16 (-0.39 % of base) : 43657.dasm - System.Security.Cryptography.CryptoStream+<WriteAsyncCore>d__53:MoveNext():this (Instrumented Tier0)
-16 (-2.13 % of base) : 65974.dasm - System.StubHelpers.CSTRMarshaler:ConvertToNative(int,System.String,long):long (Tier0)
-16 (-0.49 % of base) : 41673.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFrom(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (Instrumented Tier0)
Top method regressions (percentages):
68 (39.53 % of base) : 74814.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
152 (36.19 % of base) : 2054.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
152 (33.63 % of base) : 27510.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Instrumented Tier0)
4 (11.11 % of base) : 5756.dasm - System.Runtime.Intrinsics.Vector128:Create[int](System.Runtime.Intrinsics.Vector64`1[int],System.Runtime.Intrinsics.Vector64`1[int]):System.Runtime.Intrinsics.Vector128`1[int] (Tier0)
4 (10.00 % of base) : 10988.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Instrumented Tier0)
4 (10.00 % of base) : 1227.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 80372.dasm - System.Math:CopySign(double,double):double (Tier0)
4 (10.00 % of base) : 47336.dasm - System.MathF:CopySign(float,float):float (Tier0)
4 (10.00 % of base) : 65271.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVector[double,float](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[float] (Tier0)
4 (8.33 % of base) : 23887.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
20 (8.33 % of base) : 2631.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
4 (6.67 % of base) : 49992.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:SumBenchmark():double:this (Tier0)
4 (6.25 % of base) : 58569.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
4 (6.25 % of base) : 54375.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (6.25 % of base) : 24152.dasm - System.Numerics.Tests.Perf_Quaternion:DotBenchmark():float:this (Tier0)
4 (5.26 % of base) : 21437.dasm - MessagePack.MessagePackBinary:WriteArrayHeader(byref,int,int):int (Tier0)
4 (5.26 % of base) : 44046.dasm - MessagePack.MessagePackBinary:WriteMapHeader(byref,int,int):int (Tier0)
4 (5.00 % of base) : 88424.dasm - System.Numerics.Tests.Perf_Quaternion:LengthSquaredBenchmark():float:this (Tier0)
16 (4.94 % of base) : 68919.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
8 (4.88 % of base) : 17956.dasm - Utf8Json.Internal.Emit.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
Top method improvements (percentages):
-8 (-7.14 % of base) : 8977.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:BitwiseAndBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-8 (-7.14 % of base) : 24909.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:BitwiseOrBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-8 (-7.14 % of base) : 35433.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanOrEqualBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-8 (-7.14 % of base) : 38877.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:AddOperatorBenchmark():System.Numerics.Vector`1[int]:this (Tier0)
-8 (-7.14 % of base) : 35405.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AddBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 13910.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:BitwiseAndOperatorBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 8553.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
-8 (-7.14 % of base) : 8953.dasm - System.Numerics.Tests.Perf_VectorOf`1[ubyte]:SubtractionOperatorBenchmark():System.Numerics.Vector`1[ubyte]:this (Tier0)
-8 (-7.14 % of base) : 41913.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:AddOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 46241.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivisionOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 65205.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:EqualsStaticBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 92349.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:GreaterThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 73789.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:SubtractBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 69337.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:EqualsStaticBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 91245.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 25310.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[short]:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[short]:this (Tier0)
-8 (-7.14 % of base) : 35217.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:GreaterThanBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
-8 (-7.14 % of base) : 45013.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[uint]:BitwiseOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[uint]:this (Tier0)
-8 (-7.14 % of base) : 27065.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:BitwiseOrBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
-8 (-7.14 % of base) : 6417.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ushort]:MinBenchmark():System.Runtime.Intrinsics.Vector128`1[ushort]:this (Tier0)
benchmarks.run_tiered.windows.arm64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15264644 (overridden on cmd)
Total bytes of diff: 15265012 (overridden on cmd)
Total bytes of delta: 368 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
152 : 1863.dasm (36.19 % of base)
68 : 44207.dasm (39.53 % of base)
48 : 42939.dasm (0.74 % of base)
40 : 47533.dasm (1.85 % of base)
24 : 23837.dasm (0.35 % of base)
24 : 24410.dasm (1.35 % of base)
24 : 45273.dasm (0.35 % of base)
20 : 2413.dasm (8.33 % of base)
16 : 15375.dasm (1.05 % of base)
16 : 27663.dasm (2.48 % of base)
16 : 29311.dasm (1.94 % of base)
16 : 30848.dasm (1.14 % of base)
16 : 31156.dasm (0.43 % of base)
16 : 3166.dasm (1.76 % of base)
16 : 40464.dasm (4.94 % of base)
16 : 6518.dasm (3.54 % of base)
12 : 45641.dasm (1.13 % of base)
12 : 1181.dasm (0.50 % of base)
8 : 47564.dasm (1.67 % of base)
8 : 20157.dasm (4.88 % of base)
Top file improvements (bytes):
-24 : 15881.dasm (-1.34 % of base)
-20 : 8628.dasm (-1.37 % of base)
-16 : 19244.dasm (-0.32 % of base)
-16 : 42603.dasm (-2.13 % of base)
-16 : 4781.dasm (-0.62 % of base)
-16 : 6438.dasm (-0.19 % of base)
-12 : 4610.dasm (-0.13 % of base)
-12 : 11223.dasm (-3.66 % of base)
-12 : 20722.dasm (-1.07 % of base)
-12 : 3917.dasm (-1.45 % of base)
-12 : 41415.dasm (-2.83 % of base)
-8 : 12061.dasm (-5.41 % of base)
-8 : 13757.dasm (-5.71 % of base)
-8 : 43929.dasm (-7.14 % of base)
-8 : 44033.dasm (-7.14 % of base)
-8 : 47021.dasm (-7.14 % of base)
-8 : 13361.dasm (-7.14 % of base)
-8 : 17537.dasm (-5.71 % of base)
-8 : 17101.dasm (-5.41 % of base)
-8 : 17561.dasm (-7.14 % of base)
73 total files with Code Size differences (37 improved, 36 regressed), 20 unchanged.
Top method regressions (bytes):
152 (36.19 % of base) : 1863.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
68 (39.53 % of base) : 44207.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
48 (0.74 % of base) : 42939.dasm - System.Diagnostics.Process:StartWithCreateProcess(System.Diagnostics.ProcessStartInfo):ubyte:this (Tier0)
40 (1.85 % of base) : 47533.dasm - Benchstone.MDBenchI.MDMulMatrix:Inner(int[,],int[,],int[,]) (Tier0)
24 (0.35 % of base) : 23837.dasm - Jil.Deserialize.Methods:ParseISO8601Time(System.IO.TextReader,ushort[],int,int):System.TimeSpan (Tier0)
24 (0.35 % of base) : 45273.dasm - Jil.Deserialize.Methods:ParseISO8601TimeThunkReader(byref,ushort[],int,int):System.TimeSpan (Tier0)
24 (1.35 % of base) : 24410.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (Tier0)
20 (8.33 % of base) : 2413.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
16 (0.43 % of base) : 31156.dasm - Neural:read_data_file():this (Tier0)
16 (1.14 % of base) : 30848.dasm - NeuralJagged:Init() (Tier0)
16 (1.76 % of base) : 3166.dasm - System.Globalization.CultureInfo:GetUserDefaultUICulture():System.Globalization.CultureInfo (Tier0)
16 (1.05 % of base) : 15375.dasm - System.Globalization.IdnMapping:IcuGetAsciiCore(System.String,ulong,int):System.String:this (Tier0)
16 (4.94 % of base) : 40464.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
16 (1.94 % of base) : 29311.dasm - System.Tests.Perf_Array:SetupArrayCopy3D():this (Tier0)
16 (2.48 % of base) : 27663.dasm - System.Tests.Perf_Array:SetupArrayRetrieve3D():this (Tier0)
16 (3.54 % of base) : 6518.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
12 (1.13 % of base) : 45641.dasm - Interop+Crypt32:FindOidInfo(int,System.String,int,ubyte):Interop+Crypt32+CRYPT_OID_INFO (Tier0)
12 (0.50 % of base) : 1181.dasm - System.Reflection.CustomAttribute:FilterCustomAttributeRecord(System.Reflection.MetadataToken,byref,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,ubyte,byref,byref,byref,byref):ubyte (Tier0)
8 (4.88 % of base) : 20157.dasm - MessagePack.Internal.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
8 (0.41 % of base) : 44304.dasm - System.IO.Hashing.Crc64:UpdateVectorized(ulong,System.ReadOnlySpan`1[ubyte]):ulong (Tier0)
Top method improvements (bytes):
-24 (-1.34 % of base) : 15881.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (Tier0)
-20 (-1.37 % of base) : 8628.dasm - System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this (Tier0)
-16 (-0.32 % of base) : 19244.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:UnionAwareWriteMembers(ubyte,ubyte,System.Type,System.Collections.Generic.List`1[System.Reflection.MemberInfo],Sigil.Local,Sigil.Local,byref,Jil.Serialize.InlineSerializer`1+WriteMemberDelegate[System.__Canon]):this (Tier0)
-16 (-0.62 % of base) : 4781.dasm - System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]):this (Tier0)
-16 (-0.19 % of base) : 6438.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier0)
-16 (-2.13 % of base) : 42603.dasm - System.StubHelpers.CSTRMarshaler:ConvertToNative(int,System.String,long):long (Tier0)
-12 (-2.83 % of base) : 41415.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:Equals(Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2+VariableIdentifier[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]):ubyte:this (Tier0)
-12 (-3.66 % of base) : 11223.dasm - System.ComponentModel.TypeDescriptor:CheckDefaultProvider(System.Type) (Tier0)
-12 (-1.07 % of base) : 20722.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
-12 (-1.45 % of base) : 3917.dasm - System.Xml.Serialization.XmlReflectionImporter:GetDefaultValue(System.Xml.Serialization.TypeDesc,System.Type,System.Xml.Serialization.XmlAttributes):System.Object (Tier0)
-12 (-0.13 % of base) : 4610.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (Tier0)
-8 (-7.14 % of base) : 27909.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AndNotBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 17097.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:MinBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
-8 (-5.41 % of base) : 17101.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:GreaterThanAllBenchmark():ubyte:this (Tier0)
-8 (-5.71 % of base) : 13757.dasm - System.Numerics.Tests.Perf_VectorOf`1[ulong]:InequalityOperatorBenchmark():ubyte:this (Tier0)
-8 (-7.14 % of base) : 29313.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:BitwiseAndOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 29949.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:BitwiseOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 13361.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivideBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 47021.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:GreaterThanBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 40005.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
Top method regressions (percentages):
68 (39.53 % of base) : 44207.dasm - System.Buffers.ProbabilisticMap:IsCharBitSet(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
152 (36.19 % of base) : 1863.dasm - System.Guid:FormatGuidVector128Utf8(System.Guid,ubyte):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0)
4 (11.11 % of base) : 13370.dasm - System.Runtime.Intrinsics.Vector128:Create[uint](System.Runtime.Intrinsics.Vector64`1[uint],System.Runtime.Intrinsics.Vector64`1[uint]):System.Runtime.Intrinsics.Vector128`1[uint] (Tier0)
4 (10.00 % of base) : 1162.dasm - System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
4 (10.00 % of base) : 45712.dasm - System.Math:CopySign(double,double):double (Tier0)
4 (10.00 % of base) : 30715.dasm - System.MathF:CopySign(float,float):float (Tier0)
4 (10.00 % of base) : 40381.dasm - System.Numerics.Tests.Perf_VectorConvert:NarrowVector[double,float](System.Numerics.Vector`1[double],System.Numerics.Vector`1[double]):System.Numerics.Vector`1[float] (Tier0)
4 (8.33 % of base) : 19165.dasm - System.Linq.Enumerable+MinCalc`1[ulong]:Compare(System.Runtime.Intrinsics.Vector128`1[ulong],System.Runtime.Intrinsics.Vector128`1[ulong]):System.Runtime.Intrinsics.Vector128`1[ulong] (Tier0)
20 (8.33 % of base) : 2413.dasm - System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():ubyte:this (Tier0)
4 (6.67 % of base) : 31653.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:SumBenchmark():double:this (Tier0)
4 (6.25 % of base) : 34975.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (6.25 % of base) : 19876.dasm - System.Numerics.Tests.Perf_Quaternion:DotBenchmark():float:this (Tier0)
4 (5.26 % of base) : 20351.dasm - MessagePack.MessagePackBinary:WriteArrayHeader(byref,int,int):int (Tier0)
4 (5.26 % of base) : 30389.dasm - MessagePack.MessagePackBinary:WriteMapHeader(byref,int,int):int (Tier0)
4 (5.00 % of base) : 47255.dasm - System.Numerics.Tests.Perf_Quaternion:LengthSquaredBenchmark():float:this (Tier0)
16 (4.94 % of base) : 40464.dasm - System.Numerics.Quaternion:op_Multiply(System.Numerics.Quaternion,System.Numerics.Quaternion):System.Numerics.Quaternion (Tier0)
8 (4.88 % of base) : 20157.dasm - MessagePack.Internal.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
8 (4.88 % of base) : 6388.dasm - Utf8Json.Internal.Emit.ILGeneratorExtensions:EmitLdloca(System.Reflection.Emit.ILGenerator,int) (Tier0)
4 (4.76 % of base) : 46893.dasm - System.Numerics.Tests.Perf_Quaternion:LengthBenchmark():float:this (Tier0)
4 (4.55 % of base) : 31648.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[float]:SumBenchmark():float:this (Tier0)
Top method improvements (percentages):
-8 (-7.14 % of base) : 27909.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:AndNotBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-8 (-7.14 % of base) : 17097.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:MinBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
-8 (-7.14 % of base) : 29313.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:BitwiseAndOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 29949.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:BitwiseOrOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 13361.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:DivideBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 47021.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:GreaterThanBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 40005.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:MultiplyBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 43929.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Float:SubtractBenchmark():System.Runtime.Intrinsics.Vector128`1[float]:this (Tier0)
-8 (-7.14 % of base) : 29345.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:AndNotBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 30545.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseAndBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 30993.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:BitwiseOrBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 40441.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:EqualsStaticBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 44033.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:GreaterThanBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 28533.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Int:XorBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 24701.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[double]:MaxBenchmark():System.Runtime.Intrinsics.Vector128`1[double]:this (Tier0)
-8 (-7.14 % of base) : 24657.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[int]:LessThanBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 29581.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[int]:LessThanOrEqualBenchmark():System.Runtime.Intrinsics.Vector128`1[int]:this (Tier0)
-8 (-7.14 % of base) : 29577.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[short]:EqualsStaticBenchmark():System.Runtime.Intrinsics.Vector128`1[short]:this (Tier0)
-8 (-7.14 % of base) : 17545.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ubyte]:AddBenchmark():System.Runtime.Intrinsics.Vector128`1[ubyte]:this (Tier0)
-8 (-7.14 % of base) : 17561.dasm - System.Runtime.Intrinsics.Tests.Perf_Vector128Of`1[ulong]:AddOperatorBenchmark():System.Runtime.Intrinsics.Vector128`1[ulong]:this (Tier0)
coreclr_tests.run.windows.arm64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 496117708 (overridden on cmd)
Total bytes of diff: 496261896 (overridden on cmd)
Total bytes of delta: 144188 (0.03 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
860 : 3198.dasm (1.97 % of base)
860 : 323496.dasm (1.98 % of base)
860 : 323518.dasm (2.11 % of base)
860 : 323533.dasm (2.10 % of base)
860 : 3170.dasm (1.98 % of base)
860 : 323444.dasm (2.11 % of base)
860 : 323493.dasm (2.13 % of base)
860 : 3220.dasm (1.97 % of base)
860 : 323509.dasm (2.09 % of base)
860 : 3187.dasm (1.83 % of base)
860 : 323506.dasm (1.99 % of base)
860 : 323540.dasm (2.11 % of base)
808 : 230629.dasm (0.60 % of base)
784 : 232012.dasm (0.59 % of base)
784 : 230753.dasm (0.59 % of base)
784 : 232022.dasm (0.64 % of base)
756 : 495219.dasm (0.73 % of base)
720 : 494177.dasm (0.68 % of base)
672 : 495229.dasm (0.69 % of base)
672 : 494301.dasm (0.64 % of base)
Top file improvements (bytes):
-220 : 133411.dasm (-8.63 % of base)
-220 : 133461.dasm (-8.63 % of base)
-204 : 133451.dasm (-11.62 % of base)
-204 : 133421.dasm (-11.62 % of base)
-204 : 423362.dasm (-15.41 % of base)
-204 : 423312.dasm (-15.41 % of base)
-204 : 133471.dasm (-11.62 % of base)
-204 : 423282.dasm (-15.41 % of base)
-200 : 423322.dasm (-5.26 % of base)
-200 : 423272.dasm (-5.26 % of base)
-116 : 133097.dasm (-3.49 % of base)
-116 : 133107.dasm (-3.49 % of base)
-116 : 133075.dasm (-3.49 % of base)
-116 : 133275.dasm (-3.49 % of base)
-116 : 133401.dasm (-8.73 % of base)
-116 : 133481.dasm (-8.73 % of base)
-116 : 133287.dasm (-3.49 % of base)
-116 : 133087.dasm (-3.49 % of base)
-116 : 133297.dasm (-3.49 % of base)
-116 : 133307.dasm (-3.49 % of base)
68 total files with Code Size differences (28 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
860 (1.98 % of base) : 3170.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
860 (2.11 % of base) : 323444.dasm - lclfldadd:TestEntryPoint():int (Tier0)
860 (2.13 % of base) : 323493.dasm - lclfldadd:TestEntryPoint():int (Tier0)
860 (1.83 % of base) : 3187.dasm - lclflddiv:TestEntryPoint():int (MinOpts)
860 (1.98 % of base) : 323496.dasm - lclflddiv:TestEntryPoint():int (Tier0)
860 (1.99 % of base) : 323506.dasm - lclflddiv:TestEntryPoint():int (Tier0)
860 (1.97 % of base) : 3198.dasm - lclfldmul:TestEntryPoint():int (MinOpts)
860 (2.11 % of base) : 323518.dasm - lclfldmul:TestEntryPoint():int (Tier0)
860 (2.09 % of base) : 323509.dasm - lclfldmul:TestEntryPoint():int (Tier0)
860 (1.97 % of base) : 3220.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
860 (2.10 % of base) : 323533.dasm - lclfldsub:TestEntryPoint():int (Tier0)
860 (2.11 % of base) : 323540.dasm - lclfldsub:TestEntryPoint():int (Tier0)
808 (0.60 % of base) : 230629.dasm - i4div:TestEntryPoint():int (MinOpts)
784 (0.59 % of base) : 230753.dasm - i8div:TestEntryPoint():int (MinOpts)
784 (0.59 % of base) : 232012.dasm - u4div:TestEntryPoint():int (MinOpts)
784 (0.64 % of base) : 232022.dasm - u8div:TestEntryPoint():int (MinOpts)
756 (0.73 % of base) : 495219.dasm - u4div:TestEntryPoint():int (Tier0)
720 (0.68 % of base) : 494177.dasm - i4div:TestEntryPoint():int (Tier0)
672 (0.64 % of base) : 494301.dasm - i8div:TestEntryPoint():int (Tier0)
672 (0.69 % of base) : 495229.dasm - u8div:TestEntryPoint():int (Tier0)
Top method improvements (bytes):
-220 (-8.63 % of base) : 133411.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt16:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 133461.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt16:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 423282.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 133421.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 423312.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 133451.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 133471.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (MinOpts)
-204 (-15.41 % of base) : 423362.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (Instrumented Tier0)
-200 (-5.26 % of base) : 423272.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperByte:RunBasicScenario():this (Instrumented Tier0)
-200 (-5.26 % of base) : 423322.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSByte:RunBasicScenario():this (Instrumented Tier0)
-116 (-3.49 % of base) : 133075.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt160:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133107.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt1615:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133087.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt163:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133097.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementInt167:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133275.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt160:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133307.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt1615:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133287.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt163:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-3.49 % of base) : 133297.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementUInt167:RunBasicScenario(int,ubyte):this (MinOpts)
-116 (-8.73 % of base) : 133401.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 133431.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (MinOpts)
Top method regressions (percentages):
52 (76.47 % of base) : 347719.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
52 (76.47 % of base) : 347717.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
52 (76.47 % of base) : 343906.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
52 (76.47 % of base) : 343901.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`4[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
44 (73.33 % of base) : 347715.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
44 (73.33 % of base) : 347710.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
44 (73.33 % of base) : 343892.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
44 (73.33 % of base) : 343890.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
36 (69.23 % of base) : 347707.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[byte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector64`1[byte]):System.Runtime.Intrinsics.Vector64`1[byte] (Tier0)
36 (69.23 % of base) : 347705.dasm - System.Runtime.Intrinsics.Arm.AdvSimd:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector64`1[ubyte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector64`1[ubyte]):System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
36 (69.23 % of base) : 343887.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[byte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[byte],System.Runtime.Intrinsics.Vector128`1[byte]],System.Runtime.Intrinsics.Vector128`1[byte]):System.Runtime.Intrinsics.Vector128`1[byte] (Tier0)
36 (69.23 % of base) : 343885.dasm - System.Runtime.Intrinsics.Arm.AdvSimd+Arm64:VectorTableLookupExtension(System.Runtime.Intrinsics.Vector128`1[ubyte],System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0)
184 (51.11 % of base) : 360616.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookupExtension_3Test__VectorTableLookupExtensionByte:RunStructLclFldScenario():this (Tier0)
184 (51.11 % of base) : 360640.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookupExtension_3Test__VectorTableLookupExtensionSByte:RunStructLclFldScenario():this (Tier0)
184 (48.42 % of base) : 397168.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookupExtension_4Test__VectorTableLookupExtensionByte:RunStructLclFldScenario():this (Tier0)
184 (48.42 % of base) : 397193.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookupExtension_4Test__VectorTableLookupExtensionSByte:RunStructLclFldScenario():this (Tier0)
176 (48.35 % of base) : 396979.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookup_4Test__VectorTableLookupByte:RunStructLclFldScenario():this (Tier0)
176 (48.35 % of base) : 397003.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.VectorLookup_4Test__VectorTableLookupSByte:RunStructLclFldScenario():this (Tier0)
52 (48.15 % of base) : 511547.dasm - Runtime_91209:Problem4():System.Runtime.Intrinsics.Vector64`1[ubyte] (Tier0)
176 (47.31 % of base) : 360500.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.VectorLookup_4Test__VectorTableLookupSByte:RunStructLclFldScenario():this (Tier0)
Top method improvements (percentages):
-204 (-15.41 % of base) : 423282.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (Instrumented Tier0)
-204 (-15.41 % of base) : 423312.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-15.41 % of base) : 423362.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (Instrumented Tier0)
-204 (-11.62 % of base) : 133421.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 133451.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (MinOpts)
-204 (-11.62 % of base) : 133471.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 133401.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperDouble:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 133431.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt64:RunBasicScenario():this (MinOpts)
-116 (-8.73 % of base) : 133481.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt64:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 133411.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt16:RunBasicScenario():this (MinOpts)
-220 (-8.63 % of base) : 133461.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt16:RunBasicScenario():this (MinOpts)
-112 (-6.83 % of base) : 423302.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperInt32:RunBasicScenario():this (Instrumented Tier0)
-112 (-6.83 % of base) : 423332.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSingle:RunBasicScenario():this (Instrumented Tier0)
-112 (-6.83 % of base) : 423352.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperUInt32:RunBasicScenario():this (Instrumented Tier0)
-8 (-6.67 % of base) : 514729.dasm - GitHub_20657.Program:Oops(System.Numerics.Vector4):System.Numerics.Vector4 (Tier0)
-12 (-6.12 % of base) : 515172.dasm - Performance_2700:TestEntryPoint():int (Tier0)
-200 (-5.26 % of base) : 423272.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperByte:RunBasicScenario():this (Instrumented Tier0)
-200 (-5.26 % of base) : 423322.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithLowerAndUpper__GetAndWithLowerAndUpperSByte:RunBasicScenario():this (Instrumented Tier0)
-16 (-5.06 % of base) : 187761.dasm - (dynamicClass):IL_STUB_PInvoke():System.Numerics.Vector3 (MinOpts)
-96 (-4.54 % of base) : 133065.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementDouble3:RunBasicScenario(int,ubyte):this (MinOpts)
libraries.crossgen2.windows.arm64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 58913600 (overridden on cmd)
Total bytes of diff: 58913600 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 5 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries.pmi.windows.arm64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 79525232 (overridden on cmd)
Total bytes of diff: 79525232 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries_tests.run.windows.arm64.Release.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 319612456 (overridden on cmd)
Total bytes of diff: 319615144 (overridden on cmd)
Total bytes of delta: 2688 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
624 : 397968.dasm (3.07 % of base)
616 : 81608.dasm (3.08 % of base)
248 : 169197.dasm (1.32 % of base)
128 : 444694.dasm (1.75 % of base)
112 : 443736.dasm (1.70 % of base)
96 : 47091.dasm (0.91 % of base)
88 : 445775.dasm (1.48 % of base)
88 : 587148.dasm (2.51 % of base)
88 : 418408.dasm (2.28 % of base)
80 : 417842.dasm (0.90 % of base)
76 : 579327.dasm (4.02 % of base)
72 : 431311.dasm (1.66 % of base)
72 : 417837.dasm (0.81 % of base)
64 : 443682.dasm (1.27 % of base)
64 : 446300.dasm (1.27 % of base)
64 : 418496.dasm (2.04 % of base)
64 : 444336.dasm (1.27 % of base)
64 : 643412.dasm (2.30 % of base)
64 : 279099.dasm (7.80 % of base)
64 : 417050.dasm (1.71 % of base)
Top file improvements (bytes):
-108 : 339742.dasm (-2.00 % of base)
-72 : 419545.dasm (-3.83 % of base)
-68 : 243392.dasm (-0.72 % of base)
-68 : 414863.dasm (-1.03 % of base)
-68 : 484166.dasm (-1.49 % of base)
-52 : 278044.dasm (-1.10 % of base)
-52 : 370933.dasm (-2.21 % of base)
-52 : 277944.dasm (-1.10 % of base)
-48 : 107306.dasm (-2.60 % of base)
-48 : 72462.dasm (-3.81 % of base)
-48 : 107214.dasm (-2.65 % of base)
-48 : 143389.dasm (-0.22 % of base)
-48 : 107237.dasm (-2.63 % of base)
-48 : 116697.dasm (-2.59 % of base)
-48 : 177613.dasm (-2.60 % of base)
-48 : 177854.dasm (-2.37 % of base)
-48 : 187538.dasm (-2.59 % of base)
-48 : 26359.dasm (-4.05 % of base)
-48 : 26459.dasm (-4.05 % of base)
-48 : 3576.dasm (-3.75 % of base)
76 total files with Code Size differences (36 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
624 (3.07 % of base) : 397968.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
616 (3.08 % of base) : 81608.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
248 (1.32 % of base) : 169197.dasm - Microsoft.Win32.RegistryTests.TestData:.cctor() (Instrumented Tier0)
128 (1.75 % of base) : 444694.dasm - System.Numerics.Tests.op_rightshiftTest:RunRightShiftTests() (Instrumented Tier0)
112 (1.70 % of base) : 443736.dasm - System.Numerics.Tests.op_leftshiftTest:RunLeftShiftTests() (Instrumented Tier0)
96 (0.91 % of base) : 47091.dasm - Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel:GetSemanticSymbols(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundNode,Microsoft.CodeAnalysis.CSharp.Binder,int,byref,byref,byref):Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.CSharp.Symbol]:this (Instrumented Tier0)
88 (2.51 % of base) : 587148.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldUncheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
88 (1.48 % of base) : 445775.dasm - System.Numerics.Tests.logTest:RunLogTests() (Instrumented Tier0)
88 (2.28 % of base) : 418408.dasm - System.Xml.Tests.TCDispose:Variation1():int:this (Instrumented Tier0)
80 (0.90 % of base) : 417842.dasm - System.Xml.Tests.TCErrorCondition:V9a():int:this (Instrumented Tier0)
76 (4.02 % of base) : 579327.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowUnaryOperator(int,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
72 (1.66 % of base) : 431311.dasm - System.Resources.Extensions.DeserializingResourceReader:_LoadObjectV2(int,byref):System.Object:this (Instrumented Tier0)
72 (0.81 % of base) : 417837.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
64 (2.30 % of base) : 643412.dasm - CoreXml.Test.XLinq.ReaderDiff:Compare(System.Xml.XmlReader,System.Xml.XmlReader) (Instrumented Tier0)
64 (7.80 % of base) : 279099.dasm - System.IO.Compression.Zip64EndOfCentralDirectoryRecord:TryReadBlock(System.IO.BinaryReader,byref):ubyte (Instrumented Tier0)
64 (1.27 % of base) : 444336.dasm - System.Numerics.Tests.minTest:RunMinTests() (Instrumented Tier0)
64 (1.27 % of base) : 446300.dasm - System.Numerics.Tests.op_andTest:RunAndTests() (Instrumented Tier0)
64 (1.27 % of base) : 443682.dasm - System.Numerics.Tests.op_orTest:RunOrTests() (Instrumented Tier0)
64 (2.04 % of base) : 418496.dasm - System.Xml.Tests.TCReadSubtree:SubtreeReaderReadsProperlyNodeTypeOfAttributes():int:this (Instrumented Tier0)
64 (1.71 % of base) : 417050.dasm - System.Xml.Tests.TCXMLIntegrityBase:InitReaderPointer():int:this (Instrumented Tier0)
Top method improvements (bytes):
-108 (-2.00 % of base) : 339742.dasm - System.Net.Security.SafeDeleteContext:AcceptSecurityContext(byref,byref,int,int,System.Net.Security.InputSecurityBuffers,byref,byref):int (Instrumented Tier0)
-72 (-3.83 % of base) : 419545.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Tier0)
-68 (-0.72 % of base) : 243392.dasm - Microsoft.Diagnostics.Tracing.Parsers.ProviderManifest:ParseProviderEvents(System.Func`2[Microsoft.Diagnostics.Tracing.Parsers.DynamicTraceEventData,int],ubyte):this (Instrumented Tier0)
-68 (-1.49 % of base) : 484166.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (Instrumented Tier0)
-68 (-1.03 % of base) : 414863.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_18(System.Xml.XmlWriterApiTests.XmlWriterUtils,int):this (Instrumented Tier0)
-52 (-1.10 % of base) : 278044.dasm - System.IO.Compression.GzipStreamUnitTests+<TestConcatenatedGzipStreams>d__11:MoveNext():this (Instrumented Tier0)
-52 (-1.10 % of base) : 277944.dasm - System.IO.Compression.GzipStreamUnitTests+<TestConcatenatedGzipStreams>d__11:MoveNext():this (Instrumented Tier0)
-52 (-2.21 % of base) : 370933.dasm - System.Net.WebSockets.Tests.WebSocketTestStream+<ReadAsync>d__36:MoveNext():this (Tier0)
-48 (-0.22 % of base) : 143389.dasm - Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+Parser:GetLogClasses(System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator+LoggerClass]:this (Instrumented Tier0)
-48 (-4.05 % of base) : 26459.dasm - Xunit.Sdk.AssertEqualityComparer`1[byte]:Equals(byte,byte):ubyte:this (Tier0)
-48 (-2.65 % of base) : 107214.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Instrumented Tier0)
-48 (-3.81 % of base) : 72462.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Tier0)
-48 (-3.75 % of base) : 3576.dasm - Xunit.Sdk.AssertEqualityComparer`1[float]:Equals(float,float):ubyte:this (Tier0)
-48 (-2.60 % of base) : 49366.dasm - Xunit.Sdk.AssertEqualityComparer`1[int]:Equals(int,int):ubyte:this (Instrumented Tier0)
-48 (-2.60 % of base) : 107306.dasm - Xunit.Sdk.AssertEqualityComparer`1[long]:Equals(long,long):ubyte:this (Instrumented Tier0)
-48 (-2.37 % of base) : 177854.dasm - Xunit.Sdk.AssertEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Equals(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):ubyte:this (Instrumented Tier0)
-48 (-2.63 % of base) : 107237.dasm - Xunit.Sdk.AssertEqualityComparer`1[System.ValueTuple`2[double,double]]:Equals(System.ValueTuple`2[double,double],System.ValueTuple`2[double,double]):ubyte:this (Instrumented Tier0)
-48 (-2.59 % of base) : 116697.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Instrumented Tier0)
-48 (-4.05 % of base) : 26359.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Tier0)
-48 (-2.60 % of base) : 177613.dasm - Xunit.Sdk.AssertEqualityComparer`1[ulong]:Equals(ulong,ulong):ubyte:this (Instrumented Tier0)
Top method regressions (percentages):
4 (14.29 % of base) : 375140.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Instrumented Tier0)
4 (14.29 % of base) : 373748.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[double]:Invoke(System.Runtime.Intrinsics.Vector128`1[double]):double (Tier0)
12 (12.50 % of base) : 439503.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:Log2DoubleTest(double,double,double):this (Tier0)
12 (12.50 % of base) : 439193.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector64Tests:LogDoubleTest(double,double,double):this (Tier0)
12 (11.54 % of base) : 438469.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:AssertEqual(System.Runtime.Intrinsics.Vector128`1[double],System.Runtime.Intrinsics.Vector128`1[double],System.Runtime.Intrinsics.Vector128`1[double]) (Tier0)
12 (11.54 % of base) : 438551.dasm - System.Runtime.Intrinsics.Tests.Vectors.Vector128Tests:AssertEqual(System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]) (Tier0)
4 (9.09 % of base) : 372194.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 371442.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 377200.dasm - System.Numerics.Tensors.TensorPrimitives:ElementWiseSelect[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 372690.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 377759.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Instrumented Tier0)
4 (9.09 % of base) : 372074.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (9.09 % of base) : 376948.dasm - System.Numerics.Tensors.TensorPrimitives:FusedMultiplyAdd[float](System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float] (Tier0)
4 (8.33 % of base) : 372535.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[float]:Invoke(System.Runtime.Intrinsics.Vector128`1[float]):float (Instrumented Tier0)
4 (8.33 % of base) : 371824.dasm - System.Numerics.Tensors.TensorPrimitives+AddOperator`1[float]:Invoke(System.Runtime.Intrinsics.Vector128`1[float]):float (Tier0)
4 (8.33 % of base) : 375903.dasm - System.Numerics.Tensors.TensorPrimitives+MaxOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
4 (8.33 % of base) : 371456.dasm - System.Numerics.Tensors.TensorPrimitives+MaxOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
4 (8.33 % of base) : 375915.dasm - System.Numerics.Tensors.TensorPrimitives+MinOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
4 (8.33 % of base) : 375935.dasm - System.Numerics.Tensors.TensorPrimitives+MinPropagateNaNOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
4 (8.33 % of base) : 372592.dasm - System.Numerics.Tensors.TensorPrimitives+MinPropagateNaNOperator`1[long]:Invoke(System.Runtime.Intrinsics.Vector128`1[long],System.Runtime.Intrinsics.Vector128`1[long]):System.Runtime.Intrinsics.Vector128`1[long] (Tier0)
Top method improvements (percentages):
-20 (-6.85 % of base) : 114455.dasm - Stashbox.Registration.SelectionRules.ConditionRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistrations.ServiceRegistration,Stashbox.Resolution.ResolutionContext,byref):ubyte:this (Tier0)
-20 (-5.49 % of base) : 165002.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Tier0)
-12 (-4.76 % of base) : 307405.dasm - System.Linq.Parallel.TakeOrSkipQueryOperator`1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.TakeOrSkipQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.69 % of base) : 302517.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,double]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,double],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-12 (-4.69 % of base) : 302779.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,System.__Canon]:.ctor(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,System.__Canon],System.Linq.Parallel.QuerySettings,ubyte):this (Instrumented Tier0)
-16 (-4.12 % of base) : 182678.dasm - System.AssertExtensions:AssertThrows[System.__Canon,int](System.ReadOnlySpan`1[int],System.AssertExtensions+AssertThrowsActionReadOnly`1[int]):System.__Canon (Tier0)
-16 (-4.12 % of base) : 185084.dasm - System.AssertExtensions:AssertThrows[System.__Canon,int](System.Span`1[int],System.AssertExtensions+AssertThrowsAction`1[int]):System.__Canon (Tier0)
-48 (-4.05 % of base) : 26459.dasm - Xunit.Sdk.AssertEqualityComparer`1[byte]:Equals(byte,byte):ubyte:this (Tier0)
-48 (-4.05 % of base) : 26359.dasm - Xunit.Sdk.AssertEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (Tier0)
-44 (-3.99 % of base) : 3326.dasm - Xunit.Sdk.AssertEqualityComparer`1[System.Drawing.Point]:Equals(System.Drawing.Point,System.Drawing.Point):ubyte:this (Tier0)
-72 (-3.83 % of base) : 419545.dasm - System.Xml.XmlWriterApiTests.TCFullEndElement+TCWriteValue:writeValue_27(System.Xml.XmlWriterApiTests.XmlWriterUtils,int,System.String,System.String,ubyte,System.Object):this (Tier0)
-48 (-3.81 % of base) : 72462.dasm - Xunit.Sdk.AssertEqualityComparer`1[double]:Equals(double,double):ubyte:this (Tier0)
-16 (-3.77 % of base) : 168863.dasm - Microsoft.VisualBasic.Tests.FileSystemTests:AssertThrows[System.__Canon](System.Action) (Instrumented Tier0)
-48 (-3.75 % of base) : 3576.dasm - Xunit.Sdk.AssertEqualityComparer`1[float]:Equals(float,float):ubyte:this (Tier0)
-12 (-3.66 % of base) : 76739.dasm - System.ComponentModel.TypeDescriptor:CheckDefaultProvider(System.Type) (Tier0)
-8 (-3.64 % of base) : 72441.dasm - SharedTypes.IntWrapperWithNotification:RaiseInvokeSucceeded():this (Tier0)
-20 (-3.55 % of base) : 638177.dasm - System.Transactions.DtcProxyShim.OletxHelper:Retry(System.Action) (Instrumented Tier0)
-44 (-3.44 % of base) : 3057.dasm - Xunit.Sdk.AssertEqualityComparer`1[int]:Equals(int,int):ubyte:this (Tier0)
-44 (-3.44 % of base) : 3427.dasm - Xunit.Sdk.AssertEqualityComparer`1[long]:Equals(long,long):ubyte:this (Tier0)
-44 (-3.40 % of base) : 68689.dasm - Xunit.Sdk.AssertEqualityComparer`1[ulong]:Equals(ulong,ulong):ubyte:this (Tier0)
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 169012984 (overridden on cmd)
Total bytes of diff: 169013096 (overridden on cmd)
Total bytes of delta: 112 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
4 : 285247.dasm (2.27 % of base)
4 : 285259.dasm (2.86 % of base)
4 : 288502.dasm (2.50 % of base)
4 : 288775.dasm (2.38 % of base)
4 : 295120.dasm (2.38 % of base)
4 : 296822.dasm (2.50 % of base)
4 : 298179.dasm (2.38 % of base)
4 : 303582.dasm (2.38 % of base)
4 : 285246.dasm (2.50 % of base)
4 : 296754.dasm (2.50 % of base)
4 : 296802.dasm (2.50 % of base)
4 : 298421.dasm (2.50 % of base)
4 : 298734.dasm (2.38 % of base)
4 : 303559.dasm (2.50 % of base)
4 : 303581.dasm (2.50 % of base)
4 : 288424.dasm (2.50 % of base)
4 : 288432.dasm (2.38 % of base)
4 : 289154.dasm (2.86 % of base)
4 : 294424.dasm (2.50 % of base)
4 : 296534.dasm (2.38 % of base)
Top file improvements (bytes):
-8 : 13193.dasm (-1.57 % of base)
26 total files with Code Size differences (1 improved, 25 regressed), 39 unchanged.
Top method regressions (bytes):
4 (2.50 % of base) : 303559.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 294424.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 295120.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|16_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 288502.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|17_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 288775.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|18_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 296802.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 303581.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 296582.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 303582.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int,int) (MinOpts)
4 (2.86 % of base) : 289154.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
4 (2.50 % of base) : 288424.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|38_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 288432.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|39_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 296822.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 298421.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 296534.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 297894.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 298734.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int,int) (MinOpts)
4 (2.50 % of base) : 296754.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|6_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 302354.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|68_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 302846.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|69_0(byref,byref,int,int,int) (MinOpts)
Top method improvements (bytes):
-8 (-1.57 % of base) : 13193.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
Top method regressions (percentages):
4 (2.86 % of base) : 289154.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|37_0(byref,byref,int) (MinOpts)
4 (2.86 % of base) : 285259.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|83_0(byref,byref,int) (MinOpts)
4 (2.50 % of base) : 303559.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|1_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 294424.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|15_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 288502.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|17_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 296802.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 303581.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|2_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 296582.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 288424.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|38_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 296822.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 298421.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|4_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 297894.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|5_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 296754.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|6_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 302354.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|68_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 298014.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|7_0(byref,byref,int,int) (MinOpts)
4 (2.50 % of base) : 285246.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|84_0(byref,byref,int,int) (MinOpts)
4 (2.38 % of base) : 295120.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|16_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 288775.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|18_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 303582.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|3_0(byref,byref,int,int,int) (MinOpts)
4 (2.38 % of base) : 288432.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:<StackPush>g__WithResize|39_0(byref,byref,int,int,int) (MinOpts)
Top method improvements (percentages):
-8 (-1.57 % of base) : 13193.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
realworld.run.windows.arm64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15917176 (overridden on cmd)
Total bytes of diff: 15917176 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
Diffs are based on 2,495,240 contexts (977,958 MinOpts, 1,517,282 FullOpts).
MISSED contexts: 3,546 (0.14%)
Overall (-4,578 bytes)
Collection
Base size (bytes)
Diff size (bytes)
aspnet.run.windows.x64.checked.mch
42,070,891
-3,161
benchmarks.run.windows.x64.checked.mch
8,666,396
+2
benchmarks.run_pgo.windows.x64.checked.mch
35,349,995
-8,059
benchmarks.run_tiered.windows.x64.checked.mch
12,686,993
-10,190
coreclr_tests.run.windows.x64.checked.mch
393,136,663
+155,469
libraries.crossgen2.windows.x64.checked.mch
39,411,196
-2
libraries.pmi.windows.x64.checked.mch
61,131,115
+2
libraries_tests.run.windows.x64.Release.mch
279,572,690
-126,077
librariestestsnotieredcompilation.run.windows.x64.Release.mch
133,740,839
-12,568
realworld.run.windows.x64.checked.mch
14,188,290
+6
smoke_tests.nativeaot.windows.x64.checked.mch
5,085,035
+0
MinOpts (-4,578 bytes)
Collection
Base size (bytes)
Diff size (bytes)
aspnet.run.windows.x64.checked.mch
14,658,725
-3,161
benchmarks.run.windows.x64.checked.mch
361
+2
benchmarks.run_pgo.windows.x64.checked.mch
14,238,248
-8,059
benchmarks.run_tiered.windows.x64.checked.mch
9,174,699
-10,190
coreclr_tests.run.windows.x64.checked.mch
273,514,441
+155,469
libraries.crossgen2.windows.x64.checked.mch
1,189
-2
libraries.pmi.windows.x64.checked.mch
113,519
+2
libraries_tests.run.windows.x64.Release.mch
175,492,237
-126,077
librariestestsnotieredcompilation.run.windows.x64.Release.mch
10,810,850
-12,568
realworld.run.windows.x64.checked.mch
389,705
+6
smoke_tests.nativeaot.windows.x64.checked.mch
909
+0
Example diffs
aspnet.run.windows.x64.checked.mch
-26 (-9.39%) : 11905.dasm - System.Reflection.Metadata.Ecma335.TypeDefTableReader:.ctor(int,int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
@@ -27,100 +27,102 @@ G_M23566_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=25 bbWeight=1 PerfScore 5.75
G_M23566_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov edx, dword ptr [rbp+0x18]
- mov dword ptr [r9], edx
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov ecx, dword ptr [rbp+0x18]
+ mov dword ptr [rax], ecx
cmp dword ptr [rbp+0x20], 2
- sete r9b
- ; byrRegs -[r9]
- mov rdx, bword ptr [rbp+0x10]
- ; byrRegs +[rdx]
- mov byte ptr [rdx+0x04], r9b
- cmp dword ptr [rbp+0x28], 2
- sete r9b
- mov rdx, bword ptr [rbp+0x10]
- mov byte ptr [rdx+0x05], r9b
- cmp dword ptr [rbp+0x30], 2
- sete r9b
- mov rdx, bword ptr [rbp+0x10]
- mov byte ptr [rdx+0x06], r9b
- cmp dword ptr [rbp+0x38], 2
- sete r9b
- mov rdx, bword ptr [rbp+0x10]
- mov byte ptr [rdx+0x07], r9b
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- xor edx, edx
- ; byrRegs -[rdx]
- mov dword ptr [r9+0x08], edx
- mov r9, bword ptr [rbp+0x10]
- mov r9d, dword ptr [r9+0x08]
- ; byrRegs -[r9]
- add r9d, 4
- mov rdx, bword ptr [rbp+0x10]
- ; byrRegs +[rdx]
- mov dword ptr [rdx+0x0C], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x0C]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x38]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x10], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x10]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x38]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x14], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x14]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x30]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x18], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x18]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x20]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x1C], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x1C]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x28]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x20], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x20]
- ; byrRegs -[r9]
- imul r9d, dword ptr [rbp+0x18]
- mov rdx, bword ptr [rbp+0x10]
- cmp byte ptr [rdx], dl
- mov rdx, bword ptr [rbp+0x10]
- add rdx, 40
- mov rcx, bword ptr [rbp+0x40]
+ sete al
+ ; byrRegs -[rax]
+ mov rcx, bword ptr [rbp+0x10]
; byrRegs +[rcx]
- mov r8d, dword ptr [rbp+0x48]
- ;; size=239 bbWeight=1 PerfScore 79.75
+ mov byte ptr [rcx+0x04], al
+ cmp dword ptr [rbp+0x28], 2
+ sete al
+ mov rcx, bword ptr [rbp+0x10]
+ mov byte ptr [rcx+0x05], al
+ cmp dword ptr [rbp+0x30], 2
+ sete al
+ mov rcx, bword ptr [rbp+0x10]
+ mov byte ptr [rcx+0x06], al
+ cmp dword ptr [rbp+0x38], 2
+ sete al
+ mov rcx, bword ptr [rbp+0x10]
+ mov byte ptr [rcx+0x07], al
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ xor ecx, ecx
+ ; byrRegs -[rcx]
+ mov dword ptr [rax+0x08], ecx
+ mov rax, bword ptr [rbp+0x10]
+ mov eax, dword ptr [rax+0x08]
+ ; byrRegs -[rax]
+ add eax, 4
+ mov rcx, bword ptr [rbp+0x10]
+ ; byrRegs +[rcx]
+ mov dword ptr [rcx+0x0C], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x0C]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x38]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x10], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x10]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x38]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x14], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x14]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x30]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x18], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x18]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x20]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x1C], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x1C]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x28]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x20], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x20]
+ ; byrRegs -[rax]
+ mov r9d, eax
+ imul r9d, dword ptr [rbp+0x18]
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ cmp byte ptr [rax], al
+ mov rax, bword ptr [rbp+0x10]
+ lea rdx, bword ptr [rax+0x28]
+ ; byrRegs +[rdx]
+ mov rcx, bword ptr [rbp+0x40]
+ ;; size=209 bbWeight=1 PerfScore 79.25
G_M23566_IG03: ; bbWeight=1, extend
+ mov r8d, dword ptr [rbp+0x48]
call [<unknown method>]
- ; byrRegs -[rcx rdx]
+ ; byrRegs -[rax rcx rdx]
nop
- ;; size=7 bbWeight=1 PerfScore 3.25
+ ;; size=11 bbWeight=1 PerfScore 4.25
G_M23566_IG04: ; bbWeight=1, epilog, nogc, extend
add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 277, prolog size 10, PerfScore 90.50, instruction count 73, allocated bytes for code 277 (MethodHash=7468a3f1) for method System.Reflection.Metadata.Ecma335.TypeDefTableReader:.ctor(int,int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
+; Total bytes of code 251, prolog size 10, PerfScore 91.00, instruction count 74, allocated bytes for code 251 (MethodHash=7468a3f1) for method System.Reflection.Metadata.Ecma335.TypeDefTableReader:.ctor(int,int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
; ============================================================
Unwind Info:
-24 (-9.20%) : 11909.dasm - System.Reflection.Metadata.Ecma335.MethodTableReader:.ctor(int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
@@ -26,94 +26,96 @@ G_M54449_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=25 bbWeight=1 PerfScore 5.75
G_M54449_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov edx, dword ptr [rbp+0x18]
- mov dword ptr [r9], edx
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov ecx, dword ptr [rbp+0x18]
+ mov dword ptr [rax], ecx
cmp dword ptr [rbp+0x20], 2
- sete r9b
- ; byrRegs -[r9]
- mov rdx, bword ptr [rbp+0x10]
- ; byrRegs +[rdx]
- mov byte ptr [rdx+0x04], r9b
- cmp dword ptr [rbp+0x28], 2
- sete r9b
- mov rdx, bword ptr [rbp+0x10]
- mov byte ptr [rdx+0x05], r9b
- cmp dword ptr [rbp+0x30], 2
- sete r9b
- mov rdx, bword ptr [rbp+0x10]
- mov byte ptr [rdx+0x06], r9b
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- xor edx, edx
- ; byrRegs -[rdx]
- mov dword ptr [r9+0x08], edx
- mov r9, bword ptr [rbp+0x10]
- mov r9d, dword ptr [r9+0x08]
- ; byrRegs -[r9]
- add r9d, 4
- mov rdx, bword ptr [rbp+0x10]
- ; byrRegs +[rdx]
- mov dword ptr [rdx+0x0C], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x0C]
- ; byrRegs -[r9]
- add r9d, 2
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x10], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x10]
- ; byrRegs -[r9]
- add r9d, 2
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x14], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x14]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x28]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x18], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x18]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x30]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x1C], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x1C]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x20]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x20], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x20]
- ; byrRegs -[r9]
- imul r9d, dword ptr [rbp+0x18]
- mov rdx, bword ptr [rbp+0x10]
- cmp byte ptr [rdx], dl
- mov rdx, bword ptr [rbp+0x10]
- add rdx, 40
- mov rcx, bword ptr [rbp+0x38]
+ sete al
+ ; byrRegs -[rax]
+ mov rcx, bword ptr [rbp+0x10]
; byrRegs +[rcx]
+ mov byte ptr [rcx+0x04], al
+ cmp dword ptr [rbp+0x28], 2
+ sete al
+ mov rcx, bword ptr [rbp+0x10]
+ mov byte ptr [rcx+0x05], al
+ cmp dword ptr [rbp+0x30], 2
+ sete al
+ mov rcx, bword ptr [rbp+0x10]
+ mov byte ptr [rcx+0x06], al
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ xor ecx, ecx
+ ; byrRegs -[rcx]
+ mov dword ptr [rax+0x08], ecx
+ mov rax, bword ptr [rbp+0x10]
+ mov eax, dword ptr [rax+0x08]
+ ; byrRegs -[rax]
+ add eax, 4
+ mov rcx, bword ptr [rbp+0x10]
+ ; byrRegs +[rcx]
+ mov dword ptr [rcx+0x0C], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x0C]
+ ; byrRegs -[rax]
+ add eax, 2
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x10], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x10]
+ ; byrRegs -[rax]
+ add eax, 2
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x14], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x14]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x28]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x18], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x18]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x30]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x1C], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x1C]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x20]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x20], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x20]
+ ; byrRegs -[rax]
+ mov r9d, eax
+ imul r9d, dword ptr [rbp+0x18]
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ cmp byte ptr [rax], al
+ mov rax, bword ptr [rbp+0x10]
+ lea rdx, bword ptr [rax+0x28]
+ ; byrRegs +[rdx]
+ mov rcx, bword ptr [rbp+0x38]
mov r8d, dword ptr [rbp+0x40]
call [<unknown method>]
- ; byrRegs -[rcx rdx]
+ ; byrRegs -[rax rcx rdx]
nop
- ;; size=230 bbWeight=1 PerfScore 74.50
+ ;; size=206 bbWeight=1 PerfScore 75.00
G_M54449_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 32
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 261, prolog size 10, PerfScore 82.00, instruction count 69, allocated bytes for code 261 (MethodHash=66c62b4e) for method System.Reflection.Metadata.Ecma335.MethodTableReader:.ctor(int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
+; Total bytes of code 237, prolog size 10, PerfScore 82.50, instruction count 70, allocated bytes for code 237 (MethodHash=66c62b4e) for method System.Reflection.Metadata.Ecma335.MethodTableReader:.ctor(int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
; ============================================================
Unwind Info:
-34 (-9.14%) : 11951.dasm - System.Reflection.Metadata.Ecma335.AssemblyRefTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int,int):this (Tier0)
@@ -32,136 +32,138 @@ G_M33761_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=35 bbWeight=1 PerfScore 8.00
G_M33761_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov edx, dword ptr [rbp+0x18]
- mov dword ptr [r9], edx
- mov r9, bword ptr [rbp+0x10]
- mov bword ptr [rbp-0x08], r9
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov ecx, dword ptr [rbp+0x18]
+ mov dword ptr [rax], ecx
+ mov rax, bword ptr [rbp+0x10]
+ mov bword ptr [rbp-0x08], rax
cmp dword ptr [rbp+0x40], 0
je SHORT G_M33761_IG03
- mov r9, bword ptr [rbp-0x08]
- mov bword ptr [rbp-0x10], r9
+ mov rax, bword ptr [rbp-0x08]
+ mov bword ptr [rbp-0x10], rax
mov dword ptr [rbp-0x14], 6
jmp SHORT G_M33761_IG04
- ;; size=41 bbWeight=1 PerfScore 13.00
+ ;; size=40 bbWeight=1 PerfScore 13.00
G_M33761_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[r9]
- mov r9, bword ptr [rbp-0x08]
- ; byrRegs +[r9]
- mov bword ptr [rbp-0x10], r9
- xor r9d, r9d
- ; byrRegs -[r9]
- mov dword ptr [rbp-0x14], r9d
- ;; size=15 bbWeight=1 PerfScore 3.25
+ ; byrRegs -[rax]
+ mov rax, bword ptr [rbp-0x08]
+ ; byrRegs +[rax]
+ mov bword ptr [rbp-0x10], rax
+ xor eax, eax
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x14], eax
+ ;; size=13 bbWeight=1 PerfScore 3.25
G_M33761_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9, bword ptr [rbp-0x10]
- ; byrRegs +[r9]
- mov edx, dword ptr [rbp-0x14]
- mov dword ptr [r9+0x04], edx
+ mov rax, bword ptr [rbp-0x10]
+ ; byrRegs +[rax]
+ mov ecx, dword ptr [rbp-0x14]
+ mov dword ptr [rax+0x04], ecx
cmp dword ptr [rbp+0x20], 2
- sete r9b
- ; byrRegs -[r9]
- mov rdx, bword ptr [rbp+0x10]
- ; byrRegs +[rdx]
- mov byte ptr [rdx+0x08], r9b
+ sete al
+ ; byrRegs -[rax]
+ mov rcx, bword ptr [rbp+0x10]
+ ; byrRegs +[rcx]
+ mov byte ptr [rcx+0x08], al
cmp dword ptr [rbp+0x28], 2
- sete r9b
- mov rdx, bword ptr [rbp+0x10]
- mov byte ptr [rdx+0x09], r9b
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- xor edx, edx
- ; byrRegs -[rdx]
- mov dword ptr [r9+0x0C], edx
- mov r9, bword ptr [rbp+0x10]
- mov r9d, dword ptr [r9+0x0C]
- ; byrRegs -[r9]
- add r9d, 2
- mov rdx, bword ptr [rbp+0x10]
- ; byrRegs +[rdx]
- mov dword ptr [rdx+0x10], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x10]
- ; byrRegs -[r9]
- add r9d, 2
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x14], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x14]
- ; byrRegs -[r9]
- add r9d, 2
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x18], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x18]
- ; byrRegs -[r9]
- add r9d, 2
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x1C], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x1C]
- ; byrRegs -[r9]
- add r9d, 4
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x20], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x20]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x28]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x24], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x24]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x20]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x28], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x28]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x20]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x2C], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x2C]
- ; byrRegs -[r9]
- add r9d, dword ptr [rbp+0x28]
- mov rdx, bword ptr [rbp+0x10]
- mov dword ptr [rdx+0x30], r9d
- mov r9, bword ptr [rbp+0x10]
- ; byrRegs +[r9]
- mov r9d, dword ptr [r9+0x30]
- ; byrRegs -[r9]
- ;; size=241 bbWeight=1 PerfScore 72.50
+ sete al
+ mov rcx, bword ptr [rbp+0x10]
+ mov byte ptr [rcx+0x09], al
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ xor ecx, ecx
+ ; byrRegs -[rcx]
+ mov dword ptr [rax+0x0C], ecx
+ mov rax, bword ptr [rbp+0x10]
+ mov eax, dword ptr [rax+0x0C]
+ ; byrRegs -[rax]
+ add eax, 2
+ mov rcx, bword ptr [rbp+0x10]
+ ; byrRegs +[rcx]
+ mov dword ptr [rcx+0x10], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x10]
+ ; byrRegs -[rax]
+ add eax, 2
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x14], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x14]
+ ; byrRegs -[rax]
+ add eax, 2
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x18], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x18]
+ ; byrRegs -[rax]
+ add eax, 2
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x1C], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x1C]
+ ; byrRegs -[rax]
+ add eax, 4
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x20], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x20]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x28]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x24], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x24]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x20]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x28], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x28]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x20]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x2C], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x2C]
+ ; byrRegs -[rax]
+ add eax, dword ptr [rbp+0x28]
+ mov rcx, bword ptr [rbp+0x10]
+ mov dword ptr [rcx+0x30], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov eax, dword ptr [rax+0x30]
+ ; byrRegs -[rax]
+ mov r9d, eax
+ ;; size=210 bbWeight=1 PerfScore 72.75
G_M33761_IG05: ; bbWeight=1, extend
imul r9d, dword ptr [rbp+0x18]
- mov rdx, bword ptr [rbp+0x10]
- cmp byte ptr [rdx], dl
- mov rdx, bword ptr [rbp+0x10]
- add rdx, 56
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ cmp byte ptr [rax], al
+ mov rax, bword ptr [rbp+0x10]
+ lea rdx, bword ptr [rax+0x38]
+ ; byrRegs +[rdx]
mov rcx, bword ptr [rbp+0x30]
- ; byrRegs +[rcx]
mov r8d, dword ptr [rbp+0x38]
call [<unknown method>]
- ; byrRegs -[rcx rdx]
+ ; byrRegs -[rax rcx rdx]
nop
- ;; size=34 bbWeight=1 PerfScore 14.50
+ ;; size=34 bbWeight=1 PerfScore 14.75
G_M33761_IG06: ; bbWeight=1, epilog, nogc, extend
add rsp, 64
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 372, prolog size 20, PerfScore 113.00, instruction count 98, allocated bytes for code 372 (MethodHash=08747c1e) for method System.Reflection.Metadata.Ecma335.AssemblyRefTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int,int):this (Tier0)
+; Total bytes of code 338, prolog size 20, PerfScore 113.50, instruction count 99, allocated bytes for code 338 (MethodHash=08747c1e) for method System.Reflection.Metadata.Ecma335.AssemblyRefTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int,int):this (Tier0)
; ============================================================
Unwind Info:
+15 (+15.00%) : 16537.dasm - System.Numerics.Vector
1[uint]:.ctor(System.ReadOnlySpan
1[ubyte]):this (Tier0)@@ -8,58 +8,60 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 arg1 [V01 ] ( 1, 1 ) byref -> [rbp+0x18] do-not-enreg[] ld-addr-op
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (16) [rbp-0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.ReadOnlySpan`1[ubyte]>
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (16) [rbp-0x10] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.ReadOnlySpan`1[ubyte]>
+; TEMP_01 byref -> [rbp-0x18]
;
-; Lcl frame size = 56
+; Lcl frame size = 64
G_M36773_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 56
+ sub rsp, 64
vzeroupper
lea rbp, [rsp+0x40]
+ vxorps xmm4, xmm4, xmm4
+ vmovdqu xmmword ptr [rbp-0x18], xmm4
xor eax, eax
- mov qword ptr [rbp-0x18], rax
+ mov qword ptr [rbp-0x08], rax
mov bword ptr [rbp+0x10], rcx
mov bword ptr [rbp+0x18], rdx
- ;; size=28 bbWeight=1 PerfScore 7.00
+ ;; size=36 bbWeight=1 PerfScore 8.33
G_M36773_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
call [<unknown method>]
- mov rcx, bword ptr [rbp+0x18]
- ; byrRegs +[rcx]
- cmp dword ptr [rcx+0x08], 32
+ mov rax, bword ptr [rbp+0x18]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax+0x08], 32
jge SHORT G_M36773_IG03
mov ecx, 6
- ; byrRegs -[rcx]
call [<unknown method>]
+ ; byrRegs -[rax]
;; size=27 bbWeight=1 PerfScore 11.25
G_M36773_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rbx, bword ptr [rbp+0x10]
- ; byrRegs +[rbx]
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov bword ptr [rbp-0x18], rax
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
- ;; size=8 bbWeight=1 PerfScore 2.00
+ ;; size=12 bbWeight=1 PerfScore 3.00
G_M36773_IG04: ; bbWeight=1, nogc, extend
vmovdqu xmm0, xmmword ptr [rcx]
- vmovdqu xmmword ptr [rbp-0x18], xmm0
+ vmovdqu xmmword ptr [rbp-0x10], xmm0
;; size=9 bbWeight=1 PerfScore 5.00
G_M36773_IG05: ; bbWeight=1, extend
- lea rcx, [rbp-0x18]
+ lea rcx, [rbp-0x10]
; byrRegs -[rcx]
call [<unknown method>]
- ; byrRegs +[rax]
vmovups ymm0, ymmword ptr [rax]
- vmovups ymmword ptr [rbx], ymm0
- ;; size=18 bbWeight=1 PerfScore 10.50
+ mov rax, bword ptr [rbp-0x18]
+ vmovups ymmword ptr [rax], ymm0
+ ;; size=22 bbWeight=1 PerfScore 11.50
G_M36773_IG06: ; bbWeight=1, epilog, nogc, extend
vzeroupper
- add rsp, 56
- pop rbx
+ add rsp, 64
pop rbp
ret
- ;; size=10 bbWeight=1 PerfScore 3.25
+ ;; size=9 bbWeight=1 PerfScore 2.75
-; Total bytes of code 100, prolog size 20, PerfScore 39.00, instruction count 28, allocated bytes for code 100 (MethodHash=54d6705a) for method System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
+; Total bytes of code 115, prolog size 28, PerfScore 41.83, instruction count 30, allocated bytes for code 115 (MethodHash=54d6705a) for method System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
; ============================================================
Unwind Info:
@@ -67,11 +69,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 6 * 8 + 8 = 56 = 0x38
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 7 * 8 + 8 = 64 = 0x40
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+15 (+15.96%) : 16541.dasm - System.Numerics.Vector
1[uint]:.ctor(System.ReadOnlySpan
1[uint]):this (Tier0)@@ -8,57 +8,59 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 arg1 [V01 ] ( 1, 1 ) byref -> [rbp+0x18] do-not-enreg[] ld-addr-op
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03 ] ( 1, 1 ) struct (16) [rbp-0x18] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.ReadOnlySpan`1[uint]>
+; V03 tmp1 [V03 ] ( 1, 1 ) struct (16) [rbp-0x10] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.ReadOnlySpan`1[uint]>
+; TEMP_01 byref -> [rbp-0x18]
;
-; Lcl frame size = 56
+; Lcl frame size = 64
G_M54972_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 56
+ sub rsp, 64
vzeroupper
lea rbp, [rsp+0x40]
+ vxorps xmm4, xmm4, xmm4
+ vmovdqu xmmword ptr [rbp-0x18], xmm4
xor eax, eax
- mov qword ptr [rbp-0x18], rax
+ mov qword ptr [rbp-0x08], rax
mov bword ptr [rbp+0x10], rcx
mov bword ptr [rbp+0x18], rdx
- ;; size=28 bbWeight=1 PerfScore 7.00
+ ;; size=36 bbWeight=1 PerfScore 8.33
G_M54972_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, bword ptr [rbp+0x18]
- ; byrRegs +[rcx]
- cmp dword ptr [rcx+0x08], 8
+ mov rax, bword ptr [rbp+0x18]
+ ; byrRegs +[rax]
+ cmp dword ptr [rax+0x08], 8
jge SHORT G_M54972_IG03
mov ecx, 6
- ; byrRegs -[rcx]
call [<unknown method>]
+ ; byrRegs -[rax]
;; size=21 bbWeight=1 PerfScore 8.25
G_M54972_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rbx, bword ptr [rbp+0x10]
- ; byrRegs +[rbx]
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ mov bword ptr [rbp-0x18], rax
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
- ;; size=8 bbWeight=1 PerfScore 2.00
+ ;; size=12 bbWeight=1 PerfScore 3.00
G_M54972_IG04: ; bbWeight=1, nogc, extend
vmovdqu xmm0, xmmword ptr [rcx]
- vmovdqu xmmword ptr [rbp-0x18], xmm0
+ vmovdqu xmmword ptr [rbp-0x10], xmm0
;; size=9 bbWeight=1 PerfScore 5.00
G_M54972_IG05: ; bbWeight=1, extend
- lea rcx, [rbp-0x18]
+ lea rcx, [rbp-0x10]
; byrRegs -[rcx]
call [<unknown method>]
- ; byrRegs +[rax]
vmovups ymm0, ymmword ptr [rax]
- vmovups ymmword ptr [rbx], ymm0
- ;; size=18 bbWeight=1 PerfScore 10.50
+ mov rax, bword ptr [rbp-0x18]
+ vmovups ymmword ptr [rax], ymm0
+ ;; size=22 bbWeight=1 PerfScore 11.50
G_M54972_IG06: ; bbWeight=1, epilog, nogc, extend
vzeroupper
- add rsp, 56
- pop rbx
+ add rsp, 64
pop rbp
ret
- ;; size=10 bbWeight=1 PerfScore 3.25
+ ;; size=9 bbWeight=1 PerfScore 2.75
-; Total bytes of code 94, prolog size 20, PerfScore 36.00, instruction count 27, allocated bytes for code 94 (MethodHash=e5af2943) for method System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[uint]):this (Tier0)
+; Total bytes of code 109, prolog size 28, PerfScore 38.83, instruction count 29, allocated bytes for code 109 (MethodHash=e5af2943) for method System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[uint]):this (Tier0)
; ============================================================
Unwind Info:
@@ -66,11 +68,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 6 * 8 + 8 = 56 = 0x38
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 7 * 8 + 8 = 64 = 0x40
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+9 (+16.36%) : 6312.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
@@ -7,6 +7,7 @@
;
; V00 TypeCtx [V00 ] ( 1, 1 ) long -> [rbp+0x10] do-not-enreg[]
; V01 OutArgs [V01 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [rbp-0x10]
;
; Lcl frame size = 48
@@ -14,29 +15,32 @@ G_M53231_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
push rbp
sub rsp, 48
lea rbp, [rsp+0x30]
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
mov qword ptr [rbp-0x08], rcx
mov qword ptr [rbp+0x10], rcx
- ;; size=18 bbWeight=1 PerfScore 3.75
+ ;; size=24 bbWeight=1 PerfScore 5.00
G_M53231_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, qword ptr [rbp+0x10]
call CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[rax]
- mov rcx, rax
- ; byrRegs +[rcx]
+ mov bword ptr [rbp-0x10], rax
mov eax, 512
; byrRegs -[rax]
- mov r8d, 8
+ mov ecx, 8
xor edx, edx
- div edx:eax, r8d
+ div edx:eax, ecx
+ mov rcx, bword ptr [rbp-0x10]
+ ; byrRegs +[rcx]
mov dword ptr [rcx+0x08], eax
- ;; size=31 bbWeight=1 PerfScore 29.00
+ ;; size=34 bbWeight=1 PerfScore 30.75
G_M53231_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 48
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 55, prolog size 14, PerfScore 34.50, instruction count 16, allocated bytes for code 55 (MethodHash=b7083010) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
+; Total bytes of code 64, prolog size 20, PerfScore 37.50, instruction count 19, allocated bytes for code 64 (MethodHash=b7083010) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
; ============================================================
Unwind Info:
benchmarks.run.windows.x64.checked.mch
+0 (0.00%) : 3321.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -21,8 +21,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp+0x10], rcx
;; size=20 bbWeight=1 PerfScore 4.00
G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov gword ptr [rbp-0x10], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x10], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov r8, gword ptr [rbp-0x10]
+0 (0.00%) : 14982.dasm - Devirtualization.EqualityComparerFixture
1[System.ValueTuple
3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)@@ -30,19 +30,21 @@ G_M54368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs +[rax]
mov gword ptr [rbp-0x28], rax
- mov rcx, bword ptr [rbp+0x18]
- ; byrRegs +[rcx]
- vmovups xmm0, xmmword ptr [rcx]
+ mov rax, bword ptr [rbp+0x18]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ vmovups xmm0, xmmword ptr [rax]
vmovups xmmword ptr [rbp-0x10], xmm0
- mov rcx, bword ptr [rbp+0x20]
- vmovups xmm0, xmmword ptr [rcx]
+ mov rax, bword ptr [rbp+0x20]
+ vmovups xmm0, xmmword ptr [rax]
vmovups xmmword ptr [rbp-0x20], xmm0
mov rcx, gword ptr [rbp-0x28]
; gcrRegs +[rcx]
- ; byrRegs -[rcx]
lea rdx, [rbp-0x10]
lea r8, [rbp-0x20]
mov rax, gword ptr [rbp-0x28]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
mov rax, qword ptr [rax]
; gcrRegs -[rax]
mov rax, qword ptr [rax+0x48]
+2 (+1.28%) : 15561.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -48,10 +48,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
call [<unknown method>]
; byrRegs -[rcx]
mov dword ptr [rbp-0x04], eax
- xor ecx, ecx
- mov dword ptr [rbp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.50
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -60,26 +60,28 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
; byrRegs -[rcx] +[rax]
- movzx rcx, byte ptr [rax]
- mov dword ptr [rbp-0x14], ecx
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x14], eax
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
- ; byrRegs -[rcx]
+ ; byrRegs -[rcx] +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x14]
sub ecx, eax
- or ecx, dword ptr [rbp-0x08]
- mov dword ptr [rbp-0x08], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x08]
+ mov dword ptr [rbp-0x08], eax
mov eax, dword ptr [rbp-0x0C]
inc eax
mov dword ptr [rbp-0x0C], eax
- ;; size=54 bbWeight=1 PerfScore 21.50
+ ;; size=56 bbWeight=1 PerfScore 21.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp-0x0C]
- cmp ecx, dword ptr [rbp-0x04]
+ mov eax, dword ptr [rbp-0x0C]
+ cmp eax, dword ptr [rbp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x08], 0
@@ -91,7 +93,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 57.75, instruction count 49, allocated bytes for code 156 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 158, prolog size 10, PerfScore 58.00, instruction count 50, allocated bytes for code 158 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
benchmarks.run_pgo.windows.x64.checked.mch
-33 (-17.28%) : 23222.dasm - System.Numerics.Tests.Perf_VectorOf
1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector
1[byte]:this (Tier0)@@ -8,56 +8,52 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp+0x10] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[byte]>
; V01 RetBuf [V01 ] ( 1, 1 ) byref -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_02 simd32 -> [rbp-0x40]
-; TEMP_01 simd32 -> [rbp-0x60]
+; TEMP_02 simd32 -> [rbp-0x20]
+; TEMP_01 simd32 -> [rbp-0x40]
;
-; Lcl frame size = 128
+; Lcl frame size = 96
G_M14138_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 128
+ sub rsp, 96
vzeroupper
- vmovaps xmmword ptr [rsp+0x70], xmm6
- vmovaps xmmword ptr [rsp+0x60], xmm7
- lea rbp, [rsp+0x80]
+ lea rbp, [rsp+0x60]
mov gword ptr [rbp+0x10], rcx
mov bword ptr [rbp+0x18], rdx
- ;; size=39 bbWeight=1 PerfScore 8.75
+ ;; size=21 bbWeight=1 PerfScore 4.75
G_M14138_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x40], ymm6
- mov rcx, 0xD1FFAB1E
- xor edx, edx
- call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x60], ymm6
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x20], ymm0
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rbp-0x40]
- vmovups ymm7, ymmword ptr [rbp-0x60]
- vpternlogd ymm6, ymm7, ymmword ptr [rax], -54
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x40], ymm0
+ mov rcx, 0xD1FFAB1E
+ xor edx, edx
+ call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rbp-0x20]
+ vmovups ymm1, ymmword ptr [rbp-0x40]
+ vpternlogd ymm0, ymm1, ymmword ptr [rax], -54
mov rax, bword ptr [rbp+0x18]
; byrRegs +[rax]
- vmovups ymmword ptr [rax], ymm6
+ vmovups ymmword ptr [rax], ymm0
mov rax, bword ptr [rbp+0x18]
;; size=128 bbWeight=1 PerfScore 32.25
G_M14138_IG03: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x70]
- vmovaps xmm7, xmmword ptr [rsp+0x60]
vzeroupper
- add rsp, 128
+ add rsp, 96
pop rbp
ret
- ;; size=24 bbWeight=1 PerfScore 10.75
+ ;; size=9 bbWeight=1 PerfScore 2.75
-; Total bytes of code 191, prolog size 31, PerfScore 51.75, instruction count 36, allocated bytes for code 191 (MethodHash=9a9dc8c5) for method System.Numerics.Tests.Perf_VectorOf`1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
+; Total bytes of code 158, prolog size 13, PerfScore 39.75, instruction count 32, allocated bytes for code 158 (MethodHash=9a9dc8c5) for method System.Numerics.Tests.Perf_VectorOf`1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
; ============================================================
Unwind Info:
@@ -65,14 +61,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x17
- CountOfUnwindCodes: 6
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x17 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM7 (7)
- Scaled Small Offset: 6 * 16 = 96 = 0x00060
- CodeOffset: 0x11 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM6 (6)
- Scaled Small Offset: 7 * 16 = 112 = 0x00070
- CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 15 * 8 + 8 = 128 = 0x80
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 11 * 8 + 8 = 96 = 0x60
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
-24 (-15.38%) : 61540.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
@@ -30,44 +30,44 @@ G_M64047_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=24 bbWeight=1 PerfScore 5.75
G_M64047_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor r8d, r8d
- mov dword ptr [rbp-0x08], r8d
- mov r8d, dword ptr [rbp+0x28]
- movzx r8, r8b
- mov dword ptr [rsp+0x20], r8d
- mov r8d, dword ptr [rbp+0x30]
- movzx r8, r8b
- mov dword ptr [rsp+0x28], r8d
- mov r8d, dword ptr [rbp+0x38]
- movzx r8, r8b
- mov dword ptr [rsp+0x30], r8d
- mov r8d, dword ptr [rbp+0x40]
- movzx r8, r8b
- mov dword ptr [rsp+0x38], r8d
- mov r8d, dword ptr [rbp+0x48]
- movzx r8, r8b
- mov dword ptr [rsp+0x40], r8d
- mov r8d, dword ptr [rbp+0x50]
- movzx r8, r8b
- mov dword ptr [rsp+0x48], r8d
- mov r8d, dword ptr [rbp+0x58]
- movzx r8, r8b
- mov dword ptr [rsp+0x50], r8d
- mov r8d, dword ptr [rbp+0x18]
- movzx r8, r8b
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ mov eax, dword ptr [rbp+0x28]
+ movzx rax, al
+ mov dword ptr [rsp+0x20], eax
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rsp+0x30], eax
+ mov eax, dword ptr [rbp+0x40]
+ movzx rax, al
+ mov dword ptr [rsp+0x38], eax
+ mov eax, dword ptr [rbp+0x48]
+ movzx rax, al
+ mov dword ptr [rsp+0x40], eax
+ mov eax, dword ptr [rbp+0x50]
+ movzx rax, al
+ mov dword ptr [rsp+0x48], eax
+ mov eax, dword ptr [rbp+0x58]
+ movzx rax, al
+ mov dword ptr [rsp+0x50], eax
+ mov eax, dword ptr [rbp+0x18]
+ movzx r8, al
lea rcx, [rbp-0x08]
mov edx, dword ptr [rbp+0x10]
mov r9d, dword ptr [rbp+0x20]
call [<unknown method>]
mov eax, dword ptr [rbp-0x08]
- ;; size=126 bbWeight=1 PerfScore 24.75
+ ;; size=102 bbWeight=1 PerfScore 24.75
G_M64047_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 96
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 32.25, instruction count 40, allocated bytes for code 156 (MethodHash=611705d0) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
+; Total bytes of code 132, prolog size 10, PerfScore 32.25, instruction count 40, allocated bytes for code 132 (MethodHash=611705d0) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
; ============================================================
Unwind Info:
-18 (-11.11%) : 81212.dasm - System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
@@ -17,23 +17,22 @@ G_M36416_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
push rbp
sub rsp, 144
vzeroupper
- vmovaps xmmword ptr [rsp+0x80], xmm6
lea rbp, [rsp+0x90]
mov gword ptr [rbp+0x10], rcx
- ;; size=32 bbWeight=1 PerfScore 5.75
+ ;; size=23 bbWeight=1 PerfScore 3.75
G_M36416_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x70], ymm6
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x70], ymm0
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rbp-0x70]
- vmulpd ymm0, ymm6, ymmword ptr [rax]
+ vmovups ymm0, ymmword ptr [rbp-0x70]
+ vmulpd ymm0, ymm0, ymmword ptr [rax]
vmovups ymmword ptr [rbp-0x30], ymm0
vmovups ymm0, ymmword ptr [rbp-0x30]
vhaddpd ymm0, ymm0, ymmword ptr [rbp-0x30]
@@ -43,14 +42,13 @@ G_M36416_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
vaddpd ymm0, ymm0, ymmword ptr [rbp-0x50]
;; size=109 bbWeight=1 PerfScore 45.50
G_M36416_IG03: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x80]
vzeroupper
add rsp, 144
pop rbp
ret
- ;; size=21 bbWeight=1 PerfScore 6.75
+ ;; size=12 bbWeight=1 PerfScore 2.75
-; Total bytes of code 162, prolog size 28, PerfScore 58.00, instruction count 30, allocated bytes for code 162 (MethodHash=520671bf) for method System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
+; Total bytes of code 144, prolog size 19, PerfScore 52.00, instruction count 28, allocated bytes for code 144 (MethodHash=520671bf) for method System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
; ============================================================
Unwind Info:
@@ -58,13 +56,11 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x14
- CountOfUnwindCodes: 5
+ SizeOfProlog : 0x08
+ CountOfUnwindCodes: 3
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x14 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM6 (6)
- Scaled Small Offset: 8 * 16 = 128 = 0x00080
CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_LARGE (1) OpInfo: 0 - Scaled small
Size: 18 * 8 = 144 = 0x00090
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+15 (+20.00%) : 54200.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
@@ -8,54 +8,58 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp+0x10] do-not-enreg[] this class-hnd <System.Collections.Queue>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x08]
;
-; Lcl frame size = 32
+; Lcl frame size = 48
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ sub rsp, 48
+ lea rbp, [rsp+0x30]
+ xor eax, eax
+ mov qword ptr [rbp-0x08], rax
mov gword ptr [rbp+0x10], rcx
mov dword ptr [rbp+0x18], edx
- ;; size=17 bbWeight=1 PerfScore 3.75
+ ;; size=23 bbWeight=1 PerfScore 5.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rbp+0x10]
; gcrRegs +[rax]
- mov rcx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x08], rax
+ mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
- mov rax, gword ptr [rbp+0x10]
- mov eax, dword ptr [rax+0x10]
+ mov ecx, dword ptr [rcx+0x10]
+ ; gcrRegs -[rcx]
+ mov eax, ecx
; gcrRegs -[rax]
add eax, dword ptr [rbp+0x18]
- mov rdx, gword ptr [rbp+0x10]
- ; gcrRegs +[rdx]
- mov r8, gword ptr [rdx+0x08]
- ; gcrRegs +[r8]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ mov rcx, gword ptr [rcx+0x08]
cdq
- ; gcrRegs -[rdx]
- idiv edx:eax, dword ptr [r8+0x08]
+ idiv edx:eax, dword ptr [rcx+0x08]
+ mov rcx, gword ptr [rbp-0x08]
cmp edx, dword ptr [rcx+0x08]
jae SHORT G_M41139_IG04
mov eax, edx
- lea rcx, bword ptr [rcx+8*rax+0x10]
- ; gcrRegs -[rcx]
- ; byrRegs +[rcx]
- mov rax, gword ptr [rcx]
+ lea rax, bword ptr [rcx+8*rax+0x10]
+ ; byrRegs +[rax]
+ mov rax, gword ptr [rax]
; gcrRegs +[rax]
- ;; size=46 bbWeight=1 PerfScore 43.75
+ ; byrRegs -[rax]
+ ;; size=55 bbWeight=1 PerfScore 46.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 32
+ add rsp, 48
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
G_M41139_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[rax r8]
- ; byrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 75, prolog size 10, PerfScore 49.25, instruction count 24, allocated bytes for code 75 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
+; Total bytes of code 90, prolog size 16, PerfScore 52.75, instruction count 29, allocated bytes for code 90 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
; ============================================================
Unwind Info:
@@ -68,5 +72,5 @@ Unwind Info:
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 65153.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Instrumented Tier0)
@@ -8,40 +8,45 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x10], rdx
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov qword ptr [rbp-0x08], rdx
mov bword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x18], rdx
- ;; size=23 bbWeight=1 PerfScore 5.75
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, bword ptr [rbp+0x10]
- ; byrRegs +[rcx]
- mov rbx, gword ptr [rcx]
- ; gcrRegs +[rbx]
- mov rcx, qword ptr [rbp+0x18]
- ; byrRegs -[rcx]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp+0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x10], rax
+ mov rcx, qword ptr [rbp+0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 40
- pop rbx
+ add rsp, 48
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 60963.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Tier0)
@@ -8,40 +8,45 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x10], rdx
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov qword ptr [rbp-0x08], rdx
mov bword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x18], rdx
- ;; size=23 bbWeight=1 PerfScore 5.75
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, bword ptr [rbp+0x10]
- ; byrRegs +[rcx]
- mov rbx, gword ptr [rcx]
- ; gcrRegs +[rbx]
- mov rcx, qword ptr [rbp+0x18]
- ; byrRegs -[rcx]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp+0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x10], rax
+ mov rcx, qword ptr [rbp+0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 40
- pop rbx
+ add rsp, 48
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
benchmarks.run_tiered.windows.x64.checked.mch
-33 (-17.28%) : 17499.dasm - System.Numerics.Tests.Perf_VectorOf
1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector
1[byte]:this (Tier0)@@ -8,56 +8,52 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp+0x10] do-not-enreg[] this class-hnd <System.Numerics.Tests.Perf_VectorOf`1[byte]>
; V01 RetBuf [V01 ] ( 1, 1 ) byref -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_02 simd32 -> [rbp-0x40]
-; TEMP_01 simd32 -> [rbp-0x60]
+; TEMP_02 simd32 -> [rbp-0x20]
+; TEMP_01 simd32 -> [rbp-0x40]
;
-; Lcl frame size = 128
+; Lcl frame size = 96
G_M14138_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 128
+ sub rsp, 96
vzeroupper
- vmovaps xmmword ptr [rsp+0x70], xmm6
- vmovaps xmmword ptr [rsp+0x60], xmm7
- lea rbp, [rsp+0x80]
+ lea rbp, [rsp+0x60]
mov gword ptr [rbp+0x10], rcx
mov bword ptr [rbp+0x18], rdx
- ;; size=39 bbWeight=1 PerfScore 8.75
+ ;; size=21 bbWeight=1 PerfScore 4.75
G_M14138_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x40], ymm6
- mov rcx, 0xD1FFAB1E
- xor edx, edx
- call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x60], ymm6
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x20], ymm0
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rbp-0x40]
- vmovups ymm7, ymmword ptr [rbp-0x60]
- vpternlogd ymm6, ymm7, ymmword ptr [rax], -54
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x40], ymm0
+ mov rcx, 0xD1FFAB1E
+ xor edx, edx
+ call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rbp-0x20]
+ vmovups ymm1, ymmword ptr [rbp-0x40]
+ vpternlogd ymm0, ymm1, ymmword ptr [rax], -54
mov rax, bword ptr [rbp+0x18]
; byrRegs +[rax]
- vmovups ymmword ptr [rax], ymm6
+ vmovups ymmword ptr [rax], ymm0
mov rax, bword ptr [rbp+0x18]
;; size=128 bbWeight=1 PerfScore 32.25
G_M14138_IG03: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x70]
- vmovaps xmm7, xmmword ptr [rsp+0x60]
vzeroupper
- add rsp, 128
+ add rsp, 96
pop rbp
ret
- ;; size=24 bbWeight=1 PerfScore 10.75
+ ;; size=9 bbWeight=1 PerfScore 2.75
-; Total bytes of code 191, prolog size 31, PerfScore 51.75, instruction count 36, allocated bytes for code 191 (MethodHash=9a9dc8c5) for method System.Numerics.Tests.Perf_VectorOf`1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
+; Total bytes of code 158, prolog size 13, PerfScore 39.75, instruction count 32, allocated bytes for code 158 (MethodHash=9a9dc8c5) for method System.Numerics.Tests.Perf_VectorOf`1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
; ============================================================
Unwind Info:
@@ -65,14 +61,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x17
- CountOfUnwindCodes: 6
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x17 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM7 (7)
- Scaled Small Offset: 6 * 16 = 96 = 0x00060
- CodeOffset: 0x11 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM6 (6)
- Scaled Small Offset: 7 * 16 = 112 = 0x00070
- CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 15 * 8 + 8 = 128 = 0x80
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 11 * 8 + 8 = 96 = 0x60
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
-24 (-15.38%) : 39055.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
@@ -30,44 +30,44 @@ G_M64047_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=24 bbWeight=1 PerfScore 5.75
G_M64047_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor r8d, r8d
- mov dword ptr [rbp-0x08], r8d
- mov r8d, dword ptr [rbp+0x28]
- movzx r8, r8b
- mov dword ptr [rsp+0x20], r8d
- mov r8d, dword ptr [rbp+0x30]
- movzx r8, r8b
- mov dword ptr [rsp+0x28], r8d
- mov r8d, dword ptr [rbp+0x38]
- movzx r8, r8b
- mov dword ptr [rsp+0x30], r8d
- mov r8d, dword ptr [rbp+0x40]
- movzx r8, r8b
- mov dword ptr [rsp+0x38], r8d
- mov r8d, dword ptr [rbp+0x48]
- movzx r8, r8b
- mov dword ptr [rsp+0x40], r8d
- mov r8d, dword ptr [rbp+0x50]
- movzx r8, r8b
- mov dword ptr [rsp+0x48], r8d
- mov r8d, dword ptr [rbp+0x58]
- movzx r8, r8b
- mov dword ptr [rsp+0x50], r8d
- mov r8d, dword ptr [rbp+0x18]
- movzx r8, r8b
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ mov eax, dword ptr [rbp+0x28]
+ movzx rax, al
+ mov dword ptr [rsp+0x20], eax
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rsp+0x30], eax
+ mov eax, dword ptr [rbp+0x40]
+ movzx rax, al
+ mov dword ptr [rsp+0x38], eax
+ mov eax, dword ptr [rbp+0x48]
+ movzx rax, al
+ mov dword ptr [rsp+0x40], eax
+ mov eax, dword ptr [rbp+0x50]
+ movzx rax, al
+ mov dword ptr [rsp+0x48], eax
+ mov eax, dword ptr [rbp+0x58]
+ movzx rax, al
+ mov dword ptr [rsp+0x50], eax
+ mov eax, dword ptr [rbp+0x18]
+ movzx r8, al
lea rcx, [rbp-0x08]
mov edx, dword ptr [rbp+0x10]
mov r9d, dword ptr [rbp+0x20]
call [<unknown method>]
mov eax, dword ptr [rbp-0x08]
- ;; size=126 bbWeight=1 PerfScore 24.75
+ ;; size=102 bbWeight=1 PerfScore 24.75
G_M64047_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 96
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 32.25, instruction count 40, allocated bytes for code 156 (MethodHash=611705d0) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
+; Total bytes of code 132, prolog size 10, PerfScore 32.25, instruction count 40, allocated bytes for code 132 (MethodHash=611705d0) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
; ============================================================
Unwind Info:
-18 (-11.11%) : 49164.dasm - System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
@@ -17,23 +17,22 @@ G_M36416_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
push rbp
sub rsp, 144
vzeroupper
- vmovaps xmmword ptr [rsp+0x80], xmm6
lea rbp, [rsp+0x90]
mov gword ptr [rbp+0x10], rcx
- ;; size=32 bbWeight=1 PerfScore 5.75
+ ;; size=23 bbWeight=1 PerfScore 3.75
G_M36416_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x70], ymm6
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x70], ymm0
mov rcx, 0xD1FFAB1E
xor edx, edx
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rbp-0x70]
- vmulpd ymm0, ymm6, ymmword ptr [rax]
+ vmovups ymm0, ymmword ptr [rbp-0x70]
+ vmulpd ymm0, ymm0, ymmword ptr [rax]
vmovups ymmword ptr [rbp-0x30], ymm0
vmovups ymm0, ymmword ptr [rbp-0x30]
vhaddpd ymm0, ymm0, ymmword ptr [rbp-0x30]
@@ -43,14 +42,13 @@ G_M36416_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
vaddpd ymm0, ymm0, ymmword ptr [rbp-0x50]
;; size=109 bbWeight=1 PerfScore 45.50
G_M36416_IG03: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x80]
vzeroupper
add rsp, 144
pop rbp
ret
- ;; size=21 bbWeight=1 PerfScore 6.75
+ ;; size=12 bbWeight=1 PerfScore 2.75
-; Total bytes of code 162, prolog size 28, PerfScore 58.00, instruction count 30, allocated bytes for code 162 (MethodHash=520671bf) for method System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
+; Total bytes of code 144, prolog size 19, PerfScore 52.00, instruction count 28, allocated bytes for code 144 (MethodHash=520671bf) for method System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
; ============================================================
Unwind Info:
@@ -58,13 +56,11 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x14
- CountOfUnwindCodes: 5
+ SizeOfProlog : 0x08
+ CountOfUnwindCodes: 3
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x14 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM6 (6)
- Scaled Small Offset: 8 * 16 = 128 = 0x00080
CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_LARGE (1) OpInfo: 0 - Scaled small
Size: 18 * 8 = 144 = 0x00090
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+9 (+16.36%) : 806.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
@@ -7,6 +7,7 @@
;
; V00 TypeCtx [V00 ] ( 1, 1 ) long -> [rbp+0x10] do-not-enreg[]
; V01 OutArgs [V01 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [rbp-0x10]
;
; Lcl frame size = 48
@@ -14,29 +15,32 @@ G_M53231_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
push rbp
sub rsp, 48
lea rbp, [rsp+0x30]
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
mov qword ptr [rbp-0x08], rcx
mov qword ptr [rbp+0x10], rcx
- ;; size=18 bbWeight=1 PerfScore 3.75
+ ;; size=24 bbWeight=1 PerfScore 5.00
G_M53231_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, qword ptr [rbp+0x10]
call CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[rax]
- mov rcx, rax
- ; byrRegs +[rcx]
+ mov bword ptr [rbp-0x10], rax
mov eax, 512
; byrRegs -[rax]
- mov r8d, 8
+ mov ecx, 8
xor edx, edx
- div edx:eax, r8d
+ div edx:eax, ecx
+ mov rcx, bword ptr [rbp-0x10]
+ ; byrRegs +[rcx]
mov dword ptr [rcx+0x08], eax
- ;; size=31 bbWeight=1 PerfScore 29.00
+ ;; size=34 bbWeight=1 PerfScore 30.75
G_M53231_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 48
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 55, prolog size 14, PerfScore 34.50, instruction count 16, allocated bytes for code 55 (MethodHash=b7083010) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
+; Total bytes of code 64, prolog size 20, PerfScore 37.50, instruction count 19, allocated bytes for code 64 (MethodHash=b7083010) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
; ============================================================
Unwind Info:
+15 (+20.00%) : 34644.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
@@ -8,54 +8,58 @@
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp+0x10] do-not-enreg[] this class-hnd <System.Collections.Queue>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x08]
;
-; Lcl frame size = 32
+; Lcl frame size = 48
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ sub rsp, 48
+ lea rbp, [rsp+0x30]
+ xor eax, eax
+ mov qword ptr [rbp-0x08], rax
mov gword ptr [rbp+0x10], rcx
mov dword ptr [rbp+0x18], edx
- ;; size=17 bbWeight=1 PerfScore 3.75
+ ;; size=23 bbWeight=1 PerfScore 5.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rbp+0x10]
; gcrRegs +[rax]
- mov rcx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x08], rax
+ mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
- mov rax, gword ptr [rbp+0x10]
- mov eax, dword ptr [rax+0x10]
+ mov ecx, dword ptr [rcx+0x10]
+ ; gcrRegs -[rcx]
+ mov eax, ecx
; gcrRegs -[rax]
add eax, dword ptr [rbp+0x18]
- mov rdx, gword ptr [rbp+0x10]
- ; gcrRegs +[rdx]
- mov r8, gword ptr [rdx+0x08]
- ; gcrRegs +[r8]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ mov rcx, gword ptr [rcx+0x08]
cdq
- ; gcrRegs -[rdx]
- idiv edx:eax, dword ptr [r8+0x08]
+ idiv edx:eax, dword ptr [rcx+0x08]
+ mov rcx, gword ptr [rbp-0x08]
cmp edx, dword ptr [rcx+0x08]
jae SHORT G_M41139_IG04
mov eax, edx
- lea rcx, bword ptr [rcx+8*rax+0x10]
- ; gcrRegs -[rcx]
- ; byrRegs +[rcx]
- mov rax, gword ptr [rcx]
+ lea rax, bword ptr [rcx+8*rax+0x10]
+ ; byrRegs +[rax]
+ mov rax, gword ptr [rax]
; gcrRegs +[rax]
- ;; size=46 bbWeight=1 PerfScore 43.75
+ ; byrRegs -[rax]
+ ;; size=55 bbWeight=1 PerfScore 46.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 32
+ add rsp, 48
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
G_M41139_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[rax r8]
- ; byrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 75, prolog size 10, PerfScore 49.25, instruction count 24, allocated bytes for code 75 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
+; Total bytes of code 90, prolog size 16, PerfScore 52.75, instruction count 29, allocated bytes for code 90 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
; ============================================================
Unwind Info:
@@ -68,5 +72,5 @@ Unwind Info:
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 3 * 8 + 8 = 32 = 0x20
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 38455.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Tier0)
@@ -8,40 +8,45 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x10], rdx
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov qword ptr [rbp-0x08], rdx
mov bword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x18], rdx
- ;; size=23 bbWeight=1 PerfScore 5.75
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, bword ptr [rbp+0x10]
- ; byrRegs +[rcx]
- mov rbx, gword ptr [rcx]
- ; gcrRegs +[rbx]
- mov rcx, qword ptr [rbp+0x18]
- ; byrRegs -[rcx]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp+0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x10], rax
+ mov rcx, qword ptr [rbp+0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 40
- pop rbx
+ add rsp, 48
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
coreclr_tests.run.windows.x64.checked.mch
-24 (-15.38%) : 224337.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
@@ -30,44 +30,44 @@ G_M64047_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=24 bbWeight=1 PerfScore 5.75
G_M64047_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor r8d, r8d
- mov dword ptr [rbp-0x08], r8d
- mov r8d, dword ptr [rbp+0x28]
- movzx r8, r8b
- mov dword ptr [rsp+0x20], r8d
- mov r8d, dword ptr [rbp+0x30]
- movzx r8, r8b
- mov dword ptr [rsp+0x28], r8d
- mov r8d, dword ptr [rbp+0x38]
- movzx r8, r8b
- mov dword ptr [rsp+0x30], r8d
- mov r8d, dword ptr [rbp+0x40]
- movzx r8, r8b
- mov dword ptr [rsp+0x38], r8d
- mov r8d, dword ptr [rbp+0x48]
- movzx r8, r8b
- mov dword ptr [rsp+0x40], r8d
- mov r8d, dword ptr [rbp+0x50]
- movzx r8, r8b
- mov dword ptr [rsp+0x48], r8d
- mov r8d, dword ptr [rbp+0x58]
- movzx r8, r8b
- mov dword ptr [rsp+0x50], r8d
- mov r8d, dword ptr [rbp+0x18]
- movzx r8, r8b
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ mov eax, dword ptr [rbp+0x28]
+ movzx rax, al
+ mov dword ptr [rsp+0x20], eax
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rsp+0x30], eax
+ mov eax, dword ptr [rbp+0x40]
+ movzx rax, al
+ mov dword ptr [rsp+0x38], eax
+ mov eax, dword ptr [rbp+0x48]
+ movzx rax, al
+ mov dword ptr [rsp+0x40], eax
+ mov eax, dword ptr [rbp+0x50]
+ movzx rax, al
+ mov dword ptr [rsp+0x48], eax
+ mov eax, dword ptr [rbp+0x58]
+ movzx rax, al
+ mov dword ptr [rsp+0x50], eax
+ mov eax, dword ptr [rbp+0x18]
+ movzx r8, al
lea rcx, [rbp-0x08]
mov edx, dword ptr [rbp+0x10]
mov r9d, dword ptr [rbp+0x20]
call [<unknown method>]
mov eax, dword ptr [rbp-0x08]
- ;; size=126 bbWeight=1 PerfScore 24.75
+ ;; size=102 bbWeight=1 PerfScore 24.75
G_M64047_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 96
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 32.25, instruction count 40, allocated bytes for code 156 (MethodHash=611705d0) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
+; Total bytes of code 132, prolog size 10, PerfScore 32.25, instruction count 40, allocated bytes for code 132 (MethodHash=611705d0) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
; ============================================================
Unwind Info:
-27 (-12.68%) : 285338.dasm - Performance_2700:TestEntryPoint():int (Tier0)
@@ -16,24 +16,23 @@ G_M50724_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
push rbp
sub rsp, 144
vzeroupper
- vmovaps xmmword ptr [rsp+0x80], xmm6
lea rbp, [rsp+0x90]
vxorps xmm4, xmm4, xmm4
vmovdqu ymmword ptr [rbp-0x30], ymm4
- ;; size=37 bbWeight=1 PerfScore 7.08
+ ;; size=28 bbWeight=1 PerfScore 5.08
G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rcx, 0xD1FFAB1E
mov edx, 1
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rcx]
- vmovups ymmword ptr [rbp-0x70], ymm6
+ mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ vmovups ymm0, ymmword ptr [rax]
+ vmovups ymmword ptr [rbp-0x70], ymm0
mov rcx, 0xD1FFAB1E
mov edx, 1
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- vmovups ymm6, ymmword ptr [rbp-0x70]
- vmulps ymm0, ymm6, ymmword ptr [rax]
+ vmovups ymm0, ymmword ptr [rbp-0x70]
+ vmulps ymm0, ymm0, ymmword ptr [rax]
vmovups ymmword ptr [rbp-0x30], ymm0
vxorps ymm0, ymm0, ymm0
vmovups ymmword ptr [rbp-0x50], ymm0
@@ -46,26 +45,24 @@ G_M50724_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
xor eax, eax
;; size=129 bbWeight=1 PerfScore 36.08
G_M50724_IG03: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x80]
vzeroupper
add rsp, 144
pop rbp
ret
- ;; size=21 bbWeight=1 PerfScore 6.75
+ ;; size=12 bbWeight=1 PerfScore 2.75
G_M50724_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov eax, 100
;; size=5 bbWeight=1 PerfScore 0.25
G_M50724_IG05: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x80]
vzeroupper
add rsp, 144
pop rbp
ret
- ;; size=21 bbWeight=1 PerfScore 6.75
+ ;; size=12 bbWeight=1 PerfScore 2.75
RWD00 dq 4000000040000000h, 4000000040000000h, 4000000040000000h, 4000000040000000h
-; Total bytes of code 213, prolog size 37, PerfScore 56.92, instruction count 40, allocated bytes for code 215 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
+; Total bytes of code 186, prolog size 28, PerfScore 46.92, instruction count 37, allocated bytes for code 188 (MethodHash=6b3739db) for method Performance_2700:TestEntryPoint():int (Tier0)
; ============================================================
Unwind Info:
@@ -73,13 +70,11 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x14
- CountOfUnwindCodes: 5
+ SizeOfProlog : 0x08
+ CountOfUnwindCodes: 3
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x14 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM6 (6)
- Scaled Small Offset: 8 * 16 = 128 = 0x00080
CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_LARGE (1) OpInfo: 0 - Scaled small
Size: 18 * 8 = 144 = 0x00090
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
-20 (-12.58%) : 74392.dasm - CompareVectorWithZero:TestEqualityUsingReversedInputsint (Tier0)
@@ -6,61 +6,61 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[]
-; V01 loc0 [V01 ] ( 1, 1 ) int -> [rbp-0x24] do-not-enreg[] must-init ld-addr-op
+; V01 loc0 [V01 ] ( 1, 1 ) int -> [rbp-0x04] do-not-enreg[] must-init ld-addr-op
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 simd64 -> [rbp-0x64]
+; TEMP_01 int -> [rbp-0x08]
+; TEMP_02 simd64 -> [rbp-0x48]
;
-; Lcl frame size = 136
+; Lcl frame size = 112
G_M45123_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 136
+ sub rsp, 112
vzeroupper
- vmovaps xmmword ptr [rsp+0x70], xmm6
- lea rbp, [rsp+0x90]
+ lea rbp, [rsp+0x70]
xor eax, eax
- mov dword ptr [rbp-0x24], eax
+ mov dword ptr [rbp-0x04], eax
mov bword ptr [rbp+0x10], rcx
- ;; size=35 bbWeight=1 PerfScore 8.00
+ ;; size=22 bbWeight=1 PerfScore 5.00
G_M45123_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov dword ptr [rbp-0x24], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x04], eax
+ mov rax, bword ptr [rbp+0x10]
+ ; byrRegs +[rax]
+ vxorps ymm0, ymm0, ymm0
+ vpcmpeqd k1, zmm0, zmmword ptr [rax]
+ kortestw k1, k1
+ setb al
+ ; byrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x08], eax
mov rcx, bword ptr [rbp+0x10]
; byrRegs +[rcx]
- vxorps ymm0, ymm0, ymm0
- vpcmpeqd k1, zmm0, zmmword ptr [rcx]
- kortestw k1, k1
- setb bl
- movzx rbx, bl
- mov rcx, bword ptr [rbp+0x10]
- vmovups zmm6, zmmword ptr [rcx]
- vmovups zmmword ptr [rbp-0x64], zmm6
- mov ecx, dword ptr [rbp-0x24]
+ vmovups zmm0, zmmword ptr [rcx]
+ vmovups zmmword ptr [rbp-0x48], zmm0
+ mov ecx, dword ptr [rbp-0x04]
; byrRegs -[rcx]
call [<unknown method>]
vpbroadcastd zmm0, eax
- vmovups zmm6, zmmword ptr [rbp-0x64]
- vpcmpeqd k1, zmm6, zmm0
+ vmovups zmm1, zmmword ptr [rbp-0x48]
+ vpcmpeqd k1, zmm1, zmm0
kortestw k1, k1
- setb cl
- movzx rcx, cl
- cmp ebx, ecx
+ setb al
+ movzx rax, al
+ xor ecx, ecx
+ cmp dword ptr [rbp-0x08], eax
sete cl
- movzx rcx, cl
call [<unknown method>]
nop
- ;; size=105 bbWeight=1 PerfScore 30.33
+ ;; size=108 bbWeight=1 PerfScore 33.08
G_M45123_IG03: ; bbWeight=1, epilog, nogc, extend
- vmovaps xmm6, xmmword ptr [rsp+0x70]
vzeroupper
- add rsp, 136
- pop rbx
+ add rsp, 112
pop rbp
ret
- ;; size=19 bbWeight=1 PerfScore 7.25
+ ;; size=9 bbWeight=1 PerfScore 2.75
-; Total bytes of code 159, prolog size 31, PerfScore 45.58, instruction count 39, allocated bytes for code 163 (MethodHash=d3254fbc) for method CompareVectorWithZero:TestEqualityUsingReversedInputs[int](System.Runtime.Intrinsics.Vector512`1[int]) (Tier0)
+; Total bytes of code 139, prolog size 18, PerfScore 40.83, instruction count 36, allocated bytes for code 143 (MethodHash=d3254fbc) for method CompareVectorWithZero:TestEqualityUsingReversedInputs[int](System.Runtime.Intrinsics.Vector512`1[int]) (Tier0)
; ============================================================
Unwind Info:
@@ -68,14 +68,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x12
- CountOfUnwindCodes: 6
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x12 UnwindOp: UWOP_SAVE_XMM128 (8) OpInfo: XMM6 (6)
- Scaled Small Offset: 7 * 16 = 112 = 0x00070
- CodeOffset: 0x09 UnwindOp: UWOP_ALLOC_LARGE (1) OpInfo: 0 - Scaled small
- Size: 17 * 8 = 136 = 0x00088
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 13 * 8 + 8 = 112 = 0x70
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+14 (+43.75%) : 284997.dasm - TestGitHub22556:Add(TestGitHub22556,int):int (Tier0)
@@ -8,31 +8,35 @@
; V00 arg0 [V00 ] ( 1, 1 ) ref -> [rbp+0x10] do-not-enreg[] class-hnd <Test_GitHub_22556>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp+0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 int -> [rbp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M12822_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- mov rbp, rsp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
mov gword ptr [rbp+0x10], rcx
mov dword ptr [rbp+0x18], edx
- ;; size=11 bbWeight=1 PerfScore 3.25
+ ;; size=17 bbWeight=1 PerfScore 3.75
G_M12822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, gword ptr [rbp+0x10]
; gcrRegs +[rax]
- mov ecx, dword ptr [rax+0x08]
- mov eax, 1
+ mov eax, dword ptr [rax+0x08]
; gcrRegs -[rax]
+ mov dword ptr [rbp-0x04], eax
+ mov eax, 1
xor edx, edx
idiv edx:eax, dword ptr [rbp+0x18]
- add eax, ecx
- ;; size=19 bbWeight=1 PerfScore 28.75
+ add eax, dword ptr [rbp-0x04]
+ ;; size=23 bbWeight=1 PerfScore 31.50
G_M12822_IG03: ; bbWeight=1, epilog, nogc, extend
+ add rsp, 16
pop rbp
ret
- ;; size=2 bbWeight=1 PerfScore 1.50
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 32, prolog size 4, PerfScore 33.50, instruction count 12, allocated bytes for code 32 (MethodHash=dc14cde9) for method Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
+; Total bytes of code 46, prolog size 10, PerfScore 37.00, instruction count 15, allocated bytes for code 46 (MethodHash=dc14cde9) for method Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
; ============================================================
Unwind Info:
@@ -40,9 +44,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x01
- CountOfUnwindCodes: 1
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+14 (+43.75%) : 285137.dasm - TestGitHub27027:Run(TestGitHub27027,int):int (Tier0)
@@ -8,31 +8,35 @@
; V00 arg0 [V00 ] ( 1, 1 ) ref -> [rbp+0x10] do-not-enreg[] class-hnd <Test_GitHub_27027>
; V01 arg1 [V01 ] ( 1, 1 ) int -> [rbp+0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 int -> [rbp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M51774_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- mov rbp, rsp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
mov gword ptr [rbp+0x10], rcx
mov dword ptr [rbp+0x18], edx
- ;; size=11 bbWeight=1 PerfScore 3.25
+ ;; size=17 bbWeight=1 PerfScore 3.75
G_M51774_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, gword ptr [rbp+0x10]
; gcrRegs +[rax]
- mov ecx, dword ptr [rax+0x08]
- mov eax, 1
+ mov eax, dword ptr [rax+0x08]
; gcrRegs -[rax]
+ mov dword ptr [rbp-0x04], eax
+ mov eax, 1
xor edx, edx
idiv edx:eax, dword ptr [rbp+0x18]
- add eax, ecx
- ;; size=19 bbWeight=1 PerfScore 28.75
+ add eax, dword ptr [rbp-0x04]
+ ;; size=23 bbWeight=1 PerfScore 31.50
G_M51774_IG03: ; bbWeight=1, epilog, nogc, extend
+ add rsp, 16
pop rbp
ret
- ;; size=2 bbWeight=1 PerfScore 1.50
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 32, prolog size 4, PerfScore 33.50, instruction count 12, allocated bytes for code 32 (MethodHash=380735c1) for method Test_GitHub_27027:Run(Test_GitHub_27027,int):int (Tier0)
+; Total bytes of code 46, prolog size 10, PerfScore 37.00, instruction count 15, allocated bytes for code 46 (MethodHash=380735c1) for method Test_GitHub_27027:Run(Test_GitHub_27027,int):int (Tier0)
; ============================================================
Unwind Info:
@@ -40,9 +44,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x01
- CountOfUnwindCodes: 1
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+44.44%) : 200549.dasm - ModConst:I4Mod0(int):int (Tier0)
@@ -7,29 +7,33 @@
;
; V00 arg0 [V00 ] ( 1, 1 ) int -> [rbp+0x10] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 int -> [rbp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M32851_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- mov rbp, rsp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
mov dword ptr [rbp+0x10], ecx
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=13 bbWeight=1 PerfScore 2.75
G_M32851_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov ecx, dword ptr [rbp+0x10]
mov eax, dword ptr [rbp+0x10]
- xor r8d, r8d
+ mov dword ptr [rbp-0x04], eax
+ mov eax, dword ptr [rbp+0x10]
+ xor ecx, ecx
cdq
- idiv edx:eax, r8d
- mov eax, ecx
+ idiv edx:eax, ecx
+ mov eax, dword ptr [rbp-0x04]
sub eax, 0
- ;; size=18 bbWeight=1 PerfScore 28.25
+ ;; size=20 bbWeight=1 PerfScore 30.00
G_M32851_IG03: ; bbWeight=1, epilog, nogc, extend
+ add rsp, 16
pop rbp
ret
- ;; size=2 bbWeight=1 PerfScore 1.50
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 27, prolog size 4, PerfScore 32.00, instruction count 12, allocated bytes for code 27 (MethodHash=c49f7fac) for method ModConst:I4_Mod_0(int):int (Tier0)
+; Total bytes of code 39, prolog size 10, PerfScore 34.50, instruction count 15, allocated bytes for code 39 (MethodHash=c49f7fac) for method ModConst:I4_Mod_0(int):int (Tier0)
; ============================================================
Unwind Info:
@@ -37,9 +41,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x01
- CountOfUnwindCodes: 1
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 1 * 8 + 8 = 16 = 0x10
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
libraries.crossgen2.windows.x64.checked.mch
-2 (-1.79%) : 20331.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -27,24 +27,24 @@ G_M28342_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea rcx, [rbp+0x18]
call [<unknown method>]
- cvttsd2si rcx, xmm0
- mov qword ptr [rbp-0x08], rcx
- mov ecx, -1
- movsxd rcx, ecx
- cmp qword ptr [rbp-0x08], rcx
+ cvttsd2si rax, xmm0
+ mov qword ptr [rbp-0x08], rax
+ mov eax, -1
+ cdqe
+ cmp qword ptr [rbp-0x08], rax
jl SHORT G_M28342_IG03
- mov ecx, 0xD1FFAB1E
- movsxd rcx, ecx
- cmp qword ptr [rbp-0x08], rcx
+ mov eax, 0xD1FFAB1E
+ cdqe
+ cmp qword ptr [rbp-0x08], rax
jle SHORT G_M28342_IG04
- ;; size=47 bbWeight=1 PerfScore 17.50
+ ;; size=45 bbWeight=1 PerfScore 17.50
G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov ecx, 62
call [<unknown method>]
;; size=11 bbWeight=1 PerfScore 3.25
G_M28342_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov gword ptr [rbp-0x10], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x10], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov edx, dword ptr [rbp-0x08]
@@ -60,7 +60,7 @@ G_M28342_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 112, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 112 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
+; Total bytes of code 110, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 110 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
; ============================================================
Unwind Info:
-2 (-1.79%) : 20336.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -27,24 +27,24 @@ G_M50957_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea rcx, [rbp+0x18]
call [<unknown method>]
- cvttsd2si rcx, xmm0
- mov qword ptr [rbp-0x08], rcx
- mov ecx, -1
- movsxd rcx, ecx
- cmp qword ptr [rbp-0x08], rcx
+ cvttsd2si rax, xmm0
+ mov qword ptr [rbp-0x08], rax
+ mov eax, -1
+ cdqe
+ cmp qword ptr [rbp-0x08], rax
jl SHORT G_M50957_IG03
- mov ecx, 0xD1FFAB1E
- movsxd rcx, ecx
- cmp qword ptr [rbp-0x08], rcx
+ mov eax, 0xD1FFAB1E
+ cdqe
+ cmp qword ptr [rbp-0x08], rax
jle SHORT G_M50957_IG04
- ;; size=47 bbWeight=1 PerfScore 17.50
+ ;; size=45 bbWeight=1 PerfScore 17.50
G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov ecx, 62
call [<unknown method>]
;; size=11 bbWeight=1 PerfScore 3.25
G_M50957_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov gword ptr [rbp-0x10], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x10], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov edx, dword ptr [rbp-0x08]
@@ -60,7 +60,7 @@ G_M50957_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 112, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 112 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
+; Total bytes of code 110, prolog size 16, PerfScore 35.00, instruction count 31, allocated bytes for code 110 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
; ============================================================
Unwind Info:
+0 (0.00%) : 34321.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
@@ -26,8 +26,8 @@ G_M56207_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
mov dword ptr [rbp-0x04], eax
mov ecx, dword ptr [rbp-0x04]
- mov rdx, qword ptr [(reloc)] ; const ptr
- mov rdx, gword ptr [rdx]
+ mov rax, qword ptr [(reloc)] ; const ptr
+ mov rdx, gword ptr [rax]
; gcrRegs +[rdx]
call [<unknown method>]
; gcrRegs -[rdx]
+0 (0.00%) : 20335.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -24,8 +24,8 @@ G_M30483_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp+0x10], rcx
;; size=20 bbWeight=1 PerfScore 4.00
G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- xor ecx, ecx
- mov gword ptr [rbp-0x10], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x10], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov r8, gword ptr [rbp-0x10]
@@ -34,23 +34,23 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rcx r8]
mov dword ptr [rbp-0x04], eax
- mov rdx, gword ptr [rbp+0x10]
- ; gcrRegs +[rdx]
- cmp dword ptr [rdx+0x08], 0
+ mov rax, gword ptr [rbp+0x10]
+ ; gcrRegs +[rax]
+ cmp dword ptr [rax+0x08], 0
je SHORT G_M30483_IG03
- xor edx, edx
- ; gcrRegs -[rdx]
+ xor eax, eax
+ ; gcrRegs -[rax]
cmp dword ptr [rbp-0x04], -1
- setne dl
- mov dword ptr [rbp-0x14], edx
+ setne al
+ mov dword ptr [rbp-0x14], eax
jmp SHORT G_M30483_IG04
;; size=52 bbWeight=1 PerfScore 18.75
G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov dword ptr [rbp-0x14], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdx, qword ptr [(reloc)] ; const ptr
- mov rdx, gword ptr [rdx]
+ mov rax, qword ptr [(reloc)] ; const ptr
+ mov rdx, gword ptr [rax]
; gcrRegs +[rdx]
mov ecx, dword ptr [rbp-0x14]
call [<unknown method>]
+0 (0.00%) : 20332.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],int):ubyte (MinOpts)
@@ -24,8 +24,8 @@ G_M4887_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x18], edx
;; size=23 bbWeight=1 PerfScore 5.00
G_M4887_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov gword ptr [rbp-0x08], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x08], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov edx, dword ptr [rbp+0x18]
+2 (+1.28%) : 158139.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -50,10 +50,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
call [<unknown method>]
; byrRegs -[rcx]
mov dword ptr [rbp-0x04], eax
- xor ecx, ecx
- mov dword ptr [rbp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.50
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -62,26 +62,28 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
; byrRegs -[rcx] +[rax]
- movzx rcx, byte ptr [rax]
- mov dword ptr [rbp-0x14], ecx
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x14], eax
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
- ; byrRegs -[rcx]
+ ; byrRegs -[rcx] +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x14]
sub ecx, eax
- or ecx, dword ptr [rbp-0x08]
- mov dword ptr [rbp-0x08], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x08]
+ mov dword ptr [rbp-0x08], eax
mov eax, dword ptr [rbp-0x0C]
inc eax
mov dword ptr [rbp-0x0C], eax
- ;; size=54 bbWeight=1 PerfScore 21.50
+ ;; size=56 bbWeight=1 PerfScore 21.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp-0x0C]
- cmp ecx, dword ptr [rbp-0x04]
+ mov eax, dword ptr [rbp-0x0C]
+ cmp eax, dword ptr [rbp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x08], 0
@@ -93,7 +95,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 57.75, instruction count 49, allocated bytes for code 156 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 158, prolog size 10, PerfScore 58.00, instruction count 50, allocated bytes for code 158 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
libraries.pmi.windows.x64.checked.mch
+0 (0.00%) : 3856.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
@@ -1340,33 +1340,33 @@ G_M12913_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x08], rax
cmp gword ptr [rbp-0x08], 0
je SHORT G_M12913_IG05
- mov r8, gword ptr [rbp-0x08]
- ; gcrRegs +[r8]
- mov r8, gword ptr [r8+0x08]
- mov gword ptr [rbp-0x10], r8
+ mov rax, gword ptr [rbp-0x08]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x10], rax
;; size=33 bbWeight=1 PerfScore 12.00
G_M12913_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax r8]
- mov r8, gword ptr [rbp+0x10]
+ ; gcrRegs -[rax]
+ mov rax, gword ptr [rbp+0x10]
+ ; gcrRegs +[rax]
+ mov r8, gword ptr [rax+0x08]
; gcrRegs +[r8]
- mov r8, gword ptr [r8+0x08]
mov rdx, gword ptr [rbp-0x10]
; gcrRegs +[rdx]
mov rcx, 0xD1FFAB1E ; <unknown method>
call [<unknown method>]
- ; gcrRegs -[rdx r8] +[rax]
+ ; gcrRegs -[rdx r8]
; gcr arg pop 0
mov gword ptr [rbp-0x18], rax
;; size=32 bbWeight=1 PerfScore 8.25
G_M12913_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
- mov rcx, gword ptr [rbp-0x18]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x13C0], rcx
+ mov rax, gword ptr [rbp-0x18]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x13C0], rax
jmp G_M12913_IG767
;; size=16 bbWeight=1 PerfScore 4.00
G_M12913_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax]
mov rcx, gword ptr [rbp+0x18]
; gcrRegs +[rcx]
call [<unknown method>]
@@ -1375,16 +1375,16 @@ G_M12913_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x40], rax
cmp gword ptr [rbp-0x40], 0
je SHORT G_M12913_IG06
- mov rcx, gword ptr [rbp-0x40]
+ mov rax, gword ptr [rbp-0x40]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x48], rax
- mov rcx, gword ptr [rbp-0x40]
+ mov rax, gword ptr [rbp-0x40]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
@@ -1425,16 +1425,16 @@ G_M12913_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x58], rax
cmp gword ptr [rbp-0x58], 0
je SHORT G_M12913_IG07
- mov rcx, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x58]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x48], rax
- mov rcx, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x58]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
@@ -1475,16 +1475,16 @@ G_M12913_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x60], rax
cmp gword ptr [rbp-0x60], 0
je SHORT G_M12913_IG08
- mov rcx, gword ptr [rbp-0x60]
+ mov rax, gword ptr [rbp-0x60]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x68], rax
- mov rcx, gword ptr [rbp-0x60]
+ mov rax, gword ptr [rbp-0x60]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
@@ -1519,9 +1519,9 @@ G_M12913_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x78], rax
cmp gword ptr [rbp-0x78], 0
je G_M12913_IG14
- mov rcx, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x78]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
@@ -1538,47 +1538,45 @@ G_M12913_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp-0x80], rax
cmp gword ptr [rbp-0x80], 0
je SHORT G_M12913_IG09
- mov rcx, gword ptr [rbp-0x80]
- ; gcrRegs +[rcx]
- cmp dword ptr [rcx+0x08], 1
- sete cl
- ; gcrRegs -[rcx]
- movzx rcx, cl
- mov dword ptr [rbp-0x136C], ecx
+ mov rax, gword ptr [rbp-0x80]
+ cmp dword ptr [rax+0x08], 1
+ sete al
+ ; gcrRegs -[rax]
+ movzx rax, al
+ mov dword ptr [rbp-0x136C], eax
jmp SHORT G_M12913_IG10
;; size=134 bbWeight=1 PerfScore 46.25
G_M12913_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax]
- xor ecx, ecx
- mov dword ptr [rbp-0x136C], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x136C], eax
;; size=8 bbWeight=1 PerfScore 1.25
G_M12913_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [rbp-0x136C], 0
je G_M12913_IG13
- mov rcx, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x78]
+ ; gcrRegs +[rax]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
- ; gcrRegs -[rcx] +[rax]
+ ; gcrRegs -[rcx]
; gcr arg pop 0
cmp gword ptr [rax+0x10], 0
je G_M12913_IG12
- mov rcx, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x78]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x88], rax
- mov rcx, gword ptr [rbp-0x88]
- ; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x10]
- cmp gword ptr [rcx+0x10], 0
+ mov rax, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rax+0x10]
+ cmp gword ptr [rax+0x10], 0
jne SHORT G_M12913_IG11
jmp G_M12913_IG15
;; size=82 bbWeight=1 PerfScore 29.00
G_M12913_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax rcx]
+ ; gcrRegs -[rax]
mov rcx, gword ptr [rbp+0x18]
; gcrRegs +[rcx]
call [<unknown method>]
@@ -1587,27 +1585,26 @@ G_M12913_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov gword ptr [rbp-0x90], rax
cmp gword ptr [rbp-0x90], 0
je G_M12913_IG19
- mov rcx, gword ptr [rbp-0x90]
+ mov rax, gword ptr [rbp-0x90]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x1388], rax
- mov rcx, gword ptr [rbp-0x90]
+ mov rax, gword ptr [rbp-0x90]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x70], rax
- mov rcx, gword ptr [rbp-0x1388]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x48], rcx
+ mov rax, gword ptr [rbp-0x1388]
+ mov gword ptr [rbp-0x48], rax
jmp G_M12913_IG16
;; size=92 bbWeight=1 PerfScore 26.00
G_M12913_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rax rcx]
+ ; gcrRegs -[rax]
mov rcx, gword ptr [rbp+0x18]
; gcrRegs +[rcx]
call [<unknown method>]
@@ -1616,27 +1613,26 @@ G_M12913_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov gword ptr [rbp-0x90], rax
cmp gword ptr [rbp-0x90], 0
je G_M12913_IG19
- mov rcx, gword ptr [rbp-0x90]
+ mov rax, gword ptr [rbp-0x90]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x1380], rax
- mov rcx, gword ptr [rbp-0x90]
+ mov rax, gword ptr [rbp-0x90]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x70], rax
- mov rcx, gword ptr [rbp-0x1380]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x48], rcx
+ mov rax, gword ptr [rbp-0x1380]
+ mov gword ptr [rbp-0x48], rax
jmp G_M12913_IG16
...
+2 (+1.28%) : 239225.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -48,10 +48,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
call [<unknown method>]
; byrRegs -[rcx]
mov dword ptr [rbp-0x04], eax
- xor ecx, ecx
- mov dword ptr [rbp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.50
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -60,26 +60,28 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
; byrRegs -[rcx] +[rax]
- movzx rcx, byte ptr [rax]
- mov dword ptr [rbp-0x14], ecx
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x14], eax
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
- ; byrRegs -[rcx]
+ ; byrRegs -[rcx] +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x14]
sub ecx, eax
- or ecx, dword ptr [rbp-0x08]
- mov dword ptr [rbp-0x08], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x08]
+ mov dword ptr [rbp-0x08], eax
mov eax, dword ptr [rbp-0x0C]
inc eax
mov dword ptr [rbp-0x0C], eax
- ;; size=54 bbWeight=1 PerfScore 21.50
+ ;; size=56 bbWeight=1 PerfScore 21.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp-0x0C]
- cmp ecx, dword ptr [rbp-0x04]
+ mov eax, dword ptr [rbp-0x0C]
+ cmp eax, dword ptr [rbp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x08], 0
@@ -91,7 +93,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 57.75, instruction count 49, allocated bytes for code 156 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 158, prolog size 10, PerfScore 58.00, instruction count 50, allocated bytes for code 158 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
libraries_tests.run.windows.x64.Release.mch
-27 (-15.98%) : 40765.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Instrumented Tier0)
@@ -31,47 +31,47 @@ G_M6520_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=24 bbWeight=1 PerfScore 5.75
G_M6520_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor r8d, r8d
- mov dword ptr [rbp-0x08], r8d
- mov r8d, dword ptr [rbp+0x28]
- movzx r8, r8b
- mov dword ptr [rsp+0x20], r8d
- mov r8d, dword ptr [rbp+0x30]
- movzx r8, r8b
- mov dword ptr [rsp+0x28], r8d
- mov r8d, dword ptr [rbp+0x38]
- movzx r8, r8b
- mov dword ptr [rsp+0x30], r8d
- mov r8d, dword ptr [rbp+0x40]
- movzx r8, r8b
- mov dword ptr [rsp+0x38], r8d
- mov r8d, dword ptr [rbp+0x48]
- movzx r8, r8b
- mov dword ptr [rsp+0x40], r8d
- mov r8d, dword ptr [rbp+0x50]
- movzx r8, r8b
- mov dword ptr [rsp+0x48], r8d
- mov r8d, dword ptr [rbp+0x58]
- movzx r8, r8b
- mov dword ptr [rsp+0x50], r8d
- mov r8d, dword ptr [rbp+0x60]
- movzx r8, r8b
- mov dword ptr [rsp+0x58], r8d
- mov r8d, dword ptr [rbp+0x18]
- movzx r8, r8b
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ mov eax, dword ptr [rbp+0x28]
+ movzx rax, al
+ mov dword ptr [rsp+0x20], eax
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rsp+0x30], eax
+ mov eax, dword ptr [rbp+0x40]
+ movzx rax, al
+ mov dword ptr [rsp+0x38], eax
+ mov eax, dword ptr [rbp+0x48]
+ movzx rax, al
+ mov dword ptr [rsp+0x40], eax
+ mov eax, dword ptr [rbp+0x50]
+ movzx rax, al
+ mov dword ptr [rsp+0x48], eax
+ mov eax, dword ptr [rbp+0x58]
+ movzx rax, al
+ mov dword ptr [rsp+0x50], eax
+ mov eax, dword ptr [rbp+0x60]
+ movzx rax, al
+ mov dword ptr [rsp+0x58], eax
+ mov eax, dword ptr [rbp+0x18]
+ movzx r8, al
lea rcx, [rbp-0x08]
mov edx, dword ptr [rbp+0x10]
mov r9d, dword ptr [rbp+0x20]
call [<unknown method>]
mov eax, dword ptr [rbp-0x08]
- ;; size=139 bbWeight=1 PerfScore 27.00
+ ;; size=112 bbWeight=1 PerfScore 27.00
G_M6520_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 112
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 169, prolog size 10, PerfScore 34.50, instruction count 43, allocated bytes for code 169 (MethodHash=5889e687) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Instrumented Tier0)
+; Total bytes of code 142, prolog size 10, PerfScore 34.50, instruction count 43, allocated bytes for code 142 (MethodHash=5889e687) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Instrumented Tier0)
; ============================================================
Unwind Info:
-27 (-15.98%) : 40766.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags:.ctor(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):this (Instrumented Tier0)
@@ -31,34 +31,34 @@ G_M29974_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=25 bbWeight=1 PerfScore 5.75
G_M29974_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r8d, dword ptr [rbp+0x30]
- movzx r8, r8b
- mov dword ptr [rsp+0x20], r8d
- mov r8d, dword ptr [rbp+0x38]
- movzx r8, r8b
- mov dword ptr [rsp+0x28], r8d
- xor r8d, r8d
- mov dword ptr [rsp+0x30], r8d
- mov r8d, dword ptr [rbp+0x40]
- movzx r8, r8b
- mov dword ptr [rsp+0x38], r8d
- mov r8d, dword ptr [rbp+0x48]
- movzx r8, r8b
- mov dword ptr [rsp+0x40], r8d
- mov r8d, dword ptr [rbp+0x50]
- movzx r8, r8b
- mov dword ptr [rsp+0x48], r8d
- mov r8d, dword ptr [rbp+0x58]
- movzx r8, r8b
- mov dword ptr [rsp+0x50], r8d
- mov r8d, dword ptr [rbp+0x60]
- movzx r8, r8b
- mov dword ptr [rsp+0x58], r8d
- mov r8d, dword ptr [rbp+0x68]
- movzx r8, r8b
- mov dword ptr [rsp+0x60], r8d
- mov r8d, dword ptr [rbp+0x20]
- movzx r8, r8b
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rsp+0x20], eax
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rsp+0x28], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x30], eax
+ mov eax, dword ptr [rbp+0x40]
+ movzx rax, al
+ mov dword ptr [rsp+0x38], eax
+ mov eax, dword ptr [rbp+0x48]
+ movzx rax, al
+ mov dword ptr [rsp+0x40], eax
+ mov eax, dword ptr [rbp+0x50]
+ movzx rax, al
+ mov dword ptr [rsp+0x48], eax
+ mov eax, dword ptr [rbp+0x58]
+ movzx rax, al
+ mov dword ptr [rsp+0x50], eax
+ mov eax, dword ptr [rbp+0x60]
+ movzx rax, al
+ mov dword ptr [rsp+0x58], eax
+ mov eax, dword ptr [rbp+0x68]
+ movzx rax, al
+ mov dword ptr [rsp+0x60], eax
+ mov eax, dword ptr [rbp+0x20]
+ movzx r8, al
mov rcx, bword ptr [rbp+0x10]
; byrRegs +[rcx]
mov edx, dword ptr [rbp+0x18]
@@ -66,14 +66,14 @@ G_M29974_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; byrRegs -[rcx]
nop
- ;; size=138 bbWeight=1 PerfScore 26.75
+ ;; size=111 bbWeight=1 PerfScore 26.75
G_M29974_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 112
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 169, prolog size 10, PerfScore 34.25, instruction count 43, allocated bytes for code 169 (MethodHash=c69b8ae9) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags:.ctor(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):this (Instrumented Tier0)
+; Total bytes of code 142, prolog size 10, PerfScore 34.25, instruction count 43, allocated bytes for code 142 (MethodHash=c69b8ae9) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags:.ctor(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):this (Instrumented Tier0)
; ============================================================
Unwind Info:
-27 (-15.98%) : 20119.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
@@ -31,47 +31,47 @@ G_M6520_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x28], r9d
;; size=24 bbWeight=1 PerfScore 5.75
G_M6520_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor r8d, r8d
- mov dword ptr [rbp-0x08], r8d
- mov r8d, dword ptr [rbp+0x28]
- movzx r8, r8b
- mov dword ptr [rsp+0x20], r8d
- mov r8d, dword ptr [rbp+0x30]
- movzx r8, r8b
- mov dword ptr [rsp+0x28], r8d
- mov r8d, dword ptr [rbp+0x38]
- movzx r8, r8b
- mov dword ptr [rsp+0x30], r8d
- mov r8d, dword ptr [rbp+0x40]
- movzx r8, r8b
- mov dword ptr [rsp+0x38], r8d
- mov r8d, dword ptr [rbp+0x48]
- movzx r8, r8b
- mov dword ptr [rsp+0x40], r8d
- mov r8d, dword ptr [rbp+0x50]
- movzx r8, r8b
- mov dword ptr [rsp+0x48], r8d
- mov r8d, dword ptr [rbp+0x58]
- movzx r8, r8b
- mov dword ptr [rsp+0x50], r8d
- mov r8d, dword ptr [rbp+0x60]
- movzx r8, r8b
- mov dword ptr [rsp+0x58], r8d
- mov r8d, dword ptr [rbp+0x18]
- movzx r8, r8b
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ mov eax, dword ptr [rbp+0x28]
+ movzx rax, al
+ mov dword ptr [rsp+0x20], eax
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rsp+0x28], eax
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rsp+0x30], eax
+ mov eax, dword ptr [rbp+0x40]
+ movzx rax, al
+ mov dword ptr [rsp+0x38], eax
+ mov eax, dword ptr [rbp+0x48]
+ movzx rax, al
+ mov dword ptr [rsp+0x40], eax
+ mov eax, dword ptr [rbp+0x50]
+ movzx rax, al
+ mov dword ptr [rsp+0x48], eax
+ mov eax, dword ptr [rbp+0x58]
+ movzx rax, al
+ mov dword ptr [rsp+0x50], eax
+ mov eax, dword ptr [rbp+0x60]
+ movzx rax, al
+ mov dword ptr [rsp+0x58], eax
+ mov eax, dword ptr [rbp+0x18]
+ movzx r8, al
lea rcx, [rbp-0x08]
mov edx, dword ptr [rbp+0x10]
mov r9d, dword ptr [rbp+0x20]
call [<unknown method>]
mov eax, dword ptr [rbp-0x08]
- ;; size=139 bbWeight=1 PerfScore 27.00
+ ;; size=112 bbWeight=1 PerfScore 27.00
G_M6520_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 112
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 169, prolog size 10, PerfScore 34.50, instruction count 43, allocated bytes for code 169 (MethodHash=5889e687) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
+; Total bytes of code 142, prolog size 10, PerfScore 34.50, instruction count 43, allocated bytes for code 142 (MethodHash=5889e687) for method Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
; ============================================================
Unwind Info:
+12 (+21.43%) : 31890.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Instrumented Tier0)
@@ -8,40 +8,45 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x10], rdx
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov qword ptr [rbp-0x08], rdx
mov bword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x18], rdx
- ;; size=23 bbWeight=1 PerfScore 5.75
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, bword ptr [rbp+0x10]
- ; byrRegs +[rcx]
- mov rbx, gword ptr [rcx]
- ; gcrRegs +[rbx]
- mov rcx, qword ptr [rbp+0x18]
- ; byrRegs -[rcx]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp+0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x10], rax
+ mov rcx, qword ptr [rbp+0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 40
- pop rbx
+ add rsp, 48
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 147220.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Tier0)
@@ -8,40 +8,45 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x10], rdx
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov qword ptr [rbp-0x08], rdx
mov bword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x18], rdx
- ;; size=23 bbWeight=1 PerfScore 5.75
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, bword ptr [rbp+0x10]
- ; byrRegs +[rcx]
- mov rbx, gword ptr [rcx]
- ; gcrRegs +[rbx]
- mov rcx, qword ptr [rbp+0x18]
- ; byrRegs -[rcx]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp+0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x10], rax
+ mov rcx, qword ptr [rbp+0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 40
- pop rbx
+ add rsp, 48
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
+12 (+21.43%) : 152628.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System._Canon]:getIsInitialized():ubyte:this (Instrumented Tier0)
@@ -8,40 +8,45 @@
; V00 this [V00 ] ( 1, 1 ) byref -> [rbp+0x10] do-not-enreg[] this
; V01 TypeCtx [V01 ] ( 1, 1 ) long -> [rbp+0x18] do-not-enreg[]
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [rbp-0x10]
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M33715_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push rbp
- push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x10], rdx
+ xor eax, eax
+ mov qword ptr [rbp-0x10], rax
+ mov qword ptr [rbp-0x08], rdx
mov bword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x18], rdx
- ;; size=23 bbWeight=1 PerfScore 5.75
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M33715_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, bword ptr [rbp+0x10]
- ; byrRegs +[rcx]
- mov rbx, gword ptr [rcx]
- ; gcrRegs +[rbx]
- mov rcx, qword ptr [rbp+0x18]
- ; byrRegs -[rcx]
- call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ mov rax, bword ptr [rbp+0x10]
; byrRegs +[rax]
- cmp rbx, gword ptr [rax+0x08]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x10], rax
+ mov rcx, qword ptr [rbp+0x18]
+ call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, gword ptr [rbp-0x10]
+ ; gcrRegs +[rcx]
+ cmp rcx, gword ptr [rax+0x08]
setne al
; byrRegs -[rax]
movzx rax, al
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=34 bbWeight=1 PerfScore 11.25
G_M33715_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 40
- pop rbx
+ add rsp, 48
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.25
+ ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 56, prolog size 15, PerfScore 17.25, instruction count 18, allocated bytes for code 56 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
+; Total bytes of code 68, prolog size 20, PerfScore 19.00, instruction count 20, allocated bytes for code 68 (MethodHash=5f6b7c4c) for method Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -49,11 +54,10 @@ Unwind Info:
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Flags : 0x00
- SizeOfProlog : 0x06
- CountOfUnwindCodes: 3
+ SizeOfProlog : 0x05
+ CountOfUnwindCodes: 2
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
- CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28
- CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
+ CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
librariestestsnotieredcompilation.run.windows.x64.Release.mch
-38 (-4.69%) : 64372.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write105_Item(System.String,System.String,SerializationTypes.NamespaceTypeNameClashContainer,ubyte,ubyte):this (MinOpts)
@@ -66,16 +66,16 @@ G_M31680_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=5 bbWeight=0.50 PerfScore 0.50
G_M31680_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
nop
- xor ecx, ecx
+ xor eax, eax
cmp gword ptr [rbp+0x28], 0
- sete cl
- mov dword ptr [rbp-0x04], ecx
+ sete al
+ mov dword ptr [rbp-0x04], eax
cmp dword ptr [rbp-0x04], 0
je SHORT G_M31680_IG06
nop
- mov ecx, dword ptr [rbp+0x30]
- movzx rcx, cl
- mov dword ptr [rbp-0x08], ecx
+ mov eax, dword ptr [rbp+0x30]
+ movzx rax, al
+ mov dword ptr [rbp-0x08], eax
cmp dword ptr [rbp-0x08], 0
je SHORT G_M31680_IG05
mov rcx, gword ptr [rbp+0x10]
@@ -94,12 +94,12 @@ G_M31680_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
jmp G_M31680_IG19
;; size=6 bbWeight=1 PerfScore 2.25
G_M31680_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp+0x38]
- movzx rcx, cl
- test ecx, ecx
- sete cl
- movzx rcx, cl
- mov dword ptr [rbp-0x0C], ecx
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ test eax, eax
+ sete al
+ movzx rax, al
+ mov dword ptr [rbp-0x0C], eax
cmp dword ptr [rbp-0x0C], 0
je G_M31680_IG09
nop
@@ -110,18 +110,16 @@ G_M31680_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x68], rax
- mov rcx, gword ptr [rbp-0x68]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x18], rcx
+ mov rax, gword ptr [rbp-0x68]
+ mov gword ptr [rbp-0x18], rax
mov rcx, 0xD1FFAB1E ; SerializationTypes.NamespaceTypeNameClashContainer
- ; gcrRegs -[rcx]
call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
; gcr arg pop 0
mov gword ptr [rbp-0x70], rax
- mov rcx, gword ptr [rbp-0x18]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x78], rcx
+ mov rax, gword ptr [rbp-0x18]
+ mov gword ptr [rbp-0x78], rax
mov rcx, gword ptr [rbp-0x70]
+ ; gcrRegs +[rcx]
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
@@ -134,9 +132,9 @@ G_M31680_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rax rcx rdx]
; gcr arg pop 0
mov dword ptr [rbp-0x84], eax
- mov ecx, dword ptr [rbp-0x84]
- movzx rcx, cl
- mov dword ptr [rbp-0x1C], ecx
+ mov eax, dword ptr [rbp-0x84]
+ movzx rax, al
+ mov dword ptr [rbp-0x1C], eax
cmp dword ptr [rbp-0x1C], 0
je SHORT G_M31680_IG07
nop
@@ -164,13 +162,14 @@ G_M31680_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M31680_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- xor ecx, ecx
- mov dword ptr [rsp+0x20], ecx
- xor rcx, rcx
- ; gcrRegs +[rcx]
- mov gword ptr [rsp+0x28], rcx
+ xor eax, eax
+ mov dword ptr [rsp+0x20], eax
+ xor rax, rax
+ ; gcrRegs +[rax]
+ mov gword ptr [rsp+0x28], rax
; gcr arg write
mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
mov rdx, gword ptr [rbp+0x18]
; gcrRegs +[rdx]
mov r8, gword ptr [rbp+0x20]
@@ -178,12 +177,12 @@ G_M31680_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov r9, gword ptr [rbp+0x28]
; gcrRegs +[r9]
call [<unknown method>]
- ; gcrRegs -[rcx rdx r8-r9]
+ ; gcrRegs -[rax rcx rdx r8-r9]
; gcr arg pop 0
nop
- mov ecx, dword ptr [rbp+0x38]
- movzx rcx, cl
- mov dword ptr [rbp-0x20], ecx
+ mov eax, dword ptr [rbp+0x38]
+ movzx rax, al
+ mov dword ptr [rbp-0x20], eax
cmp dword ptr [rbp-0x20], 0
je SHORT G_M31680_IG10
mov rcx, gword ptr [rbp+0x10]
@@ -206,49 +205,47 @@ G_M31680_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x58], rax
- mov r9, gword ptr [rbp-0x58]
- ; gcrRegs +[r9]
- mov gword ptr [rbp-0x28], r9
- xor r9d, r9d
- ; gcrRegs -[r9]
+ mov rax, gword ptr [rbp-0x58]
+ mov gword ptr [rbp-0x28], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
cmp gword ptr [rbp-0x28], 0
- setne r9b
- mov dword ptr [rbp-0x2C], r9d
+ setne al
+ mov dword ptr [rbp-0x2C], eax
cmp dword ptr [rbp-0x2C], 0
je G_M31680_IG14
nop
- xor r9d, r9d
- mov dword ptr [rbp-0x30], r9d
+ xor eax, eax
+ mov dword ptr [rbp-0x30], eax
nop
jmp SHORT G_M31680_IG13
- ;; size=62 bbWeight=1 PerfScore 21.25
+ ;; size=57 bbWeight=1 PerfScore 21.25
G_M31680_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rax]
nop
- mov r9, gword ptr [rbp-0x28]
- ; gcrRegs +[r9]
+ mov rax, gword ptr [rbp-0x28]
+ ; gcrRegs +[rax]
mov ecx, dword ptr [rbp-0x30]
- cmp ecx, dword ptr [r9+0x08]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M31680_IG12
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[r9]
+ ; gcrRegs -[rax]
; gcr arg pop 0
- ;; size=19 bbWeight=1 PerfScore 7.25
-G_M31680_IG12: ; bbWeight=1, gcrefRegs=0200 {r9}, byrefRegs=0000 {}, byref
- ; gcrRegs +[r9]
+ ;; size=18 bbWeight=1 PerfScore 7.25
+G_M31680_IG12: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+ ; gcrRegs +[rax]
mov edx, ecx
- lea r9, bword ptr [r9+8*rdx+0x10]
- ; gcrRegs -[r9]
- ; byrRegs +[r9]
- mov r9, gword ptr [r9]
- ; gcrRegs +[r9]
- ; byrRegs -[r9]
- mov gword ptr [rbp-0x98], r9
- xor r9d, r9d
- ; gcrRegs -[r9]
- mov dword ptr [rsp+0x20], r9d
- xor r9d, r9d
- mov dword ptr [rsp+0x28], r9d
+ lea rax, bword ptr [rax+8*rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rax, gword ptr [rax]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rax]
+ mov gword ptr [rbp-0x98], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rsp+0x20], eax
+ xor eax, eax
+ mov dword ptr [rsp+0x28], eax
mov r9, gword ptr [rbp-0x98]
; gcrRegs +[r9]
mov rcx, gword ptr [rbp+0x10]
@@ -262,22 +259,22 @@ G_M31680_IG12: ; bbWeight=1, gcrefRegs=0200 {r9}, byrefRegs=0000 {}, byre
; gcr arg pop 0
nop
nop
- mov ecx, dword ptr [rbp-0x30]
- inc ecx
- mov dword ptr [rbp-0x30], ecx
- ;; size=80 bbWeight=1 PerfScore 15.00
-G_M31680_IG13: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov r9d, dword ptr [rbp-0x30]
+ mov eax, dword ptr [rbp-0x30]
+ inc eax
+ mov dword ptr [rbp-0x30], eax
+ ;; size=76 bbWeight=1 PerfScore 15.00
+G_M31680_IG13: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov eax, dword ptr [rbp-0x30]
mov rcx, gword ptr [rbp-0x28]
; gcrRegs +[rcx]
- cmp r9d, dword ptr [rcx+0x08]
- setl r9b
- movzx r9, r9b
- mov dword ptr [rbp-0x34], r9d
+ cmp eax, dword ptr [rcx+0x08]
+ setl al
+ movzx rax, al
+ mov dword ptr [rbp-0x34], eax
cmp dword ptr [rbp-0x34], 0
- jne G_M31680_IG11
+ jne SHORT G_M31680_IG11
nop
- ;; size=35 bbWeight=1 PerfScore 10.50
+ ;; size=26 bbWeight=1 PerfScore 10.50
G_M31680_IG14: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
nop
@@ -289,49 +286,47 @@ G_M31680_IG14: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x60], rax
- mov r9, gword ptr [rbp-0x60]
- ; gcrRegs +[r9]
- mov gword ptr [rbp-0x40], r9
- xor r9d, r9d
- ; gcrRegs -[r9]
+ mov rax, gword ptr [rbp-0x60]
+ mov gword ptr [rbp-0x40], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
cmp gword ptr [rbp-0x40], 0
- setne r9b
- mov dword ptr [rbp-0x44], r9d
+ setne al
+ mov dword ptr [rbp-0x44], eax
cmp dword ptr [rbp-0x44], 0
je G_M31680_IG18
nop
...
-8 (-2.43%) : 286858.dasm - System.Text.RegularExpressions.Generated.
@@ -48,13 +48,13 @@ G_M22416_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M22416_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
nop
- mov rdx, gword ptr [rbp+0x10]
- ; gcrRegs +[rdx]
- mov edx, dword ptr [rdx+0x4C]
- ; gcrRegs -[rdx]
- mov dword ptr [rbp-0x04], edx
- mov edx, dword ptr [rbp-0x04]
- mov dword ptr [rbp-0x08], edx
+ mov rax, gword ptr [rbp+0x10]
+ ; gcrRegs +[rax]
+ mov eax, dword ptr [rax+0x4C]
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x04], eax
+ mov eax, dword ptr [rbp-0x04]
+ mov dword ptr [rbp-0x08], eax
lea rdx, [rbp-0x38]
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
@@ -80,75 +80,74 @@ G_M22416_IG06: ; bbWeight=1, isz, extend
; byrRegs +[rax]
; gcr arg pop 0
mov bword ptr [rbp-0x48], rax
- mov rcx, bword ptr [rbp-0x48]
- ; byrRegs +[rcx]
- movzx rcx, word ptr [rcx]
- ; byrRegs -[rcx]
- or ecx, 32
- cmp ecx, 97
+ mov rax, bword ptr [rbp-0x48]
+ movzx rax, word ptr [rax]
+ ; byrRegs -[rax]
+ or eax, 32
+ cmp eax, 97
jne SHORT G_M22416_IG07
lea rcx, [rbp-0x20]
mov edx, 1
call [<unknown method>]
+ ; byrRegs +[rax]
; gcr arg pop 0
mov bword ptr [rbp-0x50], rax
- mov rcx, bword ptr [rbp-0x50]
- ; byrRegs +[rcx]
- movzx rcx, word ptr [rcx]
- ; byrRegs -[rcx]
- mov dword ptr [rbp-0x54], ecx
- mov ecx, dword ptr [rbp-0x54]
- movzx rcx, cx
- mov dword ptr [rbp-0x0C], ecx
- xor ecx, ecx
- cmp dword ptr [rbp-0x54], 45
- setne cl
- xor r9d, r9d
- cmp dword ptr [rbp-0x0C], 66
- setne r9b
- and ecx, r9d
- xor r9d, r9d
- cmp dword ptr [rbp-0x0C], 98
- setne r9b
- and ecx, r9d
- mov dword ptr [rbp-0x40], ecx
- jmp SHORT G_M22416_IG08
- ;; size=130 bbWeight=1 PerfScore 41.00
-G_M22416_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov rax, bword ptr [rbp-0x50]
+ movzx rax, word ptr [rax]
; byrRegs -[rax]
+ mov dword ptr [rbp-0x54], eax
+ mov eax, dword ptr [rbp-0x54]
+ movzx rax, ax
+ mov dword ptr [rbp-0x0C], eax
+ xor eax, eax
+ cmp dword ptr [rbp-0x54], 45
+ setne al
+ xor ecx, ecx
+ cmp dword ptr [rbp-0x0C], 66
+ setne cl
+ and eax, ecx
+ xor ecx, ecx
+ cmp dword ptr [rbp-0x0C], 98
+ setne cl
+ and eax, ecx
+ mov dword ptr [rbp-0x40], eax
+ jmp SHORT G_M22416_IG08
+ ;; size=124 bbWeight=1 PerfScore 41.00
+G_M22416_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov dword ptr [rbp-0x40], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M22416_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp-0x40]
- movzx rcx, cl
- mov dword ptr [rbp-0x24], ecx
+ mov eax, dword ptr [rbp-0x40]
+ movzx rax, al
+ mov dword ptr [rbp-0x24], eax
cmp dword ptr [rbp-0x24], 0
je SHORT G_M22416_IG09
nop
- xor ecx, ecx
- mov dword ptr [rbp-0x28], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x28], eax
nop
jmp SHORT G_M22416_IG10
;; size=24 bbWeight=1 PerfScore 9.00
G_M22416_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov eax, dword ptr [rbp-0x04]
+ add eax, 2
+ mov dword ptr [rbp-0x04], eax
+ mov rax, gword ptr [rbp+0x10]
+ ; gcrRegs +[rax]
mov ecx, dword ptr [rbp-0x04]
- add ecx, 2
- mov dword ptr [rbp-0x04], ecx
+ mov dword ptr [rax+0x4C], ecx
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov r9d, dword ptr [rbp-0x04]
- mov dword ptr [rcx+0x4C], r9d
- mov rcx, gword ptr [rbp+0x10]
- mov r9d, dword ptr [rbp-0x04]
mov r8d, dword ptr [rbp-0x08]
xor edx, edx
call [<unknown method>]
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
; gcr arg pop 0
nop
mov dword ptr [rbp-0x28], 1
nop
- ;; size=50 bbWeight=1 PerfScore 13.00
+ ;; size=48 bbWeight=1 PerfScore 13.00
G_M22416_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov eax, dword ptr [rbp-0x28]
;; size=3 bbWeight=1 PerfScore 1.00
@@ -158,7 +157,7 @@ G_M22416_IG11: ; bbWeight=1, epilog, nogc, extend
ret
;; size=9 bbWeight=1 PerfScore 1.75
-; Total bytes of code 329, prolog size 46, PerfScore 98.33, instruction count 92, allocated bytes for code 329 (MethodHash=be56a86f) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get195_130+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
+; Total bytes of code 321, prolog size 46, PerfScore 98.33, instruction count 92, allocated bytes for code 321 (MethodHash=be56a86f) for method System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get195_130+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
; ============================================================
Unwind Info:
-5 (-2.35%) : 64737.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write147_SimpleType(System.Object):this (MinOpts)
@@ -41,18 +41,18 @@ G_M35358_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rcx]
; gcr arg pop 0
nop
- xor r8d, r8d
+ xor eax, eax
cmp gword ptr [rbp+0x18], 0
- sete r8b
- mov dword ptr [rbp-0x04], r8d
+ sete al
+ mov dword ptr [rbp-0x04], eax
cmp dword ptr [rbp-0x04], 0
je SHORT G_M35358_IG05
nop
- mov r8, 0xD1FFAB1E ; string handle
- mov r8, gword ptr [r8]
+ mov rax, 0xD1FFAB1E ; string handle
+ mov r8, gword ptr [rax]
; gcrRegs +[r8]
- mov rdx, 0xD1FFAB1E ; string handle
- mov rdx, gword ptr [rdx]
+ mov rax, 0xD1FFAB1E ; string handle
+ mov rdx, gword ptr [rax]
; gcrRegs +[rdx]
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
@@ -62,7 +62,7 @@ G_M35358_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
nop
nop
jmp SHORT G_M35358_IG06
- ;; size=75 bbWeight=1 PerfScore 23.00
+ ;; size=72 bbWeight=1 PerfScore 23.00
G_M35358_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
@@ -78,23 +78,24 @@ G_M35358_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov gword ptr [rbp-0x10], rax
mov dword ptr [rsp+0x20], 1
- xor r9d, r9d
- mov dword ptr [rsp+0x28], r9d
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rsp+0x28], eax
mov r9, gword ptr [rbp-0x10]
; gcrRegs +[r9]
- mov rdx, 0xD1FFAB1E ; string handle
- mov rdx, gword ptr [rdx]
+ mov rax, 0xD1FFAB1E ; string handle
+ mov rdx, gword ptr [rax]
; gcrRegs +[rdx]
- mov r8, 0xD1FFAB1E ; string handle
- mov r8, gword ptr [r8]
+ mov rax, 0xD1FFAB1E ; string handle
+ mov r8, gword ptr [rax]
; gcrRegs +[r8]
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
call <unknown method>
- ; gcrRegs -[rax rcx rdx r8-r9]
+ ; gcrRegs -[rcx rdx r8-r9]
; gcr arg pop 0
nop
- ;; size=90 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 17.50
G_M35358_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
;; size=1 bbWeight=1 PerfScore 0.25
@@ -104,7 +105,7 @@ G_M35358_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 213, prolog size 27, PerfScore 53.00, instruction count 53, allocated bytes for code 213 (MethodHash=ab9475e1) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write147_SimpleType(System.Object):this (MinOpts)
+; Total bytes of code 208, prolog size 27, PerfScore 53.00, instruction count 53, allocated bytes for code 208 (MethodHash=ab9475e1) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write147_SimpleType(System.Object):this (MinOpts)
; ============================================================
Unwind Info:
+2 (+0.85%) : 178163.dasm - System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
@@ -44,18 +44,17 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x10], rax
- mov rcx, gword ptr [rbp-0x10]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x08], rcx
- mov rcx, gword ptr [rbp-0x08]
- mov gword ptr [rbp-0x18], rcx
- xor ecx, ecx
- ; gcrRegs -[rcx]
- mov dword ptr [rbp-0x1C], ecx
+ mov rax, gword ptr [rbp-0x10]
+ mov gword ptr [rbp-0x08], rax
+ mov rax, gword ptr [rbp-0x08]
+ mov gword ptr [rbp-0x18], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x1C], eax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
call [<unknown method>]
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x28], rax
mov rcx, 0xD1FFAB1E ; <unknown class>
@@ -71,11 +70,12 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs -[rax rcx rdx r8]
; gcr arg pop 0
- mov rcx, 0xD1FFAB1E
- ; gcrRegs +[rcx]
- mov gword ptr [rsp+0x20], rcx
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov gword ptr [rsp+0x20], rax
; gcr arg write
mov rcx, gword ptr [rbp-0x28]
+ ; gcrRegs +[rcx]
mov rdx, gword ptr [rbp-0x30]
; gcrRegs +[rdx]
mov r8, 0xD1FFAB1E
@@ -83,10 +83,11 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov r9, 0xD1FFAB1E
; gcrRegs +[r9]
call [<unknown method>]
- ; gcrRegs -[rcx rdx r8-r9]
+ ; gcrRegs -[rax rcx rdx r8-r9]
; gcr arg pop 0
mov dword ptr [rbp-0x34], eax
- mov ecx, dword ptr [rbp-0x1C]
+ mov eax, dword ptr [rbp-0x1C]
+ mov ecx, eax
add ecx, dword ptr [rbp-0x34]
mov r8, gword ptr [rbp+0x10]
; gcrRegs +[r8]
@@ -103,14 +104,14 @@ G_M35357_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax rcx rdx]
; gcr arg pop 0
nop
- ;; size=187 bbWeight=1 PerfScore 43.25
+ ;; size=189 bbWeight=1 PerfScore 43.50
G_M35357_IG05: ; bbWeight=1, epilog, nogc, extend
add rsp, 112
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 235, prolog size 28, PerfScore 56.58, instruction count 50, allocated bytes for code 235 (MethodHash=c46a75e2) for method System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
+; Total bytes of code 237, prolog size 28, PerfScore 56.83, instruction count 51, allocated bytes for code 237 (MethodHash=c46a75e2) for method System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
; ============================================================
Unwind Info:
+44 (+1.20%) : 13254.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest
1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray
1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)@@ -160,14 +160,12 @@ G_M26197_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; gcr arg pop 0
;; size=5 bbWeight=0.50 PerfScore 0.50
G_M26197_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, gword ptr [rbp+0x20]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x18], rcx
+ mov rax, gword ptr [rbp+0x20]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x18], rax
nop
mov rcx, 0xD1FFAB1E ; <unknown class>
- ; gcrRegs -[rcx]
call CORINFO_HELP_NEWSFAST
- ; gcrRegs +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x140], rax
mov rcx, gword ptr [rbp-0x140]
@@ -175,28 +173,28 @@ G_M26197_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [<unknown method>]
; gcrRegs -[rax rcx]
; gcr arg pop 0
- mov rcx, gword ptr [rbp-0x140]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x10], rcx
- xor ecx, ecx
- ; gcrRegs -[rcx]
- mov dword ptr [rbp-0x1C], ecx
+ mov rax, gword ptr [rbp-0x140]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x10], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
+ mov dword ptr [rbp-0x1C], eax
nop
jmp G_M26197_IG71
;; size=66 bbWeight=1 PerfScore 14.00
G_M26197_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [rbp+0x10]
- mov rcx, qword ptr [rcx+0x38]
- mov rcx, qword ptr [rcx]
- cmp qword ptr [rcx+0x158], 0
+ mov rax, qword ptr [rbp+0x10]
+ mov rax, qword ptr [rax+0x38]
+ mov rax, qword ptr [rax]
+ cmp qword ptr [rax+0x158], 0
je SHORT G_M26197_IG07
;; size=21 bbWeight=1 PerfScore 9.00
G_M26197_IG06: ; bbWeight=0.80, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [rbp+0x10]
- mov rcx, qword ptr [rcx+0x38]
- mov rcx, qword ptr [rcx]
- mov rcx, qword ptr [rcx+0x158]
- mov qword ptr [rbp-0x150], rcx
+ mov rax, qword ptr [rbp+0x10]
+ mov rax, qword ptr [rax+0x38]
+ mov rax, qword ptr [rax]
+ mov rax, qword ptr [rax+0x158]
+ mov qword ptr [rbp-0x150], rax
jmp SHORT G_M26197_IG08
;; size=27 bbWeight=0.80 PerfScore 8.00
G_M26197_IG07: ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -217,36 +215,36 @@ G_M26197_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [<unknown method>]
; gcrRegs -[rax rcx]
; gcr arg pop 0
- mov rcx, gword ptr [rbp-0x148]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x28], rcx
+ mov rax, gword ptr [rbp-0x148]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x28], rax
nop
- mov rcx, gword ptr [rbp-0x28]
- mov gword ptr [rbp-0x158], rcx
- mov rcx, gword ptr [rbp+0x28]
- mov eax, dword ptr [rbp-0x1C]
- cmp eax, dword ptr [rcx+0x08]
+ mov rax, gword ptr [rbp-0x28]
+ mov gword ptr [rbp-0x158], rax
+ mov rax, gword ptr [rbp+0x28]
+ mov ecx, dword ptr [rbp-0x1C]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M26197_IG09
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax]
; gcr arg pop 0
;; size=72 bbWeight=1 PerfScore 18.25
-G_M26197_IG09: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rcx]
- mov edx, eax
+G_M26197_IG09: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rax]
+ mov edx, ecx
imul rdx, rdx, 64
- lea rcx, bword ptr [rcx+rdx+0x10]
- ; gcrRegs -[rcx]
+ lea rax, bword ptr [rax+rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, rax
; byrRegs +[rcx]
call [<unknown method>]
; gcrRegs +[rax]
- ; byrRegs -[rcx]
+ ; byrRegs -[rax rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x160], rax
- mov rcx, gword ptr [rbp-0x158]
- ; gcrRegs +[rcx]
- lea rcx, bword ptr [rcx+0x08]
- ; gcrRegs -[rcx]
+ mov rax, gword ptr [rbp-0x158]
+ lea rcx, bword ptr [rax+0x08]
; byrRegs +[rcx]
mov rdx, gword ptr [rbp-0x160]
; gcrRegs +[rdx]
@@ -262,26 +260,26 @@ G_M26197_IG09: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx rdx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x168], rax
- mov rcx, gword ptr [rbp+0x28]
- ; gcrRegs +[rcx]
- mov eax, dword ptr [rbp-0x1C]
- ; gcrRegs -[rax]
- cmp eax, dword ptr [rcx+0x08]
+ mov rax, gword ptr [rbp+0x28]
+ mov ecx, dword ptr [rbp-0x1C]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M26197_IG10
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax]
; gcr arg pop 0
- ;; size=93 bbWeight=1 PerfScore 26.00
-G_M26197_IG10: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rcx]
- mov edx, eax
+ ;; size=96 bbWeight=1 PerfScore 26.25
+G_M26197_IG10: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rax]
+ mov edx, ecx
imul rdx, rdx, 64
- lea rcx, bword ptr [rcx+rdx+0x10]
- ; gcrRegs -[rcx]
+ lea rax, bword ptr [rax+rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, rax
; byrRegs +[rcx]
call [<unknown method>]
; gcrRegs +[rax]
- ; byrRegs -[rcx]
+ ; byrRegs -[rax rcx]
; gcr arg pop 0
mov gword ptr [rbp-0x170], rax
mov rcx, gword ptr [rbp-0x168]
@@ -315,14 +313,13 @@ G_M26197_IG10: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rdx r8] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x188], rax
- mov rcx, gword ptr [rbp-0x188]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x30], rcx
- xor ecx, ecx
- ; gcrRegs -[rcx]
+ mov rax, gword ptr [rbp-0x188]
+ mov gword ptr [rbp-0x30], rax
+ xor eax, eax
+ ; gcrRegs -[rax]
cmp gword ptr [rbp-0x30], 0
- setne cl
- mov dword ptr [rbp-0x3C], ecx
+ setne al
+ mov dword ptr [rbp-0x3C], eax
cmp dword ptr [rbp-0x3C], 0
je G_M26197_IG25
nop
@@ -330,30 +327,30 @@ G_M26197_IG10: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs +[rcx]
cmp dword ptr [rcx], ecx
call <unknown method>
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x358], rax
- mov rcx, gword ptr [rbp-0x358]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x48], rcx
- mov rcx, gword ptr [rbp+0x28]
- mov eax, dword ptr [rbp-0x1C]
- ; gcrRegs -[rax]
- cmp eax, dword ptr [rcx+0x08]
+ mov rax, gword ptr [rbp-0x358]
+ mov gword ptr [rbp-0x48], rax
+ mov rax, gword ptr [rbp+0x28]
+ mov ecx, dword ptr [rbp-0x1C]
+ cmp ecx, dword ptr [rax+0x08]
jb SHORT G_M26197_IG11
call CORINFO_HELP_RNGCHKFAIL
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax]
; gcr arg pop 0
- ;; size=218 bbWeight=1 PerfScore 54.75
-G_M26197_IG11: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rcx]
- mov edx, eax
+ ;; size=221 bbWeight=1 PerfScore 55.00
+G_M26197_IG11: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rax]
+ mov edx, ecx
imul rdx, rdx, 64
- lea rcx, bword ptr [rcx+rdx+0x10]
- ; gcrRegs -[rcx]
+ lea rax, bword ptr [rax+rdx+0x10]
+ ; gcrRegs -[rax]
+ ; byrRegs +[rax]
+ mov rcx, rax
; byrRegs +[rcx]
call [<unknown method>]
- ; byrRegs -[rcx]
+ ; byrRegs -[rax rcx]
; gcr arg pop 0
mov dword ptr [rbp-0x35C], eax
cmp dword ptr [rbp-0x35C], 0
@@ -369,11 +366,9 @@ G_M26197_IG11: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx] +[rax]
; gcr arg pop 0
mov gword ptr [rbp-0x420], rax
- mov rcx, gword ptr [rbp-0x420]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x58], rcx
+ mov rax, gword ptr [rbp-0x420]
+ mov gword ptr [rbp-0x58], rax
lea rcx, [rbp-0x58]
- ; gcrRegs -[rcx]
mov rdx, 0xD1FFAB1E ; System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.DiagnosticDescriptor]
call [<unknown method>]
; gcrRegs -[rax]
@@ -381,7 +376,7 @@ G_M26197_IG11: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
mov dword ptr [rbp-0x424], eax
cmp dword ptr [rbp-0x424], 1
je SHORT G_M26197_IG13
- ;; size=103 bbWeight=1 PerfScore 30.00
+ ;; size=106 bbWeight=1 PerfScore 30.25
G_M26197_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rcx, gword ptr [rbp-0x48]
; gcrRegs +[rcx]
@@ -394,9 +389,9 @@ G_M26197_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
...
+2 (+1.28%) : 229933.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -48,10 +48,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
call [<unknown method>]
; byrRegs -[rcx]
mov dword ptr [rbp-0x04], eax
- xor ecx, ecx
- mov dword ptr [rbp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [rbp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x08], eax
+ xor eax, eax
+ mov dword ptr [rbp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=25 bbWeight=1 PerfScore 9.50
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -60,26 +60,28 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
; byrRegs -[rcx] +[rax]
- movzx rcx, byte ptr [rax]
- mov dword ptr [rbp-0x14], ecx
+ movzx rax, byte ptr [rax]
+ ; byrRegs -[rax]
+ mov dword ptr [rbp-0x14], eax
mov rcx, bword ptr [rbp+0x18]
; byrRegs +[rcx]
mov edx, dword ptr [rbp-0x0C]
call [<unknown method>]
- ; byrRegs -[rcx]
+ ; byrRegs -[rcx] +[rax]
movzx rax, byte ptr [rax]
; byrRegs -[rax]
mov ecx, dword ptr [rbp-0x14]
sub ecx, eax
- or ecx, dword ptr [rbp-0x08]
- mov dword ptr [rbp-0x08], ecx
+ mov eax, ecx
+ or eax, dword ptr [rbp-0x08]
+ mov dword ptr [rbp-0x08], eax
mov eax, dword ptr [rbp-0x0C]
inc eax
mov dword ptr [rbp-0x0C], eax
- ;; size=54 bbWeight=1 PerfScore 21.50
+ ;; size=56 bbWeight=1 PerfScore 21.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp-0x0C]
- cmp ecx, dword ptr [rbp-0x04]
+ mov eax, dword ptr [rbp-0x0C]
+ cmp eax, dword ptr [rbp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [rbp-0x08], 0
@@ -91,7 +93,7 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 156, prolog size 10, PerfScore 57.75, instruction count 49, allocated bytes for code 156 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 158, prolog size 10, PerfScore 58.00, instruction count 50, allocated bytes for code 158 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
Unwind Info:
realworld.run.windows.x64.checked.mch
+0 (0.00%) : 17482.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -21,8 +21,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp+0x10], rcx
;; size=20 bbWeight=1 PerfScore 4.00
G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov gword ptr [rbp-0x10], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x10], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov r8, gword ptr [rbp-0x10]
+0 (0.00%) : 35760.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2System.String,System.String
@@ -36,17 +36,18 @@ G_M20070_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edx, 0x1B6B
call [<unknown method>]
; gcrRegs -[rax rcx r8]
- mov rcx, gword ptr [rbp-0x10]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x08], rcx
+ mov rax, gword ptr [rbp-0x10]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x08], rax
mov rcx, gword ptr [rbp-0x08]
+ ; gcrRegs +[rcx]
mov rdx, 0xD1FFAB1E
; gcrRegs +[rdx]
mov r8, 0xD1FFAB1E
; gcrRegs +[r8]
cmp dword ptr [rcx], ecx
call [<unknown method>]
- ; gcrRegs -[rcx rdx r8]
+ ; gcrRegs -[rax rcx rdx r8]
mov rcx, gword ptr [rbp-0x08]
; gcrRegs +[rcx]
mov rdx, 0xD1FFAB1E
+6 (+0.00%) : 4522.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
@@ -2703,12 +2703,12 @@ G_M23076_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp+0x18], edx
;; size=72 bbWeight=1 PerfScore 14.08
G_M23076_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rcx, gword ptr [rbp+0x10]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x2A8], rcx
+ mov rax, gword ptr [rbp+0x10]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x2A8], rax
;; size=11 bbWeight=1 PerfScore 2.00
G_M23076_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax]
mov rcx, gword ptr [rbp-0x2A8]
; gcrRegs +[rcx]
cmp dword ptr [rcx], ecx
@@ -2735,38 +2735,39 @@ G_M23076_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp dword ptr [rcx], ecx
call [<unknown method>]
; gcrRegs -[rcx r8]
- mov rcx, gword ptr [rbp-0x08]
- ; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x08]
- mov gword ptr [rbp-0x28], rcx
- mov rcx, gword ptr [rbp-0x08]
- vmovdqu ymm0, ymmword ptr [rcx+0x10]
+ mov rax, gword ptr [rbp-0x08]
+ ; gcrRegs +[rax]
+ mov rax, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x28], rax
+ mov rax, gword ptr [rbp-0x08]
+ vmovdqu ymm0, ymmword ptr [rax+0x10]
vmovdqu ymmword ptr [rbp-0x58], ymm0
- vmovdqu xmm0, xmmword ptr [rcx+0x2C]
+ vmovdqu xmm0, xmmword ptr [rax+0x2C]
vmovdqu xmmword ptr [rbp-0x3C], xmm0
- mov ecx, dword ptr [rbp-0x14]
- ; gcrRegs -[rcx]
- sub ecx, dword ptr [rbp-0x10]
- mov dword ptr [rbp-0x5C], ecx
- mov rcx, gword ptr [rbp-0x2A8]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x68], rcx
+ mov eax, dword ptr [rbp-0x14]
+ ; gcrRegs -[rax]
+ sub eax, dword ptr [rbp-0x10]
+ mov dword ptr [rbp-0x5C], eax
+ mov rax, gword ptr [rbp-0x2A8]
+ ; gcrRegs +[rax]
+ mov gword ptr [rbp-0x68], rax
mov rcx, gword ptr [rbp-0x28]
+ ; gcrRegs +[rcx]
call [<unknown method>]
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax rcx]
cmp eax, 67
jne SHORT G_M23076_IG05
mov dword ptr [rbp-0x2AC], 1
jmp SHORT G_M23076_IG06
;; size=106 bbWeight=1 PerfScore 38.75
G_M23076_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov dword ptr [rbp-0x2AC], ecx
+ xor eax, eax
+ mov dword ptr [rbp-0x2AC], eax
;; size=8 bbWeight=1 PerfScore 1.25
G_M23076_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov ecx, dword ptr [rbp-0x2AC]
- movzx rcx, cl
- mov dword ptr [rbp-0x6C], ecx
+ mov eax, dword ptr [rbp-0x2AC]
+ movzx rax, al
+ mov dword ptr [rbp-0x6C], eax
mov rcx, gword ptr [rbp-0x28]
; gcrRegs +[rcx]
call [<unknown method>]
@@ -2779,45 +2780,44 @@ G_M23076_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
call [CORINFO_HELP_CHKCASTCLASS]
; gcrRegs -[rdx] +[rax]
mov gword ptr [rbp-0x78], rax
- mov rcx, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x78]
+ mov rcx, gword ptr [rax+0x10]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x10]
call [<unknown method>]
; gcrRegs -[rcx]
mov gword ptr [rbp-0x80], rax
cmp gword ptr [rbp-0x80], 0
je SHORT G_M23076_IG07
- mov r8, gword ptr [rbp-0x2A8]
- ; gcrRegs +[r8]
- movzx r8, byte ptr [r8+0x40]
- ; gcrRegs -[r8]
- mov dword ptr [rbp-0x2B0], r8d
- jmp SHORT G_M23076_IG08
- ;; size=97 bbWeight=1 PerfScore 28.75
-G_M23076_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ mov rax, gword ptr [rbp-0x2A8]
+ movzx rax, byte ptr [rax+0x40]
; gcrRegs -[rax]
- xor r8d, r8d
- mov dword ptr [rbp-0x2B0], r8d
- ;; size=10 bbWeight=1 PerfScore 1.25
+ mov dword ptr [rbp-0x2B0], eax
+ jmp SHORT G_M23076_IG08
+ ;; size=95 bbWeight=1 PerfScore 28.75
+G_M23076_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ xor eax, eax
+ mov dword ptr [rbp-0x2B0], eax
+ ;; size=8 bbWeight=1 PerfScore 1.25
G_M23076_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov r8d, dword ptr [rbp-0x2B0]
- movzx r8, r8b
- mov dword ptr [rbp-0x70], r8d
- mov r8, gword ptr [rbp-0x2A8]
- ; gcrRegs +[r8]
- mov r8, gword ptr [r8+0x30]
- mov gword ptr [rbp-0x88], r8
- mov r8, gword ptr [rbp-0x2A8]
- cmp dword ptr [r8+0x38], 0
+ mov eax, dword ptr [rbp-0x2B0]
+ movzx rax, al
+ mov dword ptr [rbp-0x70], eax
+ mov rax, gword ptr [rbp-0x2A8]
+ ; gcrRegs +[rax]
+ mov rax, gword ptr [rax+0x30]
+ mov gword ptr [rbp-0x88], rax
+ mov rax, gword ptr [rbp-0x2A8]
+ cmp dword ptr [rax+0x38], 0
jg G_M23076_IG25
- mov r8, gword ptr [rbp-0x2A8]
- mov r8, gword ptr [r8+0x30]
+ mov rax, gword ptr [rbp-0x2A8]
+ mov r8, gword ptr [rax+0x30]
+ ; gcrRegs +[r8]
mov rcx, gword ptr [rbp-0x2A8]
; gcrRegs +[rcx]
mov rdx, gword ptr [rbp-0x28]
; gcrRegs +[rdx]
call [<unknown method>]
- ; gcrRegs -[rcx rdx r8]
+ ; gcrRegs -[rax rcx rdx r8]
test eax, eax
jne G_M23076_IG26
mov rcx, gword ptr [rbp-0x28]
@@ -2827,14 +2827,14 @@ G_M23076_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov dword ptr [rbp-0x5434], eax
cmp dword ptr [rbp-0x5434], 201
ja SHORT G_M23076_IG09
- mov ecx, dword ptr [rbp-0x5434]
- mov ecx, ecx
- lea rax, [reloc @RWD00]
- mov eax, dword ptr [rax+4*rcx]
+ mov eax, dword ptr [rbp-0x5434]
+ mov eax, eax
+ lea rcx, [reloc @RWD00]
+ mov ecx, dword ptr [rcx+4*rax]
lea rdx, G_M23076_IG02
- add rax, rdx
- jmp rax
- ;; size=145 bbWeight=1 PerfScore 35.50
+ add rcx, rdx
+ jmp rcx
+ ;; size=141 bbWeight=1 PerfScore 35.50
G_M23076_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, gword ptr [rbp-0x28]
; gcrRegs +[rcx]
@@ -2849,10 +2849,10 @@ G_M23076_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
test rax, rax
je G_M23076_IG40
- mov rcx, gword ptr [rbp-0x88]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x90], rcx
+ mov rax, gword ptr [rbp-0x88]
+ mov gword ptr [rbp-0x90], rax
mov rcx, gword ptr [rbp-0x90]
+ ; gcrRegs +[rcx]
call [<unknown method>]
; gcrRegs -[rcx]
mov rcx, rax
@@ -2872,9 +2872,9 @@ G_M23076_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [CORINFO_HELP_CHKCASTCLASS]
; gcrRegs -[rdx]
mov gword ptr [rbp-0x98], rax
- mov rcx, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rbp-0x98]
+ mov rcx, gword ptr [rax+0x10]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x10]
mov rdx, gword ptr [rbp-0x28]
; gcrRegs +[rdx]
call [<unknown method>]
@@ -2890,10 +2890,10 @@ G_M23076_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx] +[rax]
test rax, rax
je G_M23076_IG28
- mov rcx, gword ptr [rbp-0x88]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x90], rcx
+ mov rax, gword ptr [rbp-0x88]
+ mov gword ptr [rbp-0x90], rax
mov rcx, gword ptr [rbp-0x90]
+ ; gcrRegs +[rcx]
call [<unknown method>]
; gcrRegs -[rcx]
mov rcx, rax
@@ -2920,35 +2920,35 @@ G_M23076_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov gword ptr [rbp-0x80], rax
cmp gword ptr [rbp-0x80], 0
je G_M23076_IG40
- mov rcx, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rbp-0x98]
+ mov rcx, gword ptr [rax+0x10]
; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x10]
mov rdx, gword ptr [rbp-0x28]
; gcrRegs +[rdx]
call [<unknown method>]
; gcrRegs -[rax rcx rdx]
test eax, eax
je G_M23076_IG40
- mov rcx, gword ptr [rbp-0x98]
- ; gcrRegs +[rcx]
- mov rcx, gword ptr [rcx+0x10]
- mov gword ptr [rbp-0xA8], rcx
- mov rcx, gword ptr [rbp-0x28]
- mov gword ptr [rbp-0xA0], rcx
+ mov rax, gword ptr [rbp-0x98]
+ ; gcrRegs +[rax]
+ mov rax, gword ptr [rax+0x10]
+ mov gword ptr [rbp-0xA8], rax
+ mov rax, gword ptr [rbp-0x28]
+ mov gword ptr [rbp-0xA0], rax
jmp G_M23076_IG37
;; size=205 bbWeight=1 PerfScore 50.25
G_M23076_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rcx]
+ ; gcrRegs -[rax]
mov rcx, gword ptr [rbp-0x88]
; gcrRegs +[rcx]
call [<unknown method>]
; gcrRegs -[rcx] +[rax]
test rax, rax
je G_M23076_IG29
- mov rcx, gword ptr [rbp-0x88]
- ; gcrRegs +[rcx]
- mov gword ptr [rbp-0x90], rcx
...
smoke_tests.nativeaot.windows.x64.checked.mch
+0 (0.00%) : 9959.dasm - Interfaces+TestGenericAnalysis:Run() (MinOpts)
@@ -29,8 +29,8 @@ G_M40288_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movaps xmmword ptr [rbp-0x10], xmm4
;; size=29 bbWeight=1 PerfScore 10.08
G_M40288_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x08]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
@@ -62,8 +62,8 @@ G_M40288_IG03: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x10]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x10]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
@@ -95,8 +95,8 @@ G_M40288_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x18]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x18]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
@@ -128,8 +128,8 @@ G_M40288_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x20]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x20]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
+0 (0.00%) : 31976.dasm - Interfaces+TestGenericAnalysis:Run() (MinOpts)
@@ -29,8 +29,8 @@ G_M40288_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movaps xmmword ptr [rbp-0x10], xmm4
;; size=29 bbWeight=1 PerfScore 10.08
G_M40288_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x08]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x08]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
@@ -62,8 +62,8 @@ G_M40288_IG03: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x10]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x10]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
@@ -95,8 +95,8 @@ G_M40288_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x18]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x18]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
@@ -128,8 +128,8 @@ G_M40288_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
;; size=34 bbWeight=0 PerfScore 0.00
G_M40288_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rcx, qword ptr [(reloc)]
- mov rcx, gword ptr [rcx+0x20]
+ mov rax, qword ptr [(reloc)]
+ mov rcx, gword ptr [rax+0x20]
; gcrRegs +[rcx]
lea r10, [(reloc)] ; function address
xor rdx, rdx
+0 (0.00%) : 32336.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -22,8 +22,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov gword ptr [rbp+0x10], rcx
;; size=20 bbWeight=1 PerfScore 4.00
G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- xor ecx, ecx
- mov gword ptr [rbp-0x10], rcx
+ xor eax, eax
+ mov gword ptr [rbp-0x10], rax
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
mov r8, gword ptr [rbp-0x10]
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
To reproduce these diffs on Windows x64:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
aspnet.run.windows.x64.checked.mch
29,845
2,874
1,448
25,523
-10,169
+7,008
benchmarks.run.windows.x64.checked.mch
3
0
1
2
-0
+2
benchmarks.run_pgo.windows.x64.checked.mch
32,352
4,541
2,023
25,788
-17,332
+9,273
benchmarks.run_tiered.windows.x64.checked.mch
23,098
3,327
1,248
18,523
-14,573
+4,383
coreclr_tests.run.windows.x64.checked.mch
265,467
37,651
23,771
204,045
-190,479
+345,948
libraries.crossgen2.windows.x64.checked.mch
8
2
1
5
-4
+2
libraries.pmi.windows.x64.checked.mch
2
0
1
1
-0
+2
libraries_tests.run.windows.x64.Release.mch
326,562
32,489
12,606
281,467
-205,104
+79,027
librariestestsnotieredcompilation.run.windows.x64.Release.mch
13,458
3,750
316
9,392
-16,617
+4,049
realworld.run.windows.x64.checked.mch
3
0
1
2
-0
+6
smoke_tests.nativeaot.windows.x64.checked.mch
3
0
0
3
-0
+0
690,801
84,634
41,416
564,751
-454,278
+449,700
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
aspnet.run.windows.x64.checked.mch
113,722
48,462
65,260
692 (0.60%)
692 (0.60%)
benchmarks.run.windows.x64.checked.mch
28,111
4
28,107
0 (0.00%)
0 (0.00%)
benchmarks.run_pgo.windows.x64.checked.mch
102,902
50,375
52,527
100 (0.10%)
100 (0.10%)
benchmarks.run_tiered.windows.x64.checked.mch
55,013
36,816
18,197
0 (0.00%)
0 (0.00%)
coreclr_tests.run.windows.x64.checked.mch
574,453
341,098
233,355
197 (0.03%)
197 (0.03%)
libraries.crossgen2.windows.x64.checked.mch
242,912
15
242,897
0 (0.00%)
0 (0.00%)
libraries.pmi.windows.x64.checked.mch
307,582
6
307,576
15 (0.00%)
15 (0.00%)
libraries_tests.run.windows.x64.Release.mch
681,728
479,327
202,401
2,497 (0.36%)
2,497 (0.36%)
librariestestsnotieredcompilation.run.windows.x64.Release.mch
319,541
21,842
297,699
45 (0.01%)
45 (0.01%)
realworld.run.windows.x64.checked.mch
36,818
3
36,815
0 (0.00%)
0 (0.00%)
smoke_tests.nativeaot.windows.x64.checked.mch
32,458
10
32,448
0 (0.00%)
0 (0.00%)
2,495,240
977,958
1,517,282
3,546 (0.14%)
3,546 (0.14%)
jit-analyze output
aspnet.run.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 42070891 (overridden on cmd)
Total bytes of diff: 42067730 (overridden on cmd)
Total bytes of delta: -3161 (-0.01 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
426 : 78216.dasm (5.61 % of base)
330 : 78222.dasm (4.50 % of base)
312 : 18015.dasm (8.79 % of base)
174 : 27915.dasm (6.27 % of base)
105 : 30240.dasm (4.05 % of base)
69 : 18705.dasm (3.78 % of base)
57 : 5108.dasm (1.49 % of base)
57 : 8148.dasm (1.49 % of base)
48 : 11343.dasm (1.31 % of base)
40 : 3006.dasm (4.43 % of base)
40 : 70997.dasm (1.16 % of base)
40 : 84147.dasm (4.43 % of base)
36 : 70999.dasm (1.93 % of base)
32 : 18846.dasm (1.88 % of base)
32 : 28606.dasm (1.88 % of base)
31 : 11624.dasm (0.66 % of base)
31 : 99862.dasm (0.63 % of base)
30 : 3853.dasm (8.70 % of base)
30 : 6553.dasm (3.28 % of base)
29 : 127.dasm (3.55 % of base)
Top file improvements (bytes):
-556 : 76241.dasm (-0.75 % of base)
-240 : 11900.dasm (-1.96 % of base)
-73 : 13929.dasm (-1.97 % of base)
-67 : 18562.dasm (-1.84 % of base)
-50 : 86284.dasm (-0.44 % of base)
-49 : 4344.dasm (-6.50 % of base)
-45 : 13859.dasm (-1.35 % of base)
-45 : 2270.dasm (-1.35 % of base)
-45 : 84459.dasm (-1.07 % of base)
-45 : 17730.dasm (-1.07 % of base)
-43 : 27019.dasm (-1.30 % of base)
-43 : 2914.dasm (-1.30 % of base)
-43 : 67431.dasm (-0.68 % of base)
-42 : 80002.dasm (-2.01 % of base)
-41 : 5146.dasm (-0.37 % of base)
-41 : 84894.dasm (-0.37 % of base)
-39 : 25374.dasm (-0.26 % of base)
-37 : 82333.dasm (-3.74 % of base)
-36 : 2973.dasm (-6.28 % of base)
-34 : 11951.dasm (-9.14 % of base)
78 total files with Code Size differences (40 improved, 38 regressed), 20 unchanged.
Top method regressions (bytes):
426 (5.61 % of base) : 78216.dasm - SixLabors.ImageSharp.Color:CreateWebSafePalette():SixLabors.ImageSharp.Color[] (Tier0)
330 (4.50 % of base) : 78222.dasm - SixLabors.ImageSharp.Color:CreateWernerPalette():SixLabors.ImageSharp.Color[] (Tier0)
312 (8.79 % of base) : 18015.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Instrumented Tier0)
174 (6.27 % of base) : 27915.dasm - System.Convert:ChangeType(System.Object,System.Type,System.IFormatProvider):System.Object (Instrumented Tier0)
105 (4.05 % of base) : 30240.dasm - Microsoft.EntityFrameworkCore.Infrastructure.CoreOptionsExtension:.ctor(Microsoft.EntityFrameworkCore.Infrastructure.CoreOptionsExtension):this (Instrumented Tier0)
69 (3.78 % of base) : 18705.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
57 (1.49 % of base) : 5108.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Instrumented Tier0)
57 (1.49 % of base) : 8148.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Instrumented Tier0)
48 (1.31 % of base) : 11343.dasm - System.Resources.ResourceReader:_ReadResources():this (Instrumented Tier0)
40 (4.43 % of base) : 3006.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
40 (4.43 % of base) : 84147.dasm - System.IO.StreamReader:ReadBuffer():int:this (Instrumented Tier0)
40 (1.16 % of base) : 70997.dasm - System.IO.StreamReader+<ReadAsyncInternal>d__69:MoveNext():this (Instrumented Tier0)
36 (1.93 % of base) : 70999.dasm - System.IO.StreamReader+<ReadBufferAsync>d__72:MoveNext():this (Instrumented Tier0)
32 (1.88 % of base) : 18846.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Instrumented Tier0)
32 (1.88 % of base) : 28606.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Instrumented Tier0)
31 (0.66 % of base) : 11624.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (Instrumented Tier0)
31 (0.63 % of base) : 99862.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (Instrumented Tier0)
30 (3.28 % of base) : 6553.dasm - System.Diagnostics.Metrics.MetricsEventSource:InstrumentPublished(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String):this (Tier0)
30 (8.70 % of base) : 3853.dasm - System.RuntimeType:IsSubclassOf(System.Type):ubyte:this (Instrumented Tier0)
29 (3.55 % of base) : 127.dasm - System.Net.IPAddress:TryFormatCore[ushort](System.Span`1[ushort],byref):ubyte:this (Tier0)
Top method improvements (bytes):
-556 (-0.75 % of base) : 76241.dasm - AngleSharp.Css.DefaultDeclarationFactory:.ctor():this (Tier0)
-240 (-1.96 % of base) : 11900.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-73 (-1.97 % of base) : 13929.dasm - Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseHeaders:ClearFast():this (Instrumented Tier0)
-67 (-1.84 % of base) : 18562.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Instrumented Tier0)
-50 (-0.44 % of base) : 86284.dasm - Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestHeaders:TryGetValueFast(System.String,byref):ubyte:this (Instrumented Tier0)
-49 (-6.50 % of base) : 4344.dasm - System.Reflection.Emit.SignatureHelper:InternalGetSignatureArray():ubyte[]:this (Tier0)
-45 (-1.07 % of base) : 84459.dasm - System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (Instrumented Tier0)
-45 (-1.07 % of base) : 17730.dasm - System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int (Instrumented Tier0)
-45 (-1.35 % of base) : 13859.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Instrumented Tier0)
-45 (-1.35 % of base) : 2270.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Instrumented Tier0)
-43 (-1.30 % of base) : 27019.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int (Instrumented Tier0)
-43 (-1.30 % of base) : 2914.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int (Instrumented Tier0)
-43 (-0.68 % of base) : 67431.dasm - System.Uri:ParseRemaining():this (Instrumented Tier0)
-42 (-2.01 % of base) : 80002.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (Instrumented Tier0)
-41 (-0.37 % of base) : 5146.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier0)
-41 (-0.37 % of base) : 84894.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Instrumented Tier0)
-39 (-0.26 % of base) : 25374.dasm - Npgsql.PostgresDatabaseInfo+<LoadBackendTypes>d__23:MoveNext():this (Instrumented Tier0)
-37 (-3.74 % of base) : 82333.dasm - System.Globalization.CalendarData:IcuLoadCalendarDataFromSystem(System.String,ushort):ubyte:this (Tier0)
-36 (-6.28 % of base) : 2973.dasm - Microsoft.Win32.SafeHandles.SafeFileHandle:CreateFile(System.String,int,int,int,int):Microsoft.Win32.SafeHandles.SafeFileHandle (Tier0)
-34 (-9.14 % of base) : 11951.dasm - System.Reflection.Metadata.Ecma335.AssemblyRefTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int,int):this (Tier0)
Top method regressions (percentages):
9 (16.36 % of base) : 6312.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
15 (15.96 % of base) : 16541.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[uint]):this (Tier0)
15 (15.00 % of base) : 16537.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
15 (12.10 % of base) : 28032.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[uint]):this (Instrumented Tier0)
15 (12.00 % of base) : 28.dasm - System.Runtime.InteropServices.MemoryMarshal:Read[System.Text.Json.JsonDocument+DbRow](System.ReadOnlySpan`1[ubyte]):System.Text.Json.JsonDocument+DbRow (Tier0)
15 (11.54 % of base) : 28028.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Instrumented Tier0)
14 (11.02 % of base) : 6980.dasm - System.Runtime.InteropServices.MemoryMarshal:TryRead[ulong](System.ReadOnlySpan`1[ubyte],byref):ubyte (Tier0)
10 (9.01 % of base) : 6859.dasm - Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketAwaitableEventArgs:GetStatus(short):int:this (Tier0)
15 (8.82 % of base) : 83250.dasm - System.Runtime.InteropServices.MemoryMarshal:Read[System.Text.Json.JsonDocument+DbRow](System.ReadOnlySpan`1[ubyte]):System.Text.Json.JsonDocument+DbRow (Instrumented Tier0)
312 (8.79 % of base) : 18015.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Instrumented Tier0)
30 (8.70 % of base) : 3853.dasm - System.RuntimeType:IsSubclassOf(System.Type):ubyte:this (Instrumented Tier0)
21 (8.50 % of base) : 80026.dasm - System.Reflection.Emit.RuntimeParameterBuilder:.ctor(System.Reflection.Emit.RuntimeMethodBuilder,int,int,System.String):this (Tier0)
22 (8.27 % of base) : 12854.dasm - System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this (Tier0)
25 (8.22 % of base) : 71149.dasm - Newtonsoft.Json.Utilities.StringReferenceExtensions:StartsWith(Newtonsoft.Json.Utilities.StringReference,System.String):ubyte (Instrumented Tier0)
14 (8.14 % of base) : 7639.dasm - System.Runtime.InteropServices.MemoryMarshal:TryRead[ulong](System.ReadOnlySpan`1[ubyte],byref):ubyte (Instrumented Tier0)
9 (7.96 % of base) : 69003.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[System.__Canon,System.__Canon]:.cctor() (Tier0)
6 (7.89 % of base) : 16181.dasm - Microsoft.Extensions.DependencyInjection.MvcCoreServiceCollectionExtensions+<>c__3`1[System.__Canon]:<GetServiceFromCollection>b__3_0(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):ubyte:this (Tier0)
14 (7.73 % of base) : 39399.dasm - Npgsql.Internal.PgBufferedConverter`1[int]:ReadAsObject(ubyte,Npgsql.Internal.PgReader,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Object]:this (Instrumented Tier0)
24 (7.50 % of base) : 54958.dasm - System.Buffers.CharacterFrequencyHelper:GetSingleStringMultiCharacterOffsets(System.String,ubyte,byref,byref) (Tier0)
18 (7.17 % of base) : 81862.dasm - System.Linq.Enumerable+SelectRangeIterator`1[ushort]:Fill(System.Span`1[ushort],int,System.Func`2[int,ushort]) (Instrumented Tier0)
Top method improvements (percentages):
-26 (-9.39 % of base) : 11905.dasm - System.Reflection.Metadata.Ecma335.TypeDefTableReader:.ctor(int,int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-24 (-9.20 % of base) : 11909.dasm - System.Reflection.Metadata.Ecma335.MethodTableReader:.ctor(int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-34 (-9.14 % of base) : 11951.dasm - System.Reflection.Metadata.Ecma335.AssemblyRefTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int,int):this (Tier0)
-33 (-9.12 % of base) : 11948.dasm - System.Reflection.Metadata.Ecma335.AssemblyTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-24 (-8.51 % of base) : 19018.dasm - System.Net.Security.SslSessionsCache+SslCredKey:GetHashCode():int:this (Tier0)
-8 (-8.51 % of base) : 84772.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Instrumented Tier0)
-8 (-8.51 % of base) : 79457.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
-6 (-8.45 % of base) : 3496.dasm - System.Globalization.CultureData:GetLocaleInfoExInt(System.String,uint):int (Tier0)
-19 (-8.44 % of base) : 11955.dasm - System.Reflection.Metadata.Ecma335.ExportedTypeTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-19 (-8.44 % of base) : 11903.dasm - System.Reflection.Metadata.Ecma335.ModuleTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-23 (-8.07 % of base) : 11967.dasm - System.Reflection.Metadata.Ecma335.LocalScopeTableReader:.ctor(int,ubyte,int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-16 (-7.80 % of base) : 11956.dasm - System.Reflection.Metadata.Ecma335.ManifestResourceTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-15 (-7.46 % of base) : 11916.dasm - System.Reflection.Metadata.Ecma335.MemberRefTableReader:.ctor(int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-6 (-7.41 % of base) : 20007.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
-14 (-7.41 % of base) : 11953.dasm - System.Reflection.Metadata.Ecma335.AssemblyRefOSTableReader:.ctor(int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-6 (-7.06 % of base) : 18561.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
-11 (-7.05 % of base) : 12614.dasm - Microsoft.AspNetCore.Http.ParsingHelpers:DeQuote(System.String):System.String (Tier0)
-18 (-7.03 % of base) : 11942.dasm - System.Reflection.Metadata.Ecma335.ImplMapTableReader:.ctor(int,ubyte,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-13 (-7.03 % of base) : 11907.dasm - System.Reflection.Metadata.Ecma335.FieldTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
-13 (-7.03 % of base) : 11954.dasm - System.Reflection.Metadata.Ecma335.FileTableReader:.ctor(int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Tier0)
benchmarks.run.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 8666396 (overridden on cmd)
Total bytes of diff: 8666398 (overridden on cmd)
Total bytes of delta: 2 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2 : 15561.dasm (1.28 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 2 unchanged.
Top method regressions (bytes):
2 (1.28 % of base) : 15561.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method regressions (percentages):
2 (1.28 % of base) : 15561.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
1 total methods with Code Size differences (0 improved, 1 regressed).
benchmarks.run_pgo.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 35349995 (overridden on cmd)
Total bytes of diff: 35341936 (overridden on cmd)
Total bytes of delta: -8059 (-0.02 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
1166 : 67837.dasm (5.10 % of base)
193 : 67842.dasm (5.63 % of base)
112 : 67840.dasm (3.80 % of base)
69 : 55705.dasm (3.78 % of base)
57 : 4799.dasm (1.49 % of base)
57 : 5477.dasm (1.49 % of base)
51 : 62482.dasm (0.46 % of base)
48 : 3769.dasm (1.30 % of base)
48 : 48677.dasm (1.30 % of base)
45 : 31969.dasm (2.16 % of base)
45 : 42816.dasm (1.61 % of base)
42 : 73933.dasm (1.93 % of base)
39 : 41921.dasm (1.07 % of base)
34 : 17237.dasm (1.52 % of base)
34 : 50936.dasm (1.03 % of base)
34 : 55126.dasm (1.52 % of base)
33 : 10499.dasm (2.49 % of base)
31 : 14627.dasm (0.66 % of base)
30 : 1113.dasm (8.72 % of base)
30 : 43648.dasm (5.43 % of base)
Top file improvements (bytes):
-240 : 14421.dasm (-1.96 % of base)
-227 : 59532.dasm (-0.92 % of base)
-225 : 64496.dasm (-3.56 % of base)
-119 : 16204.dasm (-11.23 % of base)
-117 : 22016.dasm (-10.68 % of base)
-99 : 48504.dasm (-4.56 % of base)
-99 : 48520.dasm (-4.56 % of base)
-83 : 68511.dasm (-1.24 % of base)
-77 : 62637.dasm (-0.68 % of base)
-77 : 67921.dasm (-0.68 % of base)
-72 : 39788.dasm (-2.64 % of base)
-69 : 46176.dasm (-3.63 % of base)
-69 : 46151.dasm (-3.63 % of base)
-66 : 50937.dasm (-5.35 % of base)
-64 : 49339.dasm (-7.91 % of base)
-60 : 1162.dasm (-2.29 % of base)
-60 : 2937.dasm (-2.29 % of base)
-58 : 94077.dasm (-6.74 % of base)
-57 : 10885.dasm (-4.71 % of base)
-57 : 44034.dasm (-2.30 % of base)
81 total files with Code Size differences (42 improved, 39 regressed), 20 unchanged.
Top method regressions (bytes):
1166 (5.10 % of base) : 67837.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
193 (5.63 % of base) : 67842.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
112 (3.80 % of base) : 67840.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
69 (3.78 % of base) : 55705.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
57 (1.49 % of base) : 4799.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Instrumented Tier0)
57 (1.49 % of base) : 5477.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Instrumented Tier0)
51 (0.46 % of base) : 62482.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
48 (1.30 % of base) : 3769.dasm - System.Resources.ResourceReader:_ReadResources():this (Instrumented Tier0)
48 (1.30 % of base) : 48677.dasm - System.Resources.ResourceReader:_ReadResources():this (Instrumented Tier0)
45 (1.61 % of base) : 42816.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Instrumented Tier0)
45 (2.16 % of base) : 31969.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
42 (1.93 % of base) : 73933.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
39 (1.07 % of base) : 41921.dasm - System.Security.Cryptography.CryptoStream+<WriteAsyncCore>d__53:MoveNext():this (Instrumented Tier0)
34 (1.03 % of base) : 50936.dasm - Neural:read_data_file():this (Instrumented Tier0)
34 (1.52 % of base) : 17237.dasm - System.IO.StreamReader+<ReadBufferAsync>d__72:MoveNext():this (Instrumented Tier0)
34 (1.52 % of base) : 55126.dasm - System.IO.StreamReader+<ReadBufferAsync>d__72:MoveNext():this (Instrumented Tier0)
33 (2.49 % of base) : 10499.dasm - Utf8Json.JsonWriter:WriteString(System.String):this (Instrumented Tier0)
31 (0.66 % of base) : 14627.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (Instrumented Tier0)
30 (5.43 % of base) : 43648.dasm - System.Formats.Tar.TarHeader:ReadPosixAndGnuSharedAttributes(System.Span`1[ubyte]):this (Tier0)
30 (8.72 % of base) : 1113.dasm - System.RuntimeType:IsSubclassOf(System.Type):ubyte:this (Instrumented Tier0)
Top method improvements (bytes):
-240 (-1.96 % of base) : 14421.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-227 (-0.92 % of base) : 59532.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-225 (-3.56 % of base) : 64496.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
-119 (-11.23 % of base) : 16204.dasm - System.Text.Json.JsonWriterHelper:EscapeNextBytes(ubyte,System.Span`1[ubyte],byref) (Tier0)
-117 (-10.68 % of base) : 22016.dasm - System.Text.Json.JsonWriterHelper:EscapeNextChars(ushort,System.Span`1[ushort],byref) (Tier0)
-99 (-4.56 % of base) : 48504.dasm - IDEAEncryption:de_key_idea(ushort[],ushort[]) (Instrumented Tier0)
-99 (-4.56 % of base) : 48520.dasm - IDEAEncryption:de_key_idea(ushort[],ushort[]) (Instrumented Tier0)
-83 (-1.24 % of base) : 68511.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Instrumented Tier0)
-77 (-0.68 % of base) : 62637.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:CheckValEscape(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,uint,uint,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte:this (Instrumented Tier0)
-77 (-0.68 % of base) : 67921.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:CheckValEscape(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,uint,uint,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte:this (Instrumented Tier0)
-72 (-2.64 % of base) : 39788.dasm - ProtoBuf.Meta.ValueMember:TryGetCoreSerializer(ProtoBuf.Meta.RuntimeTypeModel,int,int,System.Type,byref,ubyte,ubyte,ubyte,ubyte):ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode (Instrumented Tier0)
-69 (-3.63 % of base) : 46176.dasm - AssignRect:first_assignments(int[,],short[,]):int (Instrumented Tier0)
-69 (-3.63 % of base) : 46151.dasm - AssignRect:first_assignments(int[,],short[,]):int (Instrumented Tier0)
-66 (-5.35 % of base) : 50937.dasm - Neural:.cctor() (Tier0)
-64 (-7.91 % of base) : 49339.dasm - MessagePack.MessagePackBinary:WriteBytes(byref,int,ubyte[],int,int):int (Tier0)
-60 (-2.29 % of base) : 1162.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Instrumented Tier0)
-60 (-2.29 % of base) : 2937.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Instrumented Tier0)
-58 (-6.74 % of base) : 94077.dasm - HardwareIntrinsics.RayTracer.Packet256Tracer:MinIntersections(HardwareIntrinsics.RayTracer.RayPacket256,HardwareIntrinsics.RayTracer.Scene):HardwareIntrinsics.RayTracer.Intersections:this (Instrumented Tier0)
-57 (-2.30 % of base) : 44034.dasm - AssignJagged:first_assignments(int[][],short[][]):int (Instrumented Tier0)
-57 (-4.71 % of base) : 10885.dasm - System.Text.Json.Tests.Perf_Reader:ReadReturnBytes():ubyte[]:this (Instrumented Tier0)
Top method regressions (percentages):
12 (21.43 % of base) : 65153.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 60963.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
15 (20.00 % of base) : 54200.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
9 (16.36 % of base) : 887.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
15 (15.96 % of base) : 4076.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[uint]):this (Tier0)
15 (15.00 % of base) : 4073.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
18 (12.95 % of base) : 12868.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
15 (12.40 % of base) : 2365.dasm - System.Runtime.InteropServices.MemoryMarshal:Read[System.Guid](System.ReadOnlySpan`1[ubyte]):System.Guid (Tier0)
11 (11.58 % of base) : 67961.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]:SetUnreachable():this (Instrumented Tier0)
9 (11.54 % of base) : 71737.dasm - System.IO.Hashing.Crc32:Append(System.ReadOnlySpan`1[ubyte]):this (Tier0)
22 (11.40 % of base) : 71403.dasm - System.Formats.Tar.TarHeader:WriteV7FieldsToBuffer(System.Span`1[ubyte]):this (Tier0)
9 (10.98 % of base) : 16091.dasm - System.IO.Hashing.Crc64:Append(System.ReadOnlySpan`1[ubyte]):this (Tier0)
11 (9.40 % of base) : 59146.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:get_Item(int):byref:this (Tier0)
15 (8.82 % of base) : 76570.dasm - System.Runtime.InteropServices.MemoryMarshal:Read[System.Text.Json.JsonDocument+DbRow](System.ReadOnlySpan`1[ubyte]):System.Text.Json.JsonDocument+DbRow (Instrumented Tier0)
30 (8.72 % of base) : 1113.dasm - System.RuntimeType:IsSubclassOf(System.Type):ubyte:this (Instrumented Tier0)
21 (8.50 % of base) : 25478.dasm - System.Reflection.Emit.RuntimeParameterBuilder:.ctor(System.Reflection.Emit.RuntimeMethodBuilder,int,int,System.String):this (Tier0)
22 (8.27 % of base) : 32889.dasm - System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this (Tier0)
11 (7.97 % of base) : 59150.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1+Entry[System.__Canon]]:get_Item(int):byref:this (Tier0)
11 (7.80 % of base) : 68976.dasm - System.Security.Cryptography.SHA256+Implementation:.ctor():this (Instrumented Tier0)
22 (7.77 % of base) : 8404.dasm - System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]:get_Task():System.Threading.Tasks.ValueTask`1[int]:this (Tier0)
Top method improvements (percentages):
-33 (-17.28 % of base) : 23222.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-24 (-15.38 % of base) : 61540.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
-119 (-11.23 % of base) : 16204.dasm - System.Text.Json.JsonWriterHelper:EscapeNextBytes(ubyte,System.Span`1[ubyte],byref) (Tier0)
-18 (-11.11 % of base) : 81212.dasm - System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
-33 (-11.00 % of base) : 50881.dasm - System.Half:RoundPackToHalf(ubyte,short,ushort):ushort (Tier0)
-117 (-10.68 % of base) : 22016.dasm - System.Text.Json.JsonWriterHelper:EscapeNextChars(ushort,System.Span`1[ushort],byref) (Tier0)
-12 (-9.84 % of base) : 23127.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:EqualsAllBenchmark():ubyte:this (Tier0)
-12 (-9.84 % of base) : 32757.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:EqualityOperatorBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 14685.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanOrEqualAllBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 23485.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanOrEqualAnyBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 15119.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:InequalityOperatorBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 16612.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:GreaterThanAnyBenchmark():ubyte:this (Tier0)
-12 (-9.68 % of base) : 35121.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanOrEqualAllBenchmark():ubyte:this (Tier0)
-12 (-9.68 % of base) : 37813.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanOrEqualAnyBenchmark():ubyte:this (Tier0)
-12 (-9.52 % of base) : 15409.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:BitwiseOrBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-12 (-9.52 % of base) : 35742.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:AddOperatorBenchmark():System.Numerics.Vector`1[int]:this (Tier0)
-12 (-9.52 % of base) : 39261.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:BitwiseAndBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-12 (-9.52 % of base) : 12153.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:MultiplyBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
-12 (-9.52 % of base) : 35153.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector`1[uint]:this (Tier0)
-12 (-9.52 % of base) : 23521.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:AddBenchmark():System.Numerics.Vector`1[ushort]:this (Tier0)
benchmarks.run_tiered.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 12686993 (overridden on cmd)
Total bytes of diff: 12676803 (overridden on cmd)
Total bytes of delta: -10190 (-0.08 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
69 : 35034.dasm (3.78 % of base)
57 : 8029.dasm (1.64 % of base)
51 : 39921.dasm (0.46 % of base)
45 : 30039.dasm (2.50 % of base)
45 : 23321.dasm (2.16 % of base)
34 : 33345.dasm (1.07 % of base)
30 : 1034.dasm (11.81 % of base)
30 : 30137.dasm (5.43 % of base)
28 : 30117.dasm (1.70 % of base)
28 : 11260.dasm (3.38 % of base)
26 : 32982.dasm (1.95 % of base)
23 : 13803.dasm (3.10 % of base)
23 : 19977.dasm (2.82 % of base)
23 : 29744.dasm (0.78 % of base)
22 : 22695.dasm (8.27 % of base)
22 : 43988.dasm (11.40 % of base)
22 : 50233.dasm (2.96 % of base)
22 : 5269.dasm (4.63 % of base)
22 : 13842.dasm (1.37 % of base)
22 : 15780.dasm (3.62 % of base)
Top file improvements (bytes):
-240 : 10961.dasm (-1.96 % of base)
-227 : 37059.dasm (-0.92 % of base)
-225 : 41939.dasm (-3.56 % of base)
-119 : 3824.dasm (-11.23 % of base)
-117 : 19330.dasm (-10.68 % of base)
-96 : 32511.dasm (-4.53 % of base)
-78 : 19341.dasm (-3.13 % of base)
-73 : 40078.dasm (-0.83 % of base)
-69 : 1083.dasm (-3.16 % of base)
-66 : 33346.dasm (-5.35 % of base)
-64 : 32653.dasm (-7.91 % of base)
-59 : 52583.dasm (-7.55 % of base)
-57 : 4116.dasm (-5.21 % of base)
-55 : 14141.dasm (-2.81 % of base)
-54 : 31277.dasm (-4.02 % of base)
-54 : 30668.dasm (-2.82 % of base)
-50 : 54680.dasm (-1.19 % of base)
-49 : 2414.dasm (-6.50 % of base)
-49 : 52605.dasm (-3.02 % of base)
-48 : 683.dasm (-2.40 % of base)
81 total files with Code Size differences (44 improved, 37 regressed), 20 unchanged.
Top method regressions (bytes):
69 (3.78 % of base) : 35034.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
57 (1.64 % of base) : 8029.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (Tier0)
51 (0.46 % of base) : 39921.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
45 (2.50 % of base) : 30039.dasm - System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):ubyte:this (Tier0)
45 (2.16 % of base) : 23321.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
34 (1.07 % of base) : 33345.dasm - Neural:read_data_file():this (Tier0)
30 (5.43 % of base) : 30137.dasm - System.Formats.Tar.TarHeader:ReadPosixAndGnuSharedAttributes(System.Span`1[ubyte]):this (Tier0)
30 (11.81 % of base) : 1034.dasm - System.RuntimeType:IsSubclassOf(System.Type):ubyte:this (Tier0)
28 (1.70 % of base) : 30117.dasm - System.Formats.Tar.TarHeader:TryReadCommonAttributes(System.Span`1[ubyte],int):System.Formats.Tar.TarHeader (Tier0)
28 (3.38 % of base) : 11260.dasm - System.Net.IPAddress:TryFormatCore[ushort](System.Span`1[ushort],byref):ubyte:this (Tier0)
26 (1.95 % of base) : 32982.dasm - NeuralJagged:Init() (Tier0)
23 (3.10 % of base) : 13803.dasm - System.Linq.Lookup`2[System.__Canon,System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:GetGrouping(System.__Canon,ubyte):System.Linq.Grouping`2[System.__Canon,System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (Tier0)
23 (0.78 % of base) : 29744.dasm - System.Security.Cryptography.CryptoStream+<WriteAsyncCore>d__53:MoveNext():this (Tier0)
23 (2.82 % of base) : 19977.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Tier0)
22 (11.40 % of base) : 43988.dasm - System.Formats.Tar.TarHeader:WriteV7FieldsToBuffer(System.Span`1[ubyte]):this (Tier0)
22 (3.62 % of base) : 15780.dasm - System.Linq.Lookup`2[int,System.__Canon]:GetGrouping(int,ubyte):System.Linq.Grouping`2[int,System.__Canon]:this (Tier0)
22 (1.37 % of base) : 13842.dasm - System.Reflection.Emit.RuntimeTypeBuilder:.ctor(System.String,int,System.Type,System.Type[],System.Reflection.Emit.RuntimeModuleBuilder,int,int,System.Reflection.Emit.RuntimeTypeBuilder):this (Tier0)
22 (4.63 % of base) : 5269.dasm - System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.__Canon]:get_Task():System.Threading.Tasks.ValueTask`1[System.__Canon]:this (Tier0)
22 (8.27 % of base) : 22695.dasm - System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this (Tier0)
22 (2.96 % of base) : 50233.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ushort],ubyte):this (Tier0)
Top method improvements (bytes):
-240 (-1.96 % of base) : 10961.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-227 (-0.92 % of base) : 37059.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-225 (-3.56 % of base) : 41939.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
-119 (-11.23 % of base) : 3824.dasm - System.Text.Json.JsonWriterHelper:EscapeNextBytes(ubyte,System.Span`1[ubyte],byref) (Tier0)
-117 (-10.68 % of base) : 19330.dasm - System.Text.Json.JsonWriterHelper:EscapeNextChars(ushort,System.Span`1[ushort],byref) (Tier0)
-96 (-4.53 % of base) : 32511.dasm - IDEAEncryption:de_key_idea(ushort[],ushort[]) (Tier0)
-78 (-3.13 % of base) : 19341.dasm - System.Text.Json.JsonReaderHelper:TryUnescape(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte (Tier0)
-73 (-0.83 % of base) : 40078.dasm - Microsoft.CodeAnalysis.CSharp.RefSafetyAnalysis:CheckValEscape(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,uint,uint,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):ubyte:this (Tier0)
-69 (-3.16 % of base) : 1083.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int (Tier0)
-66 (-5.35 % of base) : 33346.dasm - Neural:.cctor() (Tier0)
-64 (-7.91 % of base) : 32653.dasm - MessagePack.MessagePackBinary:WriteBytes(byref,int,ubyte[],int,int):int (Tier0)
-59 (-7.55 % of base) : 52583.dasm - HardwareIntrinsics.RayTracer.Packet256Tracer:MinIntersections(HardwareIntrinsics.RayTracer.RayPacket256,HardwareIntrinsics.RayTracer.Scene):HardwareIntrinsics.RayTracer.Intersections:this (Tier0)
-57 (-5.21 % of base) : 4116.dasm - System.Text.Json.Tests.Perf_Reader:ReadReturnBytes():ubyte[]:this (Tier0)
-55 (-2.81 % of base) : 14141.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (Tier0)
-54 (-2.82 % of base) : 30668.dasm - AssignJagged:first_assignments(int[][],short[][]):int (Tier0)
-54 (-4.02 % of base) : 31277.dasm - AssignRect:first_assignments(int[,],short[,]):int (Tier0)
-50 (-1.19 % of base) : 54680.dasm - Benchstone.MDBenchI.MDPuzzle:DoIt():ubyte:this (Tier0)
-49 (-3.02 % of base) : 52605.dasm - HardwareIntrinsics.RayTracer.VectorMath:Log(System.Runtime.Intrinsics.Vector256`1[float]):System.Runtime.Intrinsics.Vector256`1[float] (Tier0)
-49 (-6.50 % of base) : 2414.dasm - System.Reflection.Emit.SignatureHelper:InternalGetSignatureArray():ubyte[]:this (Tier0)
-48 (-2.40 % of base) : 683.dasm - System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int (Tier0)
Top method regressions (percentages):
12 (21.43 % of base) : 38455.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
15 (20.00 % of base) : 34644.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
9 (16.36 % of base) : 806.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
15 (15.96 % of base) : 3794.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[uint]):this (Tier0)
15 (15.00 % of base) : 3791.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
18 (12.95 % of base) : 17415.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
15 (12.40 % of base) : 2322.dasm - System.Runtime.InteropServices.MemoryMarshal:Read[System.Guid](System.ReadOnlySpan`1[ubyte]):System.Guid (Tier0)
30 (11.81 % of base) : 1034.dasm - System.RuntimeType:IsSubclassOf(System.Type):ubyte:this (Tier0)
9 (11.54 % of base) : 46304.dasm - System.IO.Hashing.Crc32:Append(System.ReadOnlySpan`1[ubyte]):this (Tier0)
22 (11.40 % of base) : 43988.dasm - System.Formats.Tar.TarHeader:WriteV7FieldsToBuffer(System.Span`1[ubyte]):this (Tier0)
9 (10.98 % of base) : 12529.dasm - System.IO.Hashing.Crc64:Append(System.ReadOnlySpan`1[ubyte]):this (Tier0)
11 (9.40 % of base) : 36720.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:get_Item(int):byref:this (Tier0)
21 (8.50 % of base) : 20483.dasm - System.Reflection.Emit.RuntimeParameterBuilder:.ctor(System.Reflection.Emit.RuntimeMethodBuilder,int,int,System.String):this (Tier0)
22 (8.27 % of base) : 22695.dasm - System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this (Tier0)
11 (7.97 % of base) : 36724.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedHashSet`1+Entry[System.__Canon]]:get_Item(int):byref:this (Tier0)
14 (7.78 % of base) : 53250.dasm - PerfLabTests.LowLevelPerf:NewDelegateClassEmptyStaticFn():this (Tier0)
13 (7.60 % of base) : 17414.dasm - System.Xml.Schema.XsdDateTime:WriteXDigits(System.Span`1[ushort],int,int,int) (Tier0)
6 (7.32 % of base) : 14934.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
11 (7.14 % of base) : 16819.dasm - System.Runtime.Serialization.DataContracts.DataContract:WriteRootElement(System.Runtime.Serialization.XmlWriterDelegator,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString):this (Tier0)
19 (6.67 % of base) : 28486.dasm - System.Formats.Tar.TarHeader:WritePaxFieldsToBuffer(System.Span`1[ubyte]):this (Tier0)
Top method improvements (percentages):
-33 (-17.28 % of base) : 17499.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector`1[byte]:this (Tier0)
-24 (-15.38 % of base) : 39055.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
-119 (-11.23 % of base) : 3824.dasm - System.Text.Json.JsonWriterHelper:EscapeNextBytes(ubyte,System.Span`1[ubyte],byref) (Tier0)
-18 (-11.11 % of base) : 49164.dasm - System.Numerics.Tests.Perf_VectorOf`1[double]:DotBenchmark():double:this (Tier0)
-33 (-11.00 % of base) : 33650.dasm - System.Half:RoundPackToHalf(ubyte,short,ushort):ushort (Tier0)
-117 (-10.68 % of base) : 19330.dasm - System.Text.Json.JsonWriterHelper:EscapeNextChars(ushort,System.Span`1[ushort],byref) (Tier0)
-12 (-9.84 % of base) : 17603.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:EqualsAllBenchmark():ubyte:this (Tier0)
-12 (-9.84 % of base) : 22044.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:EqualityOperatorBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 9788.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanOrEqualAllBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 17566.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:LessThanOrEqualAnyBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 9904.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:InequalityOperatorBenchmark():ubyte:this (Tier0)
-12 (-9.76 % of base) : 9790.dasm - System.Numerics.Tests.Perf_VectorOf`1[uint]:GreaterThanAnyBenchmark():ubyte:this (Tier0)
-12 (-9.68 % of base) : 26473.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanOrEqualAllBenchmark():ubyte:this (Tier0)
-12 (-9.68 % of base) : 28826.dasm - System.Numerics.Tests.Perf_VectorOf`1[byte]:GreaterThanOrEqualAnyBenchmark():ubyte:this (Tier0)
-12 (-9.52 % of base) : 9910.dasm - System.Numerics.Tests.Perf_VectorOf`1[int]:EqualsStaticBenchmark():System.Numerics.Vector`1[int]:this (Tier0)
-12 (-9.52 % of base) : 28277.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:BitwiseAndBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-12 (-9.52 % of base) : 9909.dasm - System.Numerics.Tests.Perf_VectorOf`1[long]:BitwiseOrOperatorBenchmark():System.Numerics.Vector`1[long]:this (Tier0)
-12 (-9.52 % of base) : 9906.dasm - System.Numerics.Tests.Perf_VectorOf`1[short]:MultiplyBenchmark():System.Numerics.Vector`1[short]:this (Tier0)
-12 (-9.52 % of base) : 9902.dasm - System.Numerics.Tests.Perf_VectorOf`1[ubyte]:SubtractBenchmark():System.Numerics.Vector`1[ubyte]:this (Tier0)
-12 (-9.52 % of base) : 17441.dasm - System.Numerics.Tests.Perf_VectorOf`1[ushort]:AddBenchmark():System.Numerics.Vector`1[ushort]:this (Tier0)
coreclr_tests.run.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 393136663 (overridden on cmd)
Total bytes of diff: 393292132 (overridden on cmd)
Total bytes of delta: 155469 (0.04 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
3477 : 217069.dasm (11.44 % of base)
3477 : 217080.dasm (11.44 % of base)
1298 : 6290.dasm (3.07 % of base)
1282 : 6286.dasm (2.85 % of base)
1248 : 281700.dasm (6.98 % of base)
1187 : 6297.dasm (2.86 % of base)
971 : 6260.dasm (2.34 % of base)
969 : 6177.dasm (2.21 % of base)
969 : 6189.dasm (2.37 % of base)
967 : 6256.dasm (2.19 % of base)
938 : 5852.dasm (1.84 % of base)
938 : 5887.dasm (1.88 % of base)
938 : 5869.dasm (1.88 % of base)
935 : 5864.dasm (1.85 % of base)
935 : 5888.dasm (1.87 % of base)
935 : 5892.dasm (1.87 % of base)
935 : 5872.dasm (1.87 % of base)
935 : 5880.dasm (1.87 % of base)
935 : 5884.dasm (1.87 % of base)
935 : 5868.dasm (1.82 % of base)
Top file improvements (bytes):
-811 : 251005.dasm (-6.83 % of base)
-810 : 257464.dasm (-6.80 % of base)
-810 : 250988.dasm (-6.75 % of base)
-808 : 250964.dasm (-6.89 % of base)
-808 : 250972.dasm (-6.87 % of base)
-808 : 250994.dasm (-6.79 % of base)
-806 : 265863.dasm (-6.78 % of base)
-806 : 267509.dasm (-6.79 % of base)
-806 : 265852.dasm (-6.89 % of base)
-806 : 265857.dasm (-6.87 % of base)
-806 : 265861.dasm (-6.75 % of base)
-806 : 265870.dasm (-6.84 % of base)
-719 : 250999.dasm (-5.72 % of base)
-718 : 250979.dasm (-5.95 % of base)
-710 : 265859.dasm (-5.88 % of base)
-710 : 265865.dasm (-5.65 % of base)
-537 : 264815.dasm (-4.19 % of base)
-511 : 154213.dasm (-1.63 % of base)
-261 : 251559.dasm (-8.88 % of base)
-240 : 221785.dasm (-1.96 % of base)
85 total files with Code Size differences (40 improved, 45 regressed), 20 unchanged.
Top method regressions (bytes):
3477 (11.44 % of base) : 217069.dasm - <Module>:f():int (MinOpts)
3477 (11.44 % of base) : 217080.dasm - <Module>:f():int (MinOpts)
1298 (3.07 % of base) : 6290.dasm - lclfldsub:TestEntryPoint():int (Tier0)
1282 (2.85 % of base) : 6286.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
1248 (6.98 % of base) : 281700.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
1187 (2.86 % of base) : 6297.dasm - lclfldsub:TestEntryPoint():int (Tier0)
971 (2.34 % of base) : 6260.dasm - lclfldmul:TestEntryPoint():int (Tier0)
969 (2.21 % of base) : 6177.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
969 (2.37 % of base) : 6189.dasm - lclfldadd:TestEntryPoint():int (Tier0)
967 (2.19 % of base) : 6256.dasm - lclfldmul:TestEntryPoint():int (MinOpts)
938 (1.84 % of base) : 5852.dasm - Program:TestCase0011() (MinOpts)
938 (1.88 % of base) : 5887.dasm - Program:TestCase0011() (Tier0)
938 (1.88 % of base) : 5869.dasm - Program:TestCase0011() (Tier0)
935 (1.87 % of base) : 5880.dasm - Program:TestCase0002() (Tier0)
935 (1.85 % of base) : 5864.dasm - Program:TestCase0004() (Tier0)
935 (1.87 % of base) : 5884.dasm - Program:TestCase0006() (Tier0)
935 (1.82 % of base) : 5868.dasm - Program:TestCase0008() (Tier0)
935 (1.87 % of base) : 5888.dasm - Program:TestCase0012() (Tier0)
935 (1.87 % of base) : 5872.dasm - Program:TestCase0014() (Tier0)
935 (1.87 % of base) : 5892.dasm - Program:TestCase0016() (Tier0)
Top method improvements (bytes):
-811 (-6.83 % of base) : 251005.dasm - JitTest_huge_u8_huge_il.Test:Main():int (MinOpts)
-810 (-6.75 % of base) : 250988.dasm - JitTest_huge_r4_huge_il.Test:Main():int (MinOpts)
-810 (-6.80 % of base) : 257464.dasm - JitTest_hugedim_arrays_il.Test:Main():int (MinOpts)
-808 (-6.89 % of base) : 250964.dasm - JitTest_huge_b_huge_il.Test:Main():int (MinOpts)
-808 (-6.87 % of base) : 250972.dasm - JitTest_huge_i4_huge_il.Test:Main():int (MinOpts)
-808 (-6.79 % of base) : 250994.dasm - JitTest_huge_r8_huge_il.Test:Main():int (MinOpts)
-806 (-6.89 % of base) : 265852.dasm - JitTest_huge_b_huge_il.Test:Main():int (Instrumented Tier0)
-806 (-6.87 % of base) : 265857.dasm - JitTest_huge_i4_huge_il.Test:Main():int (Instrumented Tier0)
-806 (-6.75 % of base) : 265861.dasm - JitTest_huge_r4_huge_il.Test:Main():int (Instrumented Tier0)
-806 (-6.78 % of base) : 265863.dasm - JitTest_huge_r8_huge_il.Test:Main():int (Instrumented Tier0)
-806 (-6.84 % of base) : 265870.dasm - JitTest_huge_u8_huge_il.Test:Main():int (Instrumented Tier0)
-806 (-6.79 % of base) : 267509.dasm - JitTest_hugedim_arrays_il.Test:Main():int (Instrumented Tier0)
-719 (-5.72 % of base) : 250999.dasm - JitTest_huge_struct_huge_il.Test:Main():int (MinOpts)
-718 (-5.95 % of base) : 250979.dasm - JitTest_huge_objref_huge_il.Test:Main():int (MinOpts)
-710 (-5.88 % of base) : 265859.dasm - JitTest_huge_objref_huge_il.Test:Main():int (Instrumented Tier0)
-710 (-5.65 % of base) : 265865.dasm - JitTest_huge_struct_huge_il.Test:Main():int (Instrumented Tier0)
-537 (-4.19 % of base) : 264815.dasm - JitTest_huge_struct_Arrays_il.Test:Main():int (MinOpts)
-511 (-1.63 % of base) : 154213.dasm - IntelHardwareIntrinsicTest._Avx2.Program+GatherMaskVector256:Test() (Instrumented Tier0)
-261 (-8.88 % of base) : 251559.dasm - JitTest_lcsval_lcs_cs.LCS:findLCS(JitTest_lcsval_lcs_cs.Data[,,,],ushort[][],int[]) (MinOpts)
-240 (-1.96 % of base) : 221785.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
Top method regressions (percentages):
12 (44.44 % of base) : 200549.dasm - ModConst:I4_Mod_0(int):int (Tier0)
14 (43.75 % of base) : 284997.dasm - Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
14 (43.75 % of base) : 285137.dasm - Test_GitHub_27027:Run(Test_GitHub_27027,int):int (Tier0)
14 (42.42 % of base) : 200563.dasm - ModConst:I8_Mod_0(long):long (Tier0)
12 (21.43 % of base) : 223649.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
12 (19.05 % of base) : 280866.dasm - Runtime_75832:Test(int) (Tier0)
9 (17.65 % of base) : 273714.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
12 (17.39 % of base) : 338032.dasm - Internal.TypeSystem.MethodSignature:get_EmbeddedSignatureMismatchPermitted():ubyte:this (Tier0)
12 (17.39 % of base) : 359890.dasm - Internal.TypeSystem.MethodSignature:get_EmbeddedSignatureMismatchPermitted():ubyte:this (Tier0)
9 (16.36 % of base) : 358373.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
15 (15.96 % of base) : 190866.dasm - System.Numerics.Vector`1[int]:.ctor(System.ReadOnlySpan`1[int]):this (Tier0)
11 (15.94 % of base) : 335774.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_15():System.Object:this (Tier0)
20 (15.62 % of base) : 249853.dasm - TestApp:test_2_3(double):double (Tier0)
20 (15.62 % of base) : 249926.dasm - TestApp:test_2_3(float):float (Tier0)
20 (15.38 % of base) : 289372.dasm - TestApp:test_2_3(double):double (Tier0)
20 (15.38 % of base) : 249574.dasm - TestApp:test_2_3(double):double (Tier0)
20 (15.38 % of base) : 249663.dasm - TestApp:test_2_3(float):float (Tier0)
15 (15.00 % of base) : 279261.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
10 (14.71 % of base) : 335773.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_14():System.Object:this (Tier0)
11 (14.47 % of base) : 335763.dasm - ManagedPointers+<>c:<Validate_IntrinsicMethodsWithByRef_NullByRef>b__2_6():System.Object:this (Tier0)
Top method improvements (percentages):
-24 (-15.38 % of base) : 224337.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
-27 (-12.68 % of base) : 285338.dasm - Performance_2700:TestEntryPoint():int (Tier0)
-20 (-12.58 % of base) : 74392.dasm - CompareVectorWithZero:TestEqualityUsingReversedInputs[int](System.Runtime.Intrinsics.Vector512`1[int]) (Tier0)
-20 (-12.42 % of base) : 74417.dasm - CompareVectorWithZero:TestInequalityUsingReversedInputs[int](System.Runtime.Intrinsics.Vector512`1[int]) (Tier0)
-14 (-12.07 % of base) : 483483.dasm - (dynamicClass):ABIStress_TailCaller789(ABIStress.S2U,ABIStress.S2P,ABIStress.S4U,int,ABIStress.S2U,ABIStress.S4P,short,ABIStress.S2U,double,long):int (MinOpts)
-54 (-11.95 % of base) : 166573.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplyAddSubtractDouble:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166570.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplyAddSubtractDouble:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166590.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplyAddSubtractSingle:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166587.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplyAddSubtractSingle:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166641.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplySubtractAddDouble:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166638.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplySubtractAddDouble:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166658.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.AlternatingTernaryOpTest__MultiplySubtractAddSingle:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166505.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplyAddDouble:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166502.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplyAddDouble:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166539.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplyAddNegatedDouble:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166553.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplyAddNegatedSingle:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166522.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplyAddSingle:RunBasicScenario_Load():this (Tier0)
-54 (-11.95 % of base) : 166519.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplyAddSingle:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166689.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplySubtractNegatedSingle:RunBasicScenario_UnsafeRead():this (Tier0)
-54 (-11.95 % of base) : 166621.dasm - JIT.HardwareIntrinsics.X86._Fma_Vector256.SimpleTernaryOpTest__MultiplySubtractSingle:RunBasicScenario_UnsafeRead():this (Tier0)
libraries.crossgen2.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 39411196 (overridden on cmd)
Total bytes of diff: 39411194 (overridden on cmd)
Total bytes of delta: -2 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
2 : 158139.dasm (1.28 % of base)
Top file improvements (bytes):
-2 : 20331.dasm (-1.79 % of base)
-2 : 20336.dasm (-1.79 % of base)
3 total files with Code Size differences (2 improved, 1 regressed), 5 unchanged.
Top method regressions (bytes):
2 (1.28 % of base) : 158139.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (bytes):
-2 (-1.79 % of base) : 20331.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
-2 (-1.79 % of base) : 20336.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
Top method regressions (percentages):
2 (1.28 % of base) : 158139.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (percentages):
-2 (-1.79 % of base) : 20331.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
-2 (-1.79 % of base) : 20336.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
3 total methods with Code Size differences (2 improved, 1 regressed).
libraries.pmi.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 61131115 (overridden on cmd)
Total bytes of diff: 61131117 (overridden on cmd)
Total bytes of delta: 2 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2 : 239225.dasm (1.28 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 1 unchanged.
Top method regressions (bytes):
2 (1.28 % of base) : 239225.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method regressions (percentages):
2 (1.28 % of base) : 239225.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
1 total methods with Code Size differences (0 improved, 1 regressed).
libraries_tests.run.windows.x64.Release.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 279572690 (overridden on cmd)
Total bytes of diff: 279446613 (overridden on cmd)
Total bytes of delta: -126077 (-0.05 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
3397 : 469852.dasm (1.49 % of base)
3397 : 470666.dasm (1.43 % of base)
1248 : 420647.dasm (6.98 % of base)
1166 : 72314.dasm (5.10 % of base)
558 : 75399.dasm (1.03 % of base)
520 : 420969.dasm (4.14 % of base)
504 : 253349.dasm (1.66 % of base)
390 : 181385.dasm (2.16 % of base)
297 : 358168.dasm (3.64 % of base)
276 : 111716.dasm (1.77 % of base)
276 : 113380.dasm (1.77 % of base)
276 : 112937.dasm (1.77 % of base)
276 : 113048.dasm (1.77 % of base)
276 : 113613.dasm (1.77 % of base)
276 : 111565.dasm (1.77 % of base)
222 : 465970.dasm (3.63 % of base)
195 : 438702.dasm (2.63 % of base)
194 : 465908.dasm (3.52 % of base)
193 : 653856.dasm (5.63 % of base)
183 : 356899.dasm (3.42 % of base)
Top file improvements (bytes):
-4365 : 180796.dasm (-1.13 % of base)
-4365 : 178693.dasm (-1.17 % of base)
-1699 : 640500.dasm (-0.54 % of base)
-1582 : 444938.dasm (-1.09 % of base)
-908 : 500719.dasm (-0.96 % of base)
-908 : 463438.dasm (-0.96 % of base)
-806 : 179059.dasm (-0.66 % of base)
-788 : 178852.dasm (-0.66 % of base)
-788 : 179260.dasm (-0.66 % of base)
-701 : 489080.dasm (-1.27 % of base)
-701 : 462463.dasm (-1.27 % of base)
-701 : 465143.dasm (-1.22 % of base)
-701 : 493614.dasm (-1.22 % of base)
-686 : 489838.dasm (-1.30 % of base)
-686 : 463541.dasm (-1.30 % of base)
-655 : 487728.dasm (-1.18 % of base)
-655 : 462888.dasm (-1.18 % of base)
-639 : 179156.dasm (-0.65 % of base)
-592 : 465109.dasm (-1.01 % of base)
-592 : 494709.dasm (-1.01 % of base)
82 total files with Code Size differences (42 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
3397 (1.43 % of base) : 470666.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Instrumented Tier0)
3397 (1.49 % of base) : 469852.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0)
1248 (6.98 % of base) : 420647.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
1166 (5.10 % of base) : 72314.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
558 (1.03 % of base) : 75399.dasm - LibraryImportGenerator.UnitTests.CompileFails+<CodeSnippetsToCompile>d__1:MoveNext():ubyte:this (Tier0)
520 (4.14 % of base) : 420969.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Instrumented Tier0)
504 (1.66 % of base) : 253349.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:<ObservableInstrumentMeasurementTest>b__7_0():this (Tier0)
390 (2.16 % of base) : 181385.dasm - Microsoft.Win32.RegistryTests.TestData:.cctor() (Instrumented Tier0)
297 (3.64 % of base) : 358168.dasm - System.Net.Http.QPack.H3StaticTable:.cctor() (Tier0)
276 (1.77 % of base) : 111716.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 113380.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 112937.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 113048.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 113613.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
276 (1.77 % of base) : 111565.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
222 (3.63 % of base) : 465970.dasm - System.Numerics.Tests.op_rightshiftTest:RunRightShiftTests() (Instrumented Tier0)
195 (2.63 % of base) : 438702.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
194 (3.52 % of base) : 465908.dasm - System.Numerics.Tests.op_leftshiftTest:RunLeftShiftTests() (Instrumented Tier0)
193 (5.63 % of base) : 653856.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
183 (3.42 % of base) : 356899.dasm - System.Net.Http.HPack.H2StaticTable:.cctor() (Tier0)
Top method improvements (bytes):
-4365 (-1.13 % of base) : 180796.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<Compare_Primitives_TestData>d__139:MoveNext():ubyte:this (Instrumented Tier0)
-4365 (-1.17 % of base) : 178693.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<Compare_Primitives_TestData>d__139:MoveNext():ubyte:this (Tier0)
-1699 (-0.54 % of base) : 640500.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-1582 (-1.09 % of base) : 444938.dasm - System.Reflection.Emit.Tests.OpCodesTests+<TestData>d__0:MoveNext():ubyte:this (Tier0)
-908 (-0.96 % of base) : 500719.dasm - System.Tests.UriCreateStringTests+<Scheme_Authority_TestData>d__4:MoveNext():ubyte:this (Tier0)
-908 (-0.96 % of base) : 463438.dasm - System.Tests.UriCreateStringTests+<Scheme_Authority_TestData>d__4:MoveNext():ubyte:this (Tier0)
-806 (-0.66 % of base) : 179059.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<OrObject_TestData>d__90:MoveNext():ubyte:this (Tier0)
-788 (-0.66 % of base) : 178852.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<AndObject_TestData>d__13:MoveNext():ubyte:this (Tier0)
-788 (-0.66 % of base) : 179260.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<XorObject_TestData>d__116:MoveNext():ubyte:this (Tier0)
-701 (-1.22 % of base) : 465143.dasm - System.Tests.ArrayTests+<IndexOf_SZArray_TestData>d__119:MoveNext():ubyte:this (Instrumented Tier0)
-701 (-1.22 % of base) : 493614.dasm - System.Tests.ArrayTests+<IndexOf_SZArray_TestData>d__119:MoveNext():ubyte:this (Instrumented Tier0)
-701 (-1.27 % of base) : 489080.dasm - System.Tests.ArrayTests+<IndexOf_SZArray_TestData>d__119:MoveNext():ubyte:this (Tier0)
-701 (-1.27 % of base) : 462463.dasm - System.Tests.ArrayTests+<IndexOf_SZArray_TestData>d__119:MoveNext():ubyte:this (Tier0)
-686 (-1.30 % of base) : 489838.dasm - System.Tests.ArrayTests+<LastIndexOf_SZArray_TestData>d__128:MoveNext():ubyte:this (Tier0)
-686 (-1.30 % of base) : 463541.dasm - System.Tests.ArrayTests+<LastIndexOf_SZArray_TestData>d__128:MoveNext():ubyte:this (Tier0)
-655 (-1.18 % of base) : 462888.dasm - System.Tests.StringTests+<Compare_TestData>d__128:MoveNext():ubyte:this (Tier0)
-655 (-1.18 % of base) : 487728.dasm - System.Tests.StringTests+<Compare_TestData>d__27:MoveNext():ubyte:this (Tier0)
-639 (-0.65 % of base) : 179156.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<ModObject_TestData>d__67:MoveNext():ubyte:this (Tier0)
-592 (-1.01 % of base) : 465109.dasm - System.Tests.ArrayTests+<Sort_SZArray_TestData>d__159:MoveNext():ubyte:this (Instrumented Tier0)
-592 (-1.01 % of base) : 494709.dasm - System.Tests.ArrayTests+<Sort_SZArray_TestData>d__159:MoveNext():ubyte:this (Instrumented Tier0)
Top method regressions (percentages):
12 (21.43 % of base) : 31890.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 152628.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
12 (21.43 % of base) : 11825.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
12 (21.43 % of base) : 136905.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
12 (21.43 % of base) : 147220.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
12 (20.34 % of base) : 659181.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2[System.__Canon,int]:.cctor() (Tier0)
15 (20.00 % of base) : 570334.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
15 (20.00 % of base) : 206451.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
9 (19.15 % of base) : 192676.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
9 (19.15 % of base) : 191684.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
12 (18.46 % of base) : 74847.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
9 (17.65 % of base) : 12509.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
12 (17.39 % of base) : 659078.dasm - System.Threading.RateLimiting.TimerAwaitable:get_IsCompleted():ubyte:this (Tier0)
9 (16.36 % of base) : 3189.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:.cctor() (Tier0)
19 (16.10 % of base) : 145822.dasm - Microsoft.CodeAnalysis.Collections.Internal.SegmentedArrayHelper+ValueTypeSegmentHelper`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[System.__Canon,Roslyn.Utilities.VoidResult]]:.cctor() (Tier0)
15 (15.96 % of base) : 74163.dasm - System.Numerics.Vector`1[int]:.ctor(System.ReadOnlySpan`1[int]):this (Tier0)
15 (15.00 % of base) : 122372.dasm - System.Numerics.Vector`1[uint]:.ctor(System.ReadOnlySpan`1[ubyte]):this (Tier0)
54 (14.48 % of base) : 311780.dasm - System.IO.Hashing.XxHash32+State:ProcessStripe(System.ReadOnlySpan`1[ubyte]):this (Tier0)
11 (14.29 % of base) : 42063.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Instrumented Tier0)
11 (14.29 % of base) : 20831.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Tier0)
Top method improvements (percentages):
-27 (-15.98 % of base) : 40765.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Instrumented Tier0)
-27 (-15.98 % of base) : 20119.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags (Tier0)
-27 (-15.98 % of base) : 40766.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags:.ctor(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):this (Instrumented Tier0)
-27 (-15.98 % of base) : 20120.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol+Flags:.ctor(int,ubyte,uint,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):this (Tier0)
-25 (-12.69 % of base) : 114359.dasm - DryIoc.Setup+WrapperSetup:.ctor(int,ubyte,System.Func`2[System.Type,System.Type],System.Func`2[DryIoc.Request,ubyte],ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,int):this (Tier0)
-58 (-12.18 % of base) : 620606.dasm - System.Text.RegularExpressions.Match:BalanceMatch(int):this (Tier0)
-18 (-12.00 % of base) : 237687.dasm - System.IO.KeyParser:<TryParseTerminalInputSequence>g__Create|7_7(ushort,int,int):System.ConsoleKeyInfo (Instrumented Tier0)
-18 (-12.00 % of base) : 237510.dasm - System.IO.KeyParser:<TryParseTerminalInputSequence>g__Create|7_7(ushort,int,int):System.ConsoleKeyInfo (Tier0)
-26 (-11.61 % of base) : 240648.dasm - System.Data.SqlTypes.SqlGuid:.ctor(int,short,short,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte):this (Tier0)
-117 (-11.38 % of base) : 548512.dasm - System.Text.Json.JsonWriterHelper:EscapeNextBytes(ubyte,System.Span`1[ubyte],byref) (Tier0)
-117 (-10.68 % of base) : 132896.dasm - System.Text.Json.JsonWriterHelper:EscapeNextChars(ushort,System.Span`1[ushort],byref) (Tier0)
-13 (-10.57 % of base) : 137893.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,uint,ubyte,ubyte,ubyte,ubyte):this (Tier0)
-13 (-10.57 % of base) : 146989.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:MakeFlags(int,uint,ubyte,ubyte,ubyte,ubyte):this (Tier0)
-58 (-10.41 % of base) : 485257.dasm - System.Tests.GuidTests:Ctor_Int_Short_Short_ByteArray(int,short,short,ubyte[],System.Guid) (Tier0)
-28 (-10.33 % of base) : 79950.dasm - System.Security.Cryptography.X509Certificates.CertificatePal:GetIssuerOrSubject(ubyte,ubyte):System.String:this (Tier0)
-46 (-9.91 % of base) : 158307.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:LearnFromPostConditions(Microsoft.CodeAnalysis.CSharp.BoundExpression,int):this (Tier0)
-46 (-9.83 % of base) : 139713.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArgumentOutboundAssignmentsAndPostConditions>g__learnFromPostConditions|204_6(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,int):this (Tier0)
-46 (-9.83 % of base) : 150529.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:<VisitArgumentOutboundAssignmentsAndPostConditions>g__learnFromPostConditions|215_6(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,int):this (Tier0)
-112 (-9.75 % of base) : 184443.dasm - System.Xml.XmlTextReaderImpl:ParseNamedCharRefInline(int,ubyte,System.Text.StringBuilder):int:this (Tier0)
-26 (-9.39 % of base) : 30922.dasm - System.Reflection.Metadata.Ecma335.TypeDefTableReader:.ctor(int,int,int,int,int,System.Reflection.Internal.MemoryBlock,int):this (Instrumented Tier0)
librariestestsnotieredcompilation.run.windows.x64.Release.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 133740839 (overridden on cmd)
Total bytes of diff: 133728271 (overridden on cmd)
Total bytes of delta: -12568 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
3397 : 203820.dasm (1.49 % of base)
44 : 13254.dasm (1.20 % of base)
8 : 296409.dasm (0.18 % of base)
6 : 298623.dasm (0.09 % of base)
5 : 2262.dasm (0.13 % of base)
5 : 290193.dasm (0.57 % of base)
5 : 290197.dasm (0.57 % of base)
5 : 298677.dasm (0.47 % of base)
4 : 296354.dasm (0.59 % of base)
4 : 10194.dasm (0.24 % of base)
3 : 305728.dasm (0.45 % of base)
3 : 290333.dasm (0.81 % of base)
3 : 290337.dasm (0.81 % of base)
3 : 290351.dasm (0.81 % of base)
3 : 296094.dasm (0.67 % of base)
3 : 296119.dasm (0.67 % of base)
3 : 296274.dasm (0.68 % of base)
3 : 296378.dasm (0.67 % of base)
3 : 296423.dasm (0.67 % of base)
3 : 296428.dasm (0.67 % of base)
Top file improvements (bytes):
-4365 : 61197.dasm (-1.17 % of base)
-1699 : 301475.dasm (-0.52 % of base)
-454 : 298107.dasm (-0.31 % of base)
-329 : 63767.dasm (-1.12 % of base)
-328 : 298019.dasm (-0.26 % of base)
-203 : 305786.dasm (-1.93 % of base)
-203 : 305789.dasm (-1.92 % of base)
-114 : 301468.dasm (-0.06 % of base)
-38 : 64372.dasm (-4.69 % of base)
-28 : 63841.dasm (-1.89 % of base)
-22 : 305780.dasm (-1.76 % of base)
-22 : 305783.dasm (-1.69 % of base)
-18 : 13481.dasm (-0.11 % of base)
-15 : 5586.dasm (-0.46 % of base)
-15 : 13781.dasm (-0.11 % of base)
-15 : 2513.dasm (-0.27 % of base)
-15 : 13255.dasm (-1.10 % of base)
-14 : 4454.dasm (-0.07 % of base)
-14 : 2534.dasm (-0.50 % of base)
-12 : 284253.dasm (-0.79 % of base)
72 total files with Code Size differences (39 improved, 33 regressed), 20 unchanged.
Top method regressions (bytes):
3397 (1.49 % of base) : 203820.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
44 (1.20 % of base) : 13254.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)
8 (0.18 % of base) : 296409.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get72_67+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
6 (0.09 % of base) : 298623.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get169_25+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
5 (0.13 % of base) : 2262.dasm - Microsoft.CodeAnalysis.Testing.SolutionState:WithProcessedMarkup(int,Microsoft.CodeAnalysis.DiagnosticDescriptor,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.DiagnosticDescriptor],System.Collections.Immutable.ImmutableArray`1[System.String],System.String):Microsoft.CodeAnalysis.Testing.SolutionState:this (MinOpts)
5 (0.47 % of base) : 298677.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get235_42+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
5 (0.57 % of base) : 290193.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get530_386+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
5 (0.57 % of base) : 290197.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get531_387+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
4 (0.24 % of base) : 10194.dasm - Microsoft.CodeAnalysis.Testing.DiagnosticResult:ToString():System.String:this (MinOpts)
4 (0.59 % of base) : 296354.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get60_55+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
3 (0.09 % of base) : 64376.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read109_Item(ubyte,ubyte):SerializationTypes.NamespaceTypeNameClashContainer:this (MinOpts)
3 (0.11 % of base) : 64784.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read110_Person(ubyte,ubyte):Outer+Person:this (MinOpts)
3 (0.16 % of base) : 64392.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read3_TypeWithXmlDocumentProperty(ubyte,ubyte):TypeWithXmlDocumentProperty:this (MinOpts)
3 (0.15 % of base) : 64692.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read41_XElementWrapper(ubyte,ubyte):XElementWrapper:this (MinOpts)
3 (0.07 % of base) : 64796.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read61_DerivedClassWithSameProperty(ubyte,ubyte):SerializationTypes.DerivedClassWithSameProperty:this (MinOpts)
3 (0.09 % of base) : 64800.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read85_TypeWithAnyAttribute(ubyte,ubyte):SerializationTypes.TypeWithAnyAttribute:this (MinOpts)
3 (0.09 % of base) : 64524.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1:Read96_Item(ubyte,ubyte):SerializationTypes.TypeWithPropertiesHavingDefaultValue:this (MinOpts)
3 (0.45 % of base) : 305728.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
3 (0.68 % of base) : 296274.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_41569EDFFAF99217ED44AE8131C3ECED092758A14BF36968256C256BDC0CF2C1(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.81 % of base) : 290337.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_44AB8176580C296BA200A14D8FDB0F04713003D5378F8A2ADB81DA50F127E332(System.ReadOnlySpan`1[ushort]):int (MinOpts)
Top method improvements (bytes):
-4365 (-1.17 % of base) : 61197.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<Compare_Primitives_TestData>d__139:MoveNext():ubyte:this (Tier0-MinOpts)
-1699 (-0.52 % of base) : 301475.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-454 (-0.31 % of base) : 298107.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4744_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
-329 (-1.12 % of base) : 63767.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write1_Object(System.String,System.String,System.Object,ubyte,ubyte):this (MinOpts)
-328 (-0.26 % of base) : 298019.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex4736_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
-203 (-1.93 % of base) : 305786.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-203 (-1.92 % of base) : 305789.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-114 (-0.06 % of base) : 301468.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-38 (-4.69 % of base) : 64372.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write105_Item(System.String,System.String,SerializationTypes.NamespaceTypeNameClashContainer,ubyte,ubyte):this (MinOpts)
-28 (-1.89 % of base) : 63841.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write45_TypeWithGetSetArrayMembers(System.String,System.String,SerializationTypes.TypeWithGetSetArrayMembers,ubyte,ubyte):this (MinOpts)
-22 (-1.76 % of base) : 305780.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-22 (-1.69 % of base) : 305783.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-18 (-0.11 % of base) : 13481.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixAllAnalyerDiagnosticsInScopeAsync>d__54[System.__Canon]:MoveNext():this (MinOpts)
-15 (-1.10 % of base) : 13255.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:<FormatDiagnostics>g__AppendLocation|77_0(Microsoft.CodeAnalysis.Testing.DiagnosticLocation,byref) (MinOpts)
-15 (-0.46 % of base) : 5586.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<ApplySourceGeneratorsAsync>d__86[System.__Canon]:MoveNext():this (MinOpts)
-15 (-0.27 % of base) : 2513.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySourceGeneratorAsync>d__68[System.__Canon]:MoveNext():this (MinOpts)
-15 (-0.11 % of base) : 13781.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyProjectAsync>d__49[System.__Canon]:MoveNext():this (MinOpts)
-14 (-0.50 % of base) : 2534.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateSolutionAsync>d__97[System.__Canon]:MoveNext():this (MinOpts)
-14 (-0.07 % of base) : 4454.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+<ResolveCoreAsync>d__50:MoveNext():this (MinOpts)
-12 (-0.79 % of base) : 284253.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get964_568:.ctor():this (MinOpts)
Top method regressions (percentages):
3397 (1.49 % of base) : 203820.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
2 (1.28 % of base) : 229933.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
44 (1.20 % of base) : 13254.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)
2 (0.85 % of base) : 178163.dasm - System.Xml.Xsl.CompiledQuery.Query:Init(System.Xml.Xsl.Runtime.XmlQueryRuntime) (MinOpts)
3 (0.81 % of base) : 290337.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_44AB8176580C296BA200A14D8FDB0F04713003D5378F8A2ADB81DA50F127E332(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.81 % of base) : 290333.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_510286B569F1420FDED9B941BD0A7390FA7316DE4E721E88EA108AB0AA778285(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.81 % of base) : 290351.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_6E677458999733E5407B5E2317F2B97D87DCAC6EB7CF241D33C03715C60C9875(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.68 % of base) : 296274.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_41569EDFFAF99217ED44AE8131C3ECED092758A14BF36968256C256BDC0CF2C1(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 296094.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_6C2382645B03C0266EB5677959E9219427EE8EA79AC0E1BCFCB694541C1E2E1B(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 296378.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_79A16370126EBEFD87DBE2244764B0E38D2C7754F3581DAD1A1BB687A87C1CB6(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 296428.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_7A8B1C80CDE99D1CBB08D0F471A0F6791ABC9388B5900F1C6B8FA2DEF069760A(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 296440.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_840A3E17C0E58C8CEECB87C05AF4EF76C9DB97ACC0B60AD5080F0A2AC35F27E6(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 296423.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_9A03B6493A89E517F561393B12E56768B82CCD82506C0BA7304B78E8CAA6B91D(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 296119.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_9BE2A45CE17C9DF3CA7BF217C7D3B3773708E111D804991F112248FA5E0A7CAD(System.ReadOnlySpan`1[ushort]):int (MinOpts)
3 (0.67 % of base) : 300462.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities:IndexOfNonAsciiOrAny_FD50A1F4B278307219A272B753E627D736BC6ED5306B6F44F648758A381A6773(System.ReadOnlySpan`1[ushort]):int (MinOpts)
2 (0.64 % of base) : 287910.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get787_443+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
2 (0.64 % of base) : 288219.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get928_540+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
4 (0.59 % of base) : 296354.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get60_55+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
5 (0.57 % of base) : 290193.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get530_386+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
5 (0.57 % of base) : 290197.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get531_387+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method improvements (percentages):
-38 (-4.69 % of base) : 64372.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write105_Item(System.String,System.String,SerializationTypes.NamespaceTypeNameClashContainer,ubyte,ubyte):this (MinOpts)
-8 (-2.43 % of base) : 286858.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get195_130+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-5 (-2.35 % of base) : 64737.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write147_SimpleType(System.Object):this (MinOpts)
-7 (-2.30 % of base) : 287566.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get613_334+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.30 % of base) : 290686.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get768_540+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-8 (-2.25 % of base) : 299063.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get473_159+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-8 (-2.19 % of base) : 299577.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get797_322+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.10 % of base) : 305772.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.10 % of base) : 306229.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get155_132+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.10 % of base) : 298879.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get360_104+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-7 (-2.10 % of base) : 303489.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get57_55+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-3 (-2.08 % of base) : 16268.dasm - Microsoft.CodeAnalysis.Testing.ProjectCollection:get_Item(System.String):Microsoft.CodeAnalysis.Testing.ProjectState:this (MinOpts)
-4 (-2.01 % of base) : 64683.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write169_Item(System.Object):this (MinOpts)
-4 (-2.01 % of base) : 63764.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write183_AttributeTesting(System.Object):this (MinOpts)
-6 (-2.00 % of base) : 281477.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-6 (-2.00 % of base) : 281563.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-6 (-2.00 % of base) : 281569.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-6 (-2.00 % of base) : 281577.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-6 (-2.00 % of base) : 281583.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-6 (-2.00 % of base) : 281591.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
realworld.run.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 14188290 (overridden on cmd)
Total bytes of diff: 14188296 (overridden on cmd)
Total bytes of delta: 6 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
6 : 4522.dasm (0.00 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 2 unchanged.
Top method regressions (bytes):
6 (0.00 % of base) : 4522.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
Top method regressions (percentages):
6 (0.00 % of base) : 4522.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
1 total methods with Code Size differences (0 improved, 1 regressed).
smoke_tests.nativeaot.windows.x64.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 5085035 (overridden on cmd)
Total bytes of diff: 5085035 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 3 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).