Assembly Diffs

linux arm64

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_Vector128Of1[ulong]:ExclusiveOrOperatorBenchmark():System.Runtime.Intrinsics.Vector1281[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.Vector1281[ushort],System.Runtime.Intrinsics.Vector1281[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_VectorOf1[uint]:SubtractBenchmark():System.Numerics.Vector1[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.Vector1281[ushort],System.Runtime.Intrinsics.Vector1281[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.Vector641[ubyte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector641[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.Vector641[byte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector641[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.Vector1281[ubyte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector1281[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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+AddOperator1[double]:Invoke(System.Runtime.Intrinsics.Vector1281[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+AddOperator1[double]:Invoke(System.Runtime.Intrinsics.Vector1281[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.CodeActionTest1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple2[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477Utilities:gWithResize|84_0(byref,byref,int,int) (MinOpts)

@@ -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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477Utilities:gWithResize|37_0(byref,byref,int) (MinOpts)

@@ -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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477Utilities:gWithResize|83_0(byref,byref,int) (MinOpts)

@@ -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
...

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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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).



linux x64

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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477_Get805454+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477_Get804453+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477_Get784440+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -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.CodeActionTest1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple2[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.AnalyzerTest1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray1[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]

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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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).



osx arm64

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_VectorOf1[long]:AddBenchmark():System.Numerics.Vector1[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_VectorOf1[uint]:MinBenchmark():System.Numerics.Vector1[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.Vector1281[ushort],System.Runtime.Intrinsics.Vector1281[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_VectorOf1[long]:AndNotBenchmark():System.Numerics.Vector1[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.Vector641[ubyte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector641[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.Vector1281[byte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector1281[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.Vector641[byte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector641[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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+AddOperator1[double]:Invoke(System.Runtime.Intrinsics.Vector1281[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+AddOperator1[double]:Invoke(System.Runtime.Intrinsics.Vector1281[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.CodeActionTest1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple2[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477Utilities:gWithResize|1_0(byref,byref,int,int) (MinOpts)

@@ -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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477Utilities:gWithResize|37_0(byref,byref,int) (MinOpts)

@@ -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.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477Utilities:gWithResize|83_0(byref,byref,int) (MinOpts)

@@ -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
...

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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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).



windows arm64

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_Vector128Of1[ushort]:MinBenchmark():System.Runtime.Intrinsics.Vector1281[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_VectorOf1[short]:ExclusiveOrOperatorBenchmark():System.Numerics.Vector1[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_VectorOf1[ubyte]:SubtractionOperatorBenchmark():System.Numerics.Vector1[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_VectorOf1[short]:MinBenchmark():System.Numerics.Vector1[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_Vector128Of1[ubyte]:AddBenchmark():System.Runtime.Intrinsics.Vector1281[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.Vector641[ubyte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte],System.Runtime.Intrinsics.Vector1281[ubyte]],System.Runtime.Intrinsics.Vector641[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.Vector641[byte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector641[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.Vector1281[byte],System.ValueTuple3System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte],System.Runtime.Intrinsics.Vector1281[byte]],System.Runtime.Intrinsics.Vector1281[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.TakeOrSkipQueryOperator1+TakeOrSkipQueryOperatorResults[int]:.ctor(System.Linq.Parallel.QueryResults1[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+AddOperator1[double]:Invoke(System.Runtime.Intrinsics.Vector1281[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+AddOperator1[double]:Invoke(System.Runtime.Intrinsics.Vector1281[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.CodeActionTest1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple2[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.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035AUtilities:gWithResize|15_0(byref,byref,int,int) (MinOpts)

@@ -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.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035AUtilities:gWithResize|37_0(byref,byref,int) (MinOpts)

@@ -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.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035AUtilities:gWithResize|83_0(byref,byref,int) (MinOpts)

@@ -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
...

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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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).



windows x64

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.Vector1[uint]:.ctor(System.ReadOnlySpan1[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.Vector1[uint]:.ctor(System.ReadOnlySpan1[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.EqualityComparerFixture1[System.ValueTuple3[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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_VectorOf1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector1[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_VectorOf1[byte]:ConditionalSelectBenchmark():System.Numerics.Vector1[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A_Get195130+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -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.AnalyzerTest1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray1[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.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[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]

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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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

To reproduce these diffs on Windows x64: 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).