Diffs are based on 1,007,693 contexts (446,494 MinOpts, 561,199 FullOpts).
Overall (-1,224 bytes)
Collection | Base size (bytes) | Diff size (bytes) |
---|---|---|
benchmarks.run.windows.arm64.checked.mch | 10,996,000 | -132 |
benchmarks.run_pgo.windows.arm64.checked.mch | 32,626,724 | -128 |
benchmarks.run_tiered.windows.arm64.checked.mch | 14,869,564 | -56 |
coreclr_tests.run.windows.arm64.checked.mch | 487,380,284 | -408 |
libraries.crossgen2.windows.arm64.checked.mch | 67,279,180 | -500 |
FullOpts (-1,224 bytes)
Collection | Base size (bytes) | Diff size (bytes) |
---|---|---|
benchmarks.run.windows.arm64.checked.mch | 10,478,860 | -132 |
benchmarks.run_pgo.windows.arm64.checked.mch | 16,734,668 | -128 |
benchmarks.run_tiered.windows.arm64.checked.mch | 3,730,488 | -56 |
coreclr_tests.run.windows.arm64.checked.mch | 150,211,960 | -408 |
libraries.crossgen2.windows.arm64.checked.mch | 67,277,544 | -500 |
Example diffs
benchmarks.run.windows.arm64.checked.mch
-4 (-4.00%) : 21769.dasm - V8.Crypto.BigInteger:nbits(int):int:this (FullOpts)
@@ -59,16 +59,15 @@ G_M11074_IG09: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=8 bbWeight=0.50 PerfScore 0.50
G_M11074_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
asr w1, w1, #1
- add w2, w0, #1
cmp w1, #0
- csel w0, w0, w2, eq
- ;; size=16 bbWeight=1 PerfScore 2.50
+ csinc w0, w0, w0, eq
+ ;; size=12 bbWeight=1 PerfScore 2.00
G_M11074_IG11: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 100, prolog size 8, PerfScore 26.50, instruction count 25, allocated bytes for code 100 (MethodHash=e9c7d4bd) for method V8.Crypto.BigInteger:nbits(int):int:this (FullOpts)
+; Total bytes of code 96, prolog size 8, PerfScore 25.60, instruction count 24, allocated bytes for code 96 (MethodHash=e9c7d4bd) for method V8.Crypto.BigInteger:nbits(int):int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -79,7 +78,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 25 (0x00019) Actual length = 100 (0x000064)
+ Function Length : 24 (0x00018) Actual length = 96 (0x000060)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-2.63%) : 7793.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
@@ -81,10 +81,9 @@ G_M1078_IG06: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr x0, [x0, x4]
umulh x0, x2, x0
add x5, x5, x0
- add x1, x3, #1
cmp x0, x5
- csel x3, x3, x1, ls
- ;; size=40 bbWeight=0.50 PerfScore 6.50
+ csinc x3, x3, x3, ls
+ ;; size=36 bbWeight=0.50 PerfScore 6.25
G_M1078_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov x0, x3
mov x1, x5
@@ -98,7 +97,7 @@ G_M1078_IG09: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
brk_windows #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 152, prolog size 8, PerfScore 46.45, instruction count 38, allocated bytes for code 152 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
+; Total bytes of code 148, prolog size 8, PerfScore 45.80, instruction count 37, allocated bytes for code 148 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (FullOpts)
; ============================================================
Unwind Info:
@@ -109,7 +108,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 38 (0x00026) Actual length = 152 (0x000098)
+ 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)
-4 (-2.44%) : 12798.dasm - System.Array:LastIndexOf[System.__Canon](System.__Canon[],System.__Canon,int):int (FullOpts)
@@ -43,14 +43,13 @@ G_M19954_IG02: ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, b
sxtw w21, w3
ldr w1, [x19, #0x08]
; gcrRegs -[x1]
- add w2, w21, #1
- ; gcrRegs -[x2]
cmp w1, #0
- csel w22, wzr, w2, eq
+ csinc w22, wzr, w21, eq
ldr x1, [x0, #0x38]
ldr x2, [x1, #0x10]
+ ; gcrRegs -[x2]
cbz x2, G_M19954_IG04
- ;; size=44 bbWeight=1 PerfScore 14.00
+ ;; size=40 bbWeight=1 PerfScore 13.50
G_M19954_IG03: ; bbWeight=0.80, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
mov x0, x2
b G_M19954_IG05
@@ -93,7 +92,7 @@ G_M19954_IG07: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
brk_windows #0
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 164, prolog size 20, PerfScore 47.10, instruction count 41, allocated bytes for code 164 (MethodHash=5520b20d) for method System.Array:LastIndexOf[System.__Canon](System.__Canon[],System.__Canon,int):int (FullOpts)
+; Total bytes of code 160, prolog size 20, PerfScore 46.20, instruction count 40, allocated bytes for code 160 (MethodHash=5520b20d) for method System.Array:LastIndexOf[System.__Canon](System.__Canon[],System.__Canon,int):int (FullOpts)
; ============================================================
Unwind Info:
@@ -104,7 +103,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.04%) : 10641.dasm - System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
@@ -1903,9 +1903,8 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
cmp w26, #0
cinc w22, w0, ne
neg w0, w26
- add w0, w0, #1
cmp w26, #0
- csel w26, wzr, w0, eq
+ csinc w26, wzr, w0, eq
mov w0, w22
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -1917,7 +1916,7 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
ldr w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x10]
- ;; size=72 bbWeight=0.50 PerfScore 9.00
+ ;; size=68 bbWeight=0.50 PerfScore 8.75
G_M26699_IG88: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
add x25, x19, #24
; byrRegs +[x25]
@@ -4051,7 +4050,7 @@ RWD264 dd G_M26699_IG66 - G_M26699_IG02
dd G_M26699_IG85 - G_M26699_IG02
-; Total bytes of code 9296, prolog size 36, PerfScore 2496.10, instruction count 2324, allocated bytes for code 9296 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
+; Total bytes of code 9292, prolog size 36, PerfScore 2495.45, instruction count 2323, allocated bytes for code 9292 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
; ============================================================
Unwind Info:
@@ -4062,7 +4061,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2324 (0x00914) Actual length = 9296 (0x002450)
+ Function Length : 2323 (0x00913) Actual length = 9292 (0x00244c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.04%) : 22603.dasm - Jil.Deserialize.Methods:_ReadISO8601DateThunkReader(byref,ushort[]):System.DateTime (FullOpts)
@@ -2855,9 +2855,8 @@ G_M24648_IG139: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000000 {x2
cmp w0, w26
bhs G_M24648_IG195
ldrh w5, [x27, w0, UXTW #2]
- add w6, w0, #1
cmp w5, #58
- csel w0, w0, w6, ne
+ csinc w0, w0, w0, ne
sub w5, w20, w0
add w5, w5, #1
cmp w5, #2
@@ -2892,7 +2891,7 @@ G_M24648_IG139: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000000 {x2
cmp w5, #0
cset x4, eq
b G_M24648_IG141
- ;; size=160 bbWeight=0.50 PerfScore 17.00
+ ;; size=156 bbWeight=0.50 PerfScore 16.75
G_M24648_IG140: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
; byrRegs -[x27]
mov w4, wzr
@@ -4807,7 +4806,7 @@ G_M24648_IG199: ; bbWeight=0, gcVars=000000000000000000000000000000000000
RWD00 dq 4220C388D0000000h ; 3.6e+10
-; Total bytes of code 10860, prolog size 72, PerfScore 2243.34, instruction count 2715, allocated bytes for code 10860 (MethodHash=be469fb7) for method Jil.Deserialize.Methods:_ReadISO8601DateThunkReader(byref,ushort[]):System.DateTime (FullOpts)
+; Total bytes of code 10856, prolog size 72, PerfScore 2242.69, instruction count 2714, allocated bytes for code 10856 (MethodHash=be469fb7) for method Jil.Deserialize.Methods:_ReadISO8601DateThunkReader(byref,ushort[]):System.DateTime (FullOpts)
; ============================================================
Unwind Info:
@@ -4818,7 +4817,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2651 (0x00a5b) Actual length = 10604 (0x00296c)
+ Function Length : 2650 (0x00a5a) Actual length = 10600 (0x002968)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.04%) : 21333.dasm - Jil.Deserialize.Methods:_ReadISO8601DateWithOffsetThunkReader(byref,ushort[]):System.DateTimeOffset (FullOpts)
@@ -2910,9 +2910,8 @@ G_M50986_IG139: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000000 {x2
cmp w0, w26
bhs G_M50986_IG195
ldrh w5, [x27, w0, UXTW #2]
- add w6, w0, #1
cmp w5, #58
- csel w0, w0, w6, ne
+ csinc w0, w0, w0, ne
sub w5, w20, w0
add w5, w5, #1
cmp w5, #2
@@ -2947,7 +2946,7 @@ G_M50986_IG139: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=8000000 {x2
cmp w5, #0
cset x4, eq
b G_M50986_IG141
- ;; size=160 bbWeight=0.50 PerfScore 17.00
+ ;; size=156 bbWeight=0.50 PerfScore 16.75
G_M50986_IG140: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
; byrRegs -[x27]
mov w4, wzr
@@ -4880,7 +4879,7 @@ G_M50986_IG199: ; bbWeight=0, gcVars=000000000000000000000000000000000000
RWD00 dq 4220C388D0000000h ; 3.6e+10
-; Total bytes of code 11032, prolog size 76, PerfScore 2287.04, instruction count 2758, allocated bytes for code 11032 (MethodHash=897238d5) for method Jil.Deserialize.Methods:_ReadISO8601DateWithOffsetThunkReader(byref,ushort[]):System.DateTimeOffset (FullOpts)
+; Total bytes of code 11028, prolog size 76, PerfScore 2286.39, instruction count 2757, allocated bytes for code 11028 (MethodHash=897238d5) for method Jil.Deserialize.Methods:_ReadISO8601DateWithOffsetThunkReader(byref,ushort[]):System.DateTimeOffset (FullOpts)
; ============================================================
Unwind Info:
@@ -4891,7 +4890,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2694 (0x00a86) Actual length = 10776 (0x002a18)
+ Function Length : 2693 (0x00a85) Actual length = 10772 (0x002a14)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
benchmarks.run_pgo.windows.arm64.checked.mch
-4 (-2.44%) : 75137.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
@@ -80,10 +80,9 @@ G_M1078_IG05: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr x0, [x0, x1]
umulh x0, x2, x0
add x4, x4, x0
- add x1, x3, #1
cmp x0, x4
- csel x3, x3, x1, ls
- ;; size=52 bbWeight=0.00 PerfScore 0.03
+ csinc x3, x3, x3, ls
+ ;; size=48 bbWeight=0.00 PerfScore 0.03
G_M1078_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov x0, x3
mov x1, x4
@@ -101,7 +100,7 @@ G_M1078_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_windows #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 164, prolog size 8, PerfScore 40.94, instruction count 41, allocated bytes for code 164 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
+; Total bytes of code 160, prolog size 8, PerfScore 40.53, instruction count 40, allocated bytes for code 160 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
; ============================================================
Unwind Info:
@@ -112,7 +111,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-2.44%) : 75962.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
@@ -80,10 +80,9 @@ G_M1078_IG05: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr x0, [x0, x1]
umulh x0, x2, x0
add x4, x4, x0
- add x1, x3, #1
cmp x0, x4
- csel x3, x3, x1, ls
- ;; size=52 bbWeight=0.00 PerfScore 0.03
+ csinc x3, x3, x3, ls
+ ;; size=48 bbWeight=0.00 PerfScore 0.03
G_M1078_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov x0, x3
mov x1, x4
@@ -101,7 +100,7 @@ G_M1078_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_windows #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 164, prolog size 8, PerfScore 40.93, instruction count 41, allocated bytes for code 164 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
+; Total bytes of code 160, prolog size 8, PerfScore 40.53, instruction count 40, allocated bytes for code 160 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
; ============================================================
Unwind Info:
@@ -112,7 +111,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-2.44%) : 72268.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
@@ -80,10 +80,9 @@ G_M1078_IG05: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr x0, [x0, x1]
umulh x0, x2, x0
add x4, x4, x0
- add x1, x3, #1
cmp x0, x4
- csel x3, x3, x1, ls
- ;; size=52 bbWeight=0.00 PerfScore 0.03
+ csinc x3, x3, x3, ls
+ ;; size=48 bbWeight=0.00 PerfScore 0.03
G_M1078_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov x0, x3
mov x1, x4
@@ -101,7 +100,7 @@ G_M1078_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_windows #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 164, prolog size 8, PerfScore 40.93, instruction count 41, allocated bytes for code 164 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
+; Total bytes of code 160, prolog size 8, PerfScore 40.53, instruction count 40, allocated bytes for code 160 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
; ============================================================
Unwind Info:
@@ -112,7 +111,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 41 (0x00029) Actual length = 164 (0x0000a4)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.26%) : 69898.dasm - System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(ulong,ulong):ulong (Tier1)
@@ -346,11 +346,10 @@ G_M26435_IG35: ; bbWeight=0.59, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=0.59 PerfScore 0.59
G_M26435_IG36: ; bbWeight=0.28, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldrsb w0, [x19]
- add x1, x19, #1
cmp w0, #0
- csel x19, x19, x1, lt
+ csinc x19, x19, x19, lt
b G_M26435_IG27
- ;; size=20 bbWeight=0.28 PerfScore 1.54
+ ;; size=16 bbWeight=0.28 PerfScore 1.40
G_M26435_IG37: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movz x0, #8
movk x0, #0xD1FFAB1E LSL #16
@@ -594,7 +593,7 @@ G_M26435_IG53: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
RWD00 dq 1001100110011001h, 1001100110011001h
-; Total bytes of code 1528, prolog size 36, PerfScore 217.98, instruction count 382, allocated bytes for code 1528 (MethodHash=3d4498bc) for method System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(ulong,ulong):ulong (Tier1)
+; Total bytes of code 1524, prolog size 36, PerfScore 217.44, instruction count 381, allocated bytes for code 1524 (MethodHash=3d4498bc) for method System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(ulong,ulong):ulong (Tier1)
; ============================================================
Unwind Info:
@@ -605,7 +604,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 382 (0x0017e) Actual length = 1528 (0x0005f8)
+ Function Length : 381 (0x0017d) Actual length = 1524 (0x0005f4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.18%) : 56165.dasm - System.Threading.Tasks.Parallel:ForWorker[System.__Canon,int](int,int,System.Threading.Tasks.ParallelOptions,System.Action`1[int],System.Action`2[int,System.Threading.Tasks.ParallelLoopState],System.Func`4[int,System.__Canon,System.__Canon,System.__Canon],System.Func`1[System.__Canon],System.Action`1[System.__Canon]):System.Threading.Tasks.ParallelLoopResult (Tier1)
@@ -317,9 +317,8 @@ G_M22842_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
udiv x2, x1, x0
sxtw w21, w2
msub x1, x2, x0, x1
- add w2, w21, #1
cmp x1, #0
- csel w21, w21, w2, eq
+ csinc w21, w21, w21, eq
mov x25, x0
strb wzr, [x24, #0x1C]
sxtw x1, w21
@@ -339,7 +338,7 @@ G_M22842_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov w1, wzr
cmp w21, #0
ble G_M22842_IG11
- ;; size=168 bbWeight=1 PerfScore 70.00
+ ;; size=164 bbWeight=1 PerfScore 69.50
G_M22842_IG09: ; bbWeight=1, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
ldr x14, [x24, #0x08]
; gcrRegs +[x14]
@@ -1012,7 +1011,7 @@ G_M22842_IG54: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret lr
;; size=28 bbWeight=1 PerfScore 18.00
-; Total bytes of code 2176, prolog size 68, PerfScore 538.40, instruction count 544, allocated bytes for code 2176 (MethodHash=8ccda6c5) for method System.Threading.Tasks.Parallel:ForWorker[System.__Canon,int](int,int,System.Threading.Tasks.ParallelOptions,System.Action`1[int],System.Action`2[int,System.Threading.Tasks.ParallelLoopState],System.Func`4[int,System.__Canon,System.__Canon,System.__Canon],System.Func`1[System.__Canon],System.Action`1[System.__Canon]):System.Threading.Tasks.ParallelLoopResult (Tier1)
+; Total bytes of code 2172, prolog size 68, PerfScore 537.50, instruction count 543, allocated bytes for code 2172 (MethodHash=8ccda6c5) for method System.Threading.Tasks.Parallel:ForWorker[System.__Canon,int](int,int,System.Threading.Tasks.ParallelOptions,System.Action`1[int],System.Action`2[int,System.Threading.Tasks.ParallelLoopState],System.Func`4[int,System.__Canon,System.__Canon,System.__Canon],System.Func`1[System.__Canon],System.Action`1[System.__Canon]):System.Threading.Tasks.ParallelLoopResult (Tier1)
; ============================================================
Unwind Info:
@@ -1023,7 +1022,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 382 (0x0017e) Actual length = 1528 (0x0005f8)
+ Function Length : 381 (0x0017d) Actual length = 1524 (0x0005f4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.11%) : 61599.dasm - Microsoft.CodeAnalysis.MetadataHelpers:GetInfoForImmediateNamespaceMembers(bool,int,System.Collections.Generic.IEnumerable`1[System.Linq.IGrouping`2[System.String,System.Reflection.Metadata.TypeDefinitionHandle]],System.StringComparer,byref,byref) (Tier1)
@@ -391,10 +391,9 @@ G_M15004_IG17: ; bbWeight=1.75, gcrefRegs=1C300028 {x3 x5 x20 x21 x26 x27
;; size=12 bbWeight=1.75 PerfScore 7.88
G_M15004_IG18: ; bbWeight=0.75, gcrefRegs=1C300000 {x20 x21 x26 x27 x28}, byrefRegs=C00000 {x22 x23}, byref
; gcrRegs -[x3]
- add w11, w19, #1
tst w24, #255
- csel w19, w19, w11, ne
- ;; size=12 bbWeight=0.75 PerfScore 1.12
+ csinc w19, w19, w19, ne
+ ;; size=8 bbWeight=0.75 PerfScore 0.75
G_M15004_IG19: ; bbWeight=32.25, gcrefRegs=1C300000 {x20 x21 x26 x27 x28}, byrefRegs=C00000 {x22 x23}, byref, isz
ldp x2, x1, [fp, #0x70] // [V167 cse5], [V166 cse4]
cmp x1, x2
@@ -1837,7 +1836,7 @@ G_M15004_IG119: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3808, prolog size 60, PerfScore 6583.03, instruction count 952, allocated bytes for code 3808 (MethodHash=f676c563) for method Microsoft.CodeAnalysis.MetadataHelpers:GetInfoForImmediateNamespaceMembers(bool,int,System.Collections.Generic.IEnumerable`1[System.Linq.IGrouping`2[System.String,System.Reflection.Metadata.TypeDefinitionHandle]],System.StringComparer,byref,byref) (Tier1)
+; Total bytes of code 3804, prolog size 60, PerfScore 6582.26, instruction count 951, allocated bytes for code 3804 (MethodHash=f676c563) for method Microsoft.CodeAnalysis.MetadataHelpers:GetInfoForImmediateNamespaceMembers(bool,int,System.Collections.Generic.IEnumerable`1[System.Linq.IGrouping`2[System.String,System.Reflection.Metadata.TypeDefinitionHandle]],System.StringComparer,byref,byref) (Tier1)
; ============================================================
Unwind Info:
@@ -1848,7 +1847,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 922 (0x0039a) Actual length = 3688 (0x000e68)
+ Function Length : 921 (0x00399) Actual length = 3684 (0x000e64)
---- 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
-4 (-2.63%) : 42618.dasm - System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
@@ -81,10 +81,9 @@ G_M1078_IG06: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
ldr x0, [x0, x4]
umulh x0, x2, x0
add x5, x5, x0
- add x1, x3, #1
cmp x0, x5
- csel x3, x3, x1, ls
- ;; size=40 bbWeight=0.50 PerfScore 6.50
+ csinc x3, x3, x3, ls
+ ;; size=36 bbWeight=0.50 PerfScore 6.25
G_M1078_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov x0, x3
mov x1, x5
@@ -98,7 +97,7 @@ G_M1078_IG09: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
brk_windows #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 152, prolog size 8, PerfScore 46.45, instruction count 38, allocated bytes for code 152 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
+; Total bytes of code 148, prolog size 8, PerfScore 45.80, instruction count 37, allocated bytes for code 148 (MethodHash=9db2fbc9) for method System.Number:ComputeProductApproximation(int,long,ulong):System.ValueTuple`2[ulong,ulong] (Tier1)
; ============================================================
Unwind Info:
@@ -109,7 +108,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 38 (0x00026) Actual length = 152 (0x000098)
+ 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)
-4 (-2.04%) : 22332.dasm - System.Text.RegularExpressions.RegexParser:NoteCaptureSlot(int,int):this (Tier1)
@@ -79,11 +79,10 @@ G_M45734_IG03: ; bbWeight=0.50, gcrefRegs=400000 {x22}, byrefRegs=80000 {
bgt G_M45734_IG04
movn w0, #0xD1FFAB1E LSL #16
movn w1, #0xD1FFAB1E LSL #16
- add w2, w20, #1
cmp w20, w0
- csel w0, w1, w2, eq
+ csinc w0, w1, w20, eq
str w0, [x19, #0x68]
- ;; size=100 bbWeight=0.50 PerfScore 15.25
+ ;; size=96 bbWeight=0.50 PerfScore 15.00
G_M45734_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; byrRegs -[x19]
ldp x21, x22, [sp, #0x20]
@@ -92,7 +91,7 @@ G_M45734_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
-; Total bytes of code 196, prolog size 16, PerfScore 62.35, instruction count 49, allocated bytes for code 196 (MethodHash=66904d59) for method System.Text.RegularExpressions.RegexParser:NoteCaptureSlot(int,int):this (Tier1)
+; Total bytes of code 192, prolog size 16, PerfScore 61.70, instruction count 48, allocated bytes for code 192 (MethodHash=66904d59) for method System.Text.RegularExpressions.RegexParser:NoteCaptureSlot(int,int):this (Tier1)
; ============================================================
Unwind Info:
@@ -103,7 +102,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-1.09%) : 7871.dasm - System.TimeZoneInfo:GetLocalizedNameByMuiNativeResource(System.String):System.String (Tier0-FullOpts)
@@ -260,13 +260,11 @@ G_M6234_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=300000 {x20 x21}
ldp w22, w23, [x0]
add w0, w22, w19
; byrRegs -[x0]
- add w0, w0, #1
cmp w22, #0
- csel w22, w22, w0, ge
+ csinc w22, w22, w0, ge
add w0, w23, w19
- add w0, w0, #1
cmp w23, #0
- csel w23, w23, w0, ge
+ csinc w23, w23, w0, ge
sub w23, w23, w22
mov w0, w22
add x0, x0, w23, UXTW
@@ -289,7 +287,7 @@ G_M6234_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=300000 {x20 x21}
blr x2
; gcrRegs -[x1]
; gcr arg pop 0
- ;; size=120 bbWeight=1 PerfScore 23.00
+ ;; size=112 bbWeight=1 PerfScore 22.00
G_M6234_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=700000 {x20 x21 x22}, byref, isz
movz x0, #0xD1FFAB1E // code for System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo
movk x0, #0xD1FFAB1E LSL #16
@@ -401,13 +399,11 @@ G_M6234_IG10: ; bbWeight=1, gcrefRegs=C00000 {x22 x23}, byrefRegs=300002
ldp w1, w0, [x0]
; byrRegs -[x0-x1]
add w2, w1, w19
- add w2, w2, #1
cmp w1, #0
- csel w1, w1, w2, ge
+ csinc w1, w1, w2, ge
add w2, w0, w19
- add w2, w2, #1
cmp w0, #0
- csel w0, w0, w2, ge
+ csinc w0, w0, w2, ge
sub w21, w0, w1
; byrRegs -[x21]
mov w0, w1
@@ -430,7 +426,7 @@ G_M6234_IG10: ; bbWeight=1, gcrefRegs=C00000 {x22 x23}, byrefRegs=300002
mov w0, wzr
cmp w21, #0
ble G_M6234_IG12
- ;; size=128 bbWeight=1 PerfScore 25.50
+ ;; size=120 bbWeight=1 PerfScore 24.50
G_M6234_IG11: ; bbWeight=8, gcrefRegs=C00000 {x22 x23}, byrefRegs=80000 {x19}, byref, isz
ldrh w1, [x19, w0, UXTW #2]
cmp w1, #64
@@ -696,7 +692,7 @@ G_M6234_IG27: ; bbWeight=0, funclet epilog, nogc, extend
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1464, prolog size 68, PerfScore 834.40, instruction count 366, allocated bytes for code 1464 (MethodHash=4125e7a5) for method System.TimeZoneInfo:GetLocalizedNameByMuiNativeResource(System.String):System.String (Tier0-FullOpts)
+; Total bytes of code 1448, prolog size 68, PerfScore 830.80, instruction count 362, allocated bytes for code 1448 (MethodHash=4125e7a5) for method System.TimeZoneInfo:GetLocalizedNameByMuiNativeResource(System.String):System.String (Tier0-FullOpts)
; ============================================================
Unwind Info:
@@ -707,7 +703,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 352 (0x00160) Actual length = 1408 (0x000580)
+ Function Length : 348 (0x0015c) Actual length = 1392 (0x000570)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.30%) : 15136.dasm - System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(ulong,ulong):ulong (Tier1)
@@ -540,15 +540,14 @@ G_M26435_IG43: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M26435_IG44: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
tbz w20, #0, G_M26435_IG31
ldrsb w0, [x19]
- add x1, x19, #1
cmp w0, #0
- csel x19, x19, x1, lt
+ csinc x19, x19, x19, lt
b G_M26435_IG31
- ;; size=24 bbWeight=0.50 PerfScore 3.25
+ ;; size=20 bbWeight=0.50 PerfScore 3.00
RWD00 dq 1001100110011001h, 1001100110011001h
-; Total bytes of code 1348, prolog size 32, PerfScore 463.55, instruction count 337, allocated bytes for code 1348 (MethodHash=3d4498bc) for method System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(ulong,ulong):ulong (Tier1)
+; Total bytes of code 1344, prolog size 32, PerfScore 462.90, instruction count 336, allocated bytes for code 1344 (MethodHash=3d4498bc) for method System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(ulong,ulong):ulong (Tier1)
; ============================================================
Unwind Info:
@@ -559,7 +558,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 337 (0x00151) Actual length = 1348 (0x000544)
+ Function Length : 336 (0x00150) Actual length = 1344 (0x000540)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.18%) : 35957.dasm - Microsoft.CodeAnalysis.MetadataHelpers:GetInfoForImmediateNamespaceMembers(bool,int,System.Collections.Generic.IEnumerable`1[System.Linq.IGrouping`2[System.String,System.Reflection.Metadata.TypeDefinitionHandle]],System.StringComparer,byref,byref) (Tier1)
@@ -296,10 +296,9 @@ G_M15004_IG08: ; bbWeight=4, gcrefRegs=16100000 {x20 x25 x26 x28}, byrefR
;; size=72 bbWeight=4 PerfScore 88.00
G_M15004_IG09: ; bbWeight=0.50, gcVars=00000000200000000000002000000010 {V10 V12 V13}, gcrefRegs=16100000 {x20 x25 x26 x28}, byrefRegs=C00000 {x22 x23}, gcvars, byref
; GC ptr vars -{V11}
- add w0, w19, #1
tst w24, #255
- csel w19, w19, w0, ne
- ;; size=12 bbWeight=0.50 PerfScore 0.75
+ csinc w19, w19, w19, ne
+ ;; size=8 bbWeight=0.50 PerfScore 0.50
G_M15004_IG10: ; bbWeight=4, gcrefRegs=16100000 {x20 x25 x26 x28}, byrefRegs=C00000 {x22 x23}, byref, isz
mov x0, x28
; gcrRegs +[x0]
@@ -1060,7 +1059,7 @@ G_M15004_IG53: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2224, prolog size 60, PerfScore 1344.15, instruction count 556, allocated bytes for code 2224 (MethodHash=f676c563) for method Microsoft.CodeAnalysis.MetadataHelpers:GetInfoForImmediateNamespaceMembers(bool,int,System.Collections.Generic.IEnumerable`1[System.Linq.IGrouping`2[System.String,System.Reflection.Metadata.TypeDefinitionHandle]],System.StringComparer,byref,byref) (Tier1)
+; Total bytes of code 2220, prolog size 60, PerfScore 1343.50, instruction count 555, allocated bytes for code 2220 (MethodHash=f676c563) for method Microsoft.CodeAnalysis.MetadataHelpers:GetInfoForImmediateNamespaceMembers(bool,int,System.Collections.Generic.IEnumerable`1[System.Linq.IGrouping`2[System.String,System.Reflection.Metadata.TypeDefinitionHandle]],System.StringComparer,byref,byref) (Tier1)
; ============================================================
Unwind Info:
@@ -1071,7 +1070,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 533 (0x00215) Actual length = 2132 (0x000854)
+ Function Length : 532 (0x00214) Actual length = 2128 (0x000850)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.04%) : 43655.dasm - System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (Tier1)
@@ -1903,9 +1903,8 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
cmp w26, #0
cinc w22, w0, ne
neg w0, w26
- add w0, w0, #1
cmp w26, #0
- csel w26, wzr, w0, eq
+ csinc w26, wzr, w0, eq
mov w0, w22
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -1917,7 +1916,7 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
ldr w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x10]
- ;; size=72 bbWeight=0.50 PerfScore 9.00
+ ;; size=68 bbWeight=0.50 PerfScore 8.75
G_M26699_IG88: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
add x25, x19, #24
; byrRegs +[x25]
@@ -4051,7 +4050,7 @@ RWD264 dd G_M26699_IG66 - G_M26699_IG02
dd G_M26699_IG85 - G_M26699_IG02
-; Total bytes of code 9296, prolog size 36, PerfScore 2496.10, instruction count 2324, allocated bytes for code 9296 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (Tier1)
+; Total bytes of code 9292, prolog size 36, PerfScore 2495.45, instruction count 2323, allocated bytes for code 9292 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (Tier1)
; ============================================================
Unwind Info:
@@ -4062,7 +4061,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2324 (0x00914) Actual length = 9296 (0x002450)
+ Function Length : 2323 (0x00913) Actual length = 9292 (0x00244c)
---- 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
-4 (-10.00%) : 397283.dasm - Program:I4_BT_reg_reg_JCC(int,int):int (FullOpts)
@@ -20,17 +20,16 @@ G_M26481_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M26481_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w2, #1
lsl w1, w2, w1
- add w2, w0, #1
- sub w3, w0, #1
+ sub w2, w0, #1
tst w0, w1
- csel w0, w2, w3, eq
- ;; size=24 bbWeight=1 PerfScore 3.00
+ csinc w0, w2, w0, ne
+ ;; size=20 bbWeight=1 PerfScore 2.50
G_M26481_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 40, prolog size 8, PerfScore 10.50, instruction count 10, allocated bytes for code 40 (MethodHash=ef1d988e) for method Program:I4_BT_reg_reg_JCC(int,int):int (FullOpts)
+; Total bytes of code 36, prolog size 8, PerfScore 9.60, instruction count 9, allocated bytes for code 36 (MethodHash=ef1d988e) for method Program:I4_BT_reg_reg_JCC(int,int):int (FullOpts)
; ============================================================
Unwind Info:
@@ -41,7 +40,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 10 (0x0000a) Actual length = 40 (0x000028)
+ Function Length : 9 (0x00009) Actual length = 36 (0x000024)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-9.09%) : 384533.dasm - CSE1:DoIt(byref):int (FullOpts)
@@ -31,32 +31,29 @@ G_M17264_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
str w5, [x0]
ldp w3, w4, [x2]
add w3, w3, w4
- add w4, w1, #1
cmp w3, #1
- csel w1, w1, w4, ne
+ csinc w1, w1, w1, ne
mov w3, #2
str w3, [x0]
ldp w3, w4, [x2]
add w3, w3, w4
- add w4, w1, #1
cmp w3, #2
- csel w1, w1, w4, ne
+ csinc w1, w1, w1, ne
mov w3, #3
str w3, [x0]
ldp w0, w2, [x2]
; byrRegs -[x0]
add w0, w0, w2
- add w2, w1, #1
cmp w0, #3
- csel w1, w1, w2, ne
+ csinc w1, w1, w1, ne
mov w0, w1
- ;; size=116 bbWeight=1 PerfScore 26.00
+ ;; size=104 bbWeight=1 PerfScore 24.50
G_M17264_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 132, prolog size 8, PerfScore 42.70, instruction count 33, allocated bytes for code 132 (MethodHash=bb82bc8f) for method CSE1:DoIt(byref):int (FullOpts)
+; Total bytes of code 120, prolog size 8, PerfScore 40.00, instruction count 30, allocated bytes for code 120 (MethodHash=bb82bc8f) for method CSE1:DoIt(byref):int (FullOpts)
; ============================================================
Unwind Info:
@@ -67,7 +64,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 33 (0x00021) Actual length = 132 (0x000084)
+ Function Length : 30 (0x0001e) Actual length = 120 (0x000078)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-7.69%) : 238614.dasm - CodeGenTests.CalculateChecksumTest:CalculateChecksum(byref,int):ushort (FullOpts)
@@ -60,10 +60,9 @@ G_M19957_IG07: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, b
add x0, x0, #4
mov w3, w3
add x2, x2, x3
- add x4, x2, #1
cmp x2, x3
- csel x2, x2, x4, hs
- ;; size=28 bbWeight=0.50 PerfScore 3.00
+ csinc x2, x2, x2, hs
+ ;; size=24 bbWeight=0.50 PerfScore 2.75
G_M19957_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
tbz w1, #1, G_M19957_IG10
;; size=4 bbWeight=1 PerfScore 1.00
@@ -72,10 +71,9 @@ G_M19957_IG09: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, b
add x0, x0, #2
mov w3, w3
add x2, x2, x3
- add x4, x2, #1
cmp x2, x3
- csel x2, x2, x4, hs
- ;; size=28 bbWeight=0.50 PerfScore 3.00
+ csinc x2, x2, x2, hs
+ ;; size=24 bbWeight=0.50 PerfScore 2.75
G_M19957_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref, isz
tbz w1, #0, G_M19957_IG12
;; size=4 bbWeight=1 PerfScore 1.00
@@ -83,16 +81,14 @@ G_M19957_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, b
ldrb w0, [x0]
; byrRegs -[x0]
add x2, x2, x0
- add x1, x2, #1
cmp x2, x0
- csel x2, x2, x1, hs
- ;; size=20 bbWeight=0.50 PerfScore 2.50
+ csinc x2, x2, x2, hs
+ ;; size=16 bbWeight=0.50 PerfScore 2.25
G_M19957_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
lsr x0, x2, #32
add w0, w0, w2
- add w1, w0, #1
cmp w0, w2
- csel w0, w0, w1, hs
+ csinc w0, w0, w0, hs
uxth w1, w0
add w0, w1, w0, LSR #16
uxth w0, w0
@@ -102,14 +98,14 @@ G_M19957_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
csel w0, w0, w2, ge
mvn w0, w0
uxth w0, w0
- ;; size=56 bbWeight=1 PerfScore 8.00
+ ;; size=52 bbWeight=1 PerfScore 7.50
G_M19957_IG13: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
; END METHOD CodeGenTests.CalculateChecksumTest:CalculateChecksum(byref,int):ushort
-; Total bytes of code 208, prolog size 8, PerfScore 76.80, instruction count 52, allocated bytes for code 208 (MethodHash=fd98b20a) for method CodeGenTests.CalculateChecksumTest:CalculateChecksum(byref,int):ushort (FullOpts)
+; Total bytes of code 192, prolog size 8, PerfScore 73.95, instruction count 48, allocated bytes for code 192 (MethodHash=fd98b20a) for method CodeGenTests.CalculateChecksumTest:CalculateChecksum(byref,int):ushort (FullOpts)
; ============================================================
Unwind Info:
@@ -120,7 +116,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 52 (0x00034) Actual length = 208 (0x0000d0)
+ Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.07%) : 300380.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ArgIterator:GetNextOffset():int:this (Tier1)
@@ -431,11 +431,10 @@ G_M2066_IG19: ; bbWeight=0.00, gcVars=00000000000000000000000000000000000
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- add w1, w20, #1
cmp w0, #0
- csel w20, w20, w1, eq
+ csinc w20, w20, w20, eq
b G_M2066_IG05
- ;; size=56 bbWeight=0.00 PerfScore 0.04
+ ;; size=52 bbWeight=0.00 PerfScore 0.03
G_M2066_IG20: ; bbWeight=0.61, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
ldr w26, [x19, #0x28]
add x27, x19, #160
@@ -2588,7 +2587,7 @@ RWD48 dd G_M2066_IG128 - G_M2066_IG02
dd G_M2066_IG130 - G_M2066_IG02
-; Total bytes of code 6120, prolog size 52, PerfScore 857.30, instruction count 1530, allocated bytes for code 6120 (MethodHash=57d4f7ed) for method ILCompiler.DependencyAnalysis.ReadyToRun.ArgIterator:GetNextOffset():int:this (Tier1)
+; Total bytes of code 6116, prolog size 52, PerfScore 856.89, instruction count 1529, allocated bytes for code 6116 (MethodHash=57d4f7ed) for method ILCompiler.DependencyAnalysis.ReadyToRun.ArgIterator:GetNextOffset():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -2599,7 +2598,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 1530 (0x005fa) Actual length = 6120 (0x0017e8)
+ Function Length : 1529 (0x005f9) Actual length = 6116 (0x0017e4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.07%) : 298375.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ArgIterator:GetNextOffset():int:this (Tier1)
@@ -431,11 +431,10 @@ G_M2066_IG19: ; bbWeight=0.00, gcVars=00000000000000000000000000000000000
blr x1
; gcrRegs -[x0]
; gcr arg pop 0
- add w1, w20, #1
cmp w0, #0
- csel w20, w20, w1, eq
+ csinc w20, w20, w20, eq
b G_M2066_IG05
- ;; size=56 bbWeight=0.00 PerfScore 0.04
+ ;; size=52 bbWeight=0.00 PerfScore 0.03
G_M2066_IG20: ; bbWeight=0.62, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
ldr w26, [x19, #0x28]
add x27, x19, #160
@@ -2588,7 +2587,7 @@ RWD48 dd G_M2066_IG128 - G_M2066_IG02
dd G_M2066_IG130 - G_M2066_IG02
-; Total bytes of code 6120, prolog size 52, PerfScore 858.82, instruction count 1530, allocated bytes for code 6120 (MethodHash=57d4f7ed) for method ILCompiler.DependencyAnalysis.ReadyToRun.ArgIterator:GetNextOffset():int:this (Tier1)
+; Total bytes of code 6116, prolog size 52, PerfScore 858.42, instruction count 1529, allocated bytes for code 6116 (MethodHash=57d4f7ed) for method ILCompiler.DependencyAnalysis.ReadyToRun.ArgIterator:GetNextOffset():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -2599,7 +2598,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 1530 (0x005fa) Actual length = 6120 (0x0017e8)
+ Function Length : 1529 (0x005f9) Actual length = 6116 (0x0017e4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.04%) : 385372.dasm - System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
@@ -1903,9 +1903,8 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
cmp w26, #0
cinc w22, w0, ne
neg w0, w26
- add w0, w0, #1
cmp w26, #0
- csel w26, wzr, w0, eq
+ csinc w26, wzr, w0, eq
mov w0, w22
movz x1, #0xD1FFAB1E // code for <unknown method>
movk x1, #0xD1FFAB1E LSL #16
@@ -1917,7 +1916,7 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
ldr w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x10]
- ;; size=72 bbWeight=0.50 PerfScore 9.00
+ ;; size=68 bbWeight=0.50 PerfScore 8.75
G_M26699_IG88: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
add x25, x19, #24
; byrRegs +[x25]
@@ -4051,7 +4050,7 @@ RWD264 dd G_M26699_IG66 - G_M26699_IG02
dd G_M26699_IG85 - G_M26699_IG02
-; Total bytes of code 9296, prolog size 36, PerfScore 2496.10, instruction count 2324, allocated bytes for code 9296 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
+; Total bytes of code 9292, prolog size 36, PerfScore 2495.45, instruction count 2323, allocated bytes for code 9292 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
; ============================================================
Unwind Info:
@@ -4062,7 +4061,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2324 (0x00914) Actual length = 9296 (0x002450)
+ Function Length : 2323 (0x00913) Actual length = 9292 (0x00244c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
libraries.crossgen2.windows.arm64.checked.mch
-4 (-11.11%) : 152190.dasm - Microsoft.Diagnostics.Tracing.Analysis.CircularBuffer`1[System.__Canon]:Next(int):int:this (FullOpts)
@@ -23,16 +23,15 @@ G_M13494_IG02: ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
ldr w0, [x0, #0x18]
; gcrRegs -[x0]
sub w0, w0, #1
- add w2, w1, #1
cmp w1, w0
- csel w0, wzr, w2, eq
- ;; size=20 bbWeight=1 PerfScore 5.00
+ csinc w0, wzr, w1, eq
+ ;; size=16 bbWeight=1 PerfScore 4.50
G_M13494_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 12.10, instruction count 9, allocated bytes for code 36 (MethodHash=5dfacb49) for method Microsoft.Diagnostics.Tracing.Analysis.CircularBuffer`1[System.__Canon]:Next(int):int:this (FullOpts)
+; Total bytes of code 32, prolog size 8, PerfScore 11.20, instruction count 8, allocated bytes for code 32 (MethodHash=5dfacb49) for method Microsoft.Diagnostics.Tracing.Analysis.CircularBuffer`1[System.__Canon]:Next(int):int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -43,7 +42,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 9 (0x00009) Actual length = 36 (0x000024)
+ 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 (-9.09%) : 14778.dasm - System.Index:GetOffset(int):int:this (FullOpts)
@@ -27,17 +27,16 @@ G_M58665_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
; byrRegs -[x0]
sxtw w2, w0
add w1, w2, w1
- add w1, w1, #1
cmp w0, #0
- csel w2, w2, w1, ge
+ csinc w2, w2, w1, ge
mov w0, w2
- ;; size=28 bbWeight=1 PerfScore 6.00
+ ;; size=24 bbWeight=1 PerfScore 5.50
G_M58665_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 44, prolog size 8, PerfScore 13.90, instruction count 11, allocated bytes for code 44 (MethodHash=59291ad6) for method System.Index:GetOffset(int):int:this (FullOpts)
+; Total bytes of code 40, prolog size 8, PerfScore 13.00, instruction count 10, allocated bytes for code 40 (MethodHash=59291ad6) for method System.Index:GetOffset(int):int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -48,7 +47,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
+ 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)
-8 (-7.69%) : 15494.dasm - System.Range:GetOffsetAndLength(int):System.ValueTuple`2[int,int]:this (FullOpts)
@@ -33,15 +33,13 @@ G_M16876_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
; byrRegs +[x0]
ldr w11, [x0]
add w2, w11, w1
- add w2, w2, #1
cmp w11, #0
- csel w11, w11, w2, ge
+ csinc w11, w11, w2, ge
ldr w0, [x0, #0x04]
; byrRegs -[x0]
add w2, w0, w1
- add w2, w2, #1
cmp w0, #0
- csel w0, w0, w2, ge
+ csinc w0, w0, w2, ge
cmp w0, w1
ccmp w11, w0, c, ls
bhi G_M16876_IG04
@@ -49,7 +47,7 @@ G_M16876_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byre
sub w0, w0, w11
str w0, [fp, #0x1C] // [V12 tmp7]
ldr x0, [fp, #0x18] // [V06 tmp1]
- ;; size=68 bbWeight=1 PerfScore 16.50
+ ;; size=60 bbWeight=1 PerfScore 15.50
G_M16876_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
ret lr
@@ -62,7 +60,7 @@ G_M16876_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
brk_windows #0
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 8, PerfScore 30.40, instruction count 26, allocated bytes for code 104 (MethodHash=5f98be13) for method System.Range:GetOffsetAndLength(int):System.ValueTuple`2[int,int]:this (FullOpts)
+; Total bytes of code 96, prolog size 8, PerfScore 28.60, instruction count 24, allocated bytes for code 96 (MethodHash=5f98be13) for method System.Range:GetOffsetAndLength(int):System.ValueTuple`2[int,int]:this (FullOpts)
; ============================================================
Unwind Info:
@@ -73,7 +71,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
+ Function Length : 24 (0x00018) Actual length = 96 (0x000060)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.08%) : 195166.dasm - System.Data.Common.DbDataAdapter:Update(System.Data.DataRow[],System.Data.Common.DataTableMapping):int:this (FullOpts)
@@ -614,12 +614,11 @@ G_M42051_IG19: ; bbWeight=1, gcVars=00000000000008000001010008040381 {V00
; gcr arg pop 0
ldr w11, [fp, #0xB4] // [V04 loc1]
mov w1, w11
- add w1, w1, #1
cmp w0, #2
- csel w0, w11, w1, ne
+ csinc w0, w11, w1, ne
str w0, [fp, #0xB4] // [V04 loc1]
b G_M42051_IG15
- ;; size=56 bbWeight=1 PerfScore 14.50
+ ;; size=52 bbWeight=1 PerfScore 14.00
G_M42051_IG20: ; bbWeight=4, gcVars=00000000000388000001030008040381 {V00 V02 V05 V06 V10 V11 V14 V15 V17 V25 V27 V33 V42}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars +{V09 V15 V17 V25 V27 V33 V41 V79 V80}
ldr w0, [fp, #0xAC] // [V09 loc6]
@@ -2222,7 +2221,7 @@ G_M42051_IG103: ; bbWeight=0, funclet epilog, nogc, extend
ret lr
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 5164, prolog size 52, PerfScore 5130.94, instruction count 1291, allocated bytes for code 5164 (MethodHash=24105bbc) for method System.Data.Common.DbDataAdapter:Update(System.Data.DataRow[],System.Data.Common.DataTableMapping):int:this (FullOpts)
+; Total bytes of code 5160, prolog size 52, PerfScore 5130.04, instruction count 1290, allocated bytes for code 5160 (MethodHash=24105bbc) for method System.Data.Common.DbDataAdapter:Update(System.Data.DataRow[],System.Data.Common.DataTableMapping):int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -2233,7 +2232,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 996 (0x003e4) Actual length = 3984 (0x000f90)
+ Function Length : 995 (0x003e3) Actual length = 3980 (0x000f8c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.07%) : 52943.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:ScanNumericLiteral(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode]):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
@@ -658,11 +658,10 @@ G_M54455_IG40: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
;; size=148 bbWeight=0.50 PerfScore 21.25
G_M54455_IG41: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
mov w1, #45
- add w11, w23, #1
cmp w0, #43
ccmp w0, w1, z, ne
- csel w23, w23, w11, ne
- ;; size=20 bbWeight=0.50 PerfScore 1.25
+ csinc w23, w23, w23, ne
+ ;; size=16 bbWeight=0.50 PerfScore 1.00
G_M54455_IG42: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
ldr w0, [x19, #0xB0]
add w0, w0, w23
@@ -2091,7 +2090,7 @@ RWD56 dd G_M54455_IG144 - G_M54455_IG02
dd G_M54455_IG148 - G_M54455_IG02
-; Total bytes of code 5628, prolog size 52, PerfScore 2328.43, instruction count 1407, allocated bytes for code 5628 (MethodHash=92c02b48) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:ScanNumericLiteral(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode]):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
+; Total bytes of code 5624, prolog size 52, PerfScore 2327.78, instruction count 1406, allocated bytes for code 5624 (MethodHash=92c02b48) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:ScanNumericLiteral(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode]):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
; ============================================================
Unwind Info:
@@ -2102,7 +2101,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 1407 (0x0057f) Actual length = 5628 (0x0015fc)
+ Function Length : 1406 (0x0057e) Actual length = 5624 (0x0015f8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-0.06%) : 272512.dasm - System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
@@ -1700,9 +1700,8 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
cmp w0, #0
cinc w1, w2, ne
neg w2, w0
- add w2, w2, #1
cmp w0, #0
- csel w2, wzr, w2, eq
+ csinc w2, wzr, w2, eq
mov x0, x19
; byrRegs +[x0]
adrp x11, [HIGH RELOC #0xD1FFAB1E] // function address
@@ -1712,7 +1711,7 @@ G_M26699_IG87: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {
; byrRegs -[x0]
; gcr arg pop 0
b G_M26699_IG91
- ;; size=56 bbWeight=0.50 PerfScore 6.50
+ ;; size=52 bbWeight=0.50 PerfScore 6.25
G_M26699_IG88: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
mov w11, #30
cmp w0, #0
@@ -2984,7 +2983,7 @@ RWD264 dd G_M26699_IG66 - G_M26699_IG02
dd G_M26699_IG85 - G_M26699_IG02
-; Total bytes of code 6624, prolog size 32, PerfScore 1842.90, instruction count 1656, allocated bytes for code 6624 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
+; Total bytes of code 6620, prolog size 32, PerfScore 1842.25, instruction count 1655, allocated bytes for code 6620 (MethodHash=2db697b4) for method System.Text.RegularExpressions.RegexWriter:EmitFragment(ubyte,System.Text.RegularExpressions.RegexNode,int):this (FullOpts)
; ============================================================
Unwind Info:
@@ -2995,7 +2994,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 1656 (0x00678) Actual length = 6624 (0x0019e0)
+ Function Length : 1655 (0x00677) Actual length = 6620 (0x0019dc)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Details
Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) |
---|---|---|---|---|---|---|
benchmarks.run.windows.arm64.checked.mch | 26 | 26 | 0 | 0 | -132 | +0 |
benchmarks.run_pgo.windows.arm64.checked.mch | 26 | 26 | 0 | 0 | -128 | +0 |
benchmarks.run_tiered.windows.arm64.checked.mch | 8 | 8 | 0 | 0 | -56 | +0 |
coreclr_tests.run.windows.arm64.checked.mch | 80 | 80 | 0 | 0 | -408 | +0 |
libraries.crossgen2.windows.arm64.checked.mch | 112 | 112 | 0 | 0 | -500 | +0 |
252 | 252 | 0 | 0 | -1,224 | +0 |
Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff |
---|---|---|---|---|---|
benchmarks.run.windows.arm64.checked.mch | 24,729 | 1,356 | 23,373 | 0 (0.00%) | 0 (0.00%) |
benchmarks.run_pgo.windows.arm64.checked.mch | 82,233 | 47,464 | 34,769 | 0 (0.00%) | 0 (0.00%) |
benchmarks.run_tiered.windows.arm64.checked.mch | 46,764 | 36,397 | 10,367 | 0 (0.00%) | 0 (0.00%) |
coreclr_tests.run.windows.arm64.checked.mch | 581,049 | 361,262 | 219,787 | 0 (0.00%) | 0 (0.00%) |
libraries.crossgen2.windows.arm64.checked.mch | 272,918 | 15 | 272,903 | 0 (0.00%) | 0 (0.00%) |
1,007,693 | 446,494 | 561,199 | 0 (0.00%) | 0 (0.00%) |