Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save BoyBaykiller/f2cee2b90b4717f4cab4bffbad958e08 to your computer and use it in GitHub Desktop.

Select an option

Save BoyBaykiller/f2cee2b90b4717f4cab4bffbad958e08 to your computer and use it in GitHub Desktop.
Diffs Distributive Arithmetic `GenTree::Compare`

Diffs are based on 2,490,528 contexts (966,403 MinOpts, 1,524,125 FullOpts).

MISSED contexts: 3 (0.00%)

Overall (-7,470 bytes)
Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
aspnet2.run.windows.x64.checked.mch 5,655,776 -82 -0.38%
benchmarks.run.windows.x64.checked.mch 12,859,434 -108 -0.80%
benchmarks.run_pgo_optrepeat.windows.x64.checked.mch 12,723,214 -108 -0.80%
coreclr_tests.run.windows.x64.checked.mch 339,957,979 -415 -3.25%
libraries.crossgen2.windows.x64.checked.mch 41,469,943 -358 -4.59%
libraries.pmi.windows.x64.checked.mch 48,588,203 -535 -2.20%
libraries_tests.run.windows.x64.Release.mch 333,197,877 -5,064 -0.37%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 161,402,272 -547 -6.54%
realworld.run.windows.x64.checked.mch 11,584,120 -218 -0.96%
smoke_tests.nativeaot.windows.x64.checked.mch 5,520,830 -35 -0.90%
FullOpts (-7,470 bytes)
Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
aspnet2.run.windows.x64.checked.mch 5,247,443 -82 -0.38%
benchmarks.run.windows.x64.checked.mch 12,701,851 -108 -0.80%
benchmarks.run_pgo_optrepeat.windows.x64.checked.mch 12,561,873 -108 -0.80%
coreclr_tests.run.windows.x64.checked.mch 108,744,599 -415 -3.25%
libraries.crossgen2.windows.x64.checked.mch 41,468,153 -358 -4.59%
libraries.pmi.windows.x64.checked.mch 48,474,770 -535 -2.20%
libraries_tests.run.windows.x64.Release.mch 134,582,476 -5,064 -0.37%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 149,564,677 -547 -6.54%
realworld.run.windows.x64.checked.mch 11,357,979 -218 -0.96%
smoke_tests.nativeaot.windows.x64.checked.mch 5,519,147 -35 -0.90%
Example diffs
aspnet2.run.windows.x64.checked.mch
-8 (-2.71%) : 4886.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
@@ -10,10 +10,10 @@
 ;
 ;  V00 this         [V00,T06] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <System.RuntimeType>
 ;  V01 loc0         [V01,T09] (  3,  1.50)     ref  ->  rsi         class-hnd single-def <System.Type[]>
-;  V02 loc1         [V02,T08] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
+;  V02 loc1         [V02,T07] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T12] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T02] (  5, 14   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T07] (  3,  6   )     int  ->  rax        
+;  V05 loc4         [V05,T08] (  2,  4   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 cse0         [V07,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V08 cse1         [V08,T10] (  3,  1.50)     int  ->  rbp         "CSE #01: aggressive"
@@ -126,12 +126,9 @@ G_M56028_IG10:        ; bbWeight=2, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0040
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG12
-						;; size=33 bbWeight=2 PerfScore 15.50
+						;; size=25 bbWeight=2 PerfScore 14.00
 G_M56028_IG11:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -200,7 +197,7 @@ G_M56028_IG19:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 295, prolog size 10, PerfScore 98.38, instruction count 92, allocated bytes for code 295 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
+; Total bytes of code 287, prolog size 10, PerfScore 96.88, instruction count 89, allocated bytes for code 287 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-5 (-1.09%) : 4836.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
@@ -9,7 +9,7 @@
 ;
 ;  V00 arg0         [V00,T20] (  4,  8   )   byref  ->  rcx         ld-addr-op single-def
 ;  V01 loc0         [V01,T03] ( 14, 97.04)     int  ->  registers  
-;  V02 loc1         [V02,T00] ( 16,112.88)     int  ->  registers  
+;  V02 loc1         [V02,T00] ( 15,104.96)     int  ->  registers  
 ;  V03 loc2         [V03,T01] ( 15,104.96)     int  ->  registers  
 ;  V04 loc3         [V04,T02] ( 15,104.96)     int  ->  registers  
 ;  V05 loc4         [V05,T05] ( 10, 65.36)     int  ->  registers  
@@ -143,13 +143,11 @@ G_M28360_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byr
        mov      ebx, 40
 						;; size=5 bbWeight=1 PerfScore 0.25
 G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
-       mov      esi, r8d
-       and      esi, r10d
-       mov      edi, r8d
-       and      edi, r9d
-       or       esi, edi
+       mov      esi, r10d
+       and      esi, r9d
        mov      edi, r10d
-       and      edi, r9d
+       or       edi, r9d
+       and      edi, r8d
        or       esi, edi
        mov      edi, edx
        rol      edi, 5
@@ -167,7 +165,7 @@ G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax},
        mov      r10d, r8d
        mov      r8d, ebp
        jl       SHORT G_M28360_IG09
-						;; size=72 bbWeight=7.92 PerfScore 77.22
+						;; size=67 bbWeight=7.92 PerfScore 73.26
 G_M28360_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        mov      ebx, 60
 						;; size=5 bbWeight=1 PerfScore 0.25
@@ -222,7 +220,7 @@ G_M28360_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 459, prolog size 8, PerfScore 439.96, instruction count 137, allocated bytes for code 459 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
+; Total bytes of code 454, prolog size 8, PerfScore 436.00, instruction count 135, allocated bytes for code 454 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-0.30%) : 7716.dasm - Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection+<DoReceive>d__27:MoveNext():this (FullOpts)
@@ -9,16 +9,16 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 50, 43   )   byref  ->  [rbp+0x10]  this EH-live single-def
-;  V01 loc0         [V01,T30] (  5,  4.75)     int  ->  rcx         single-def
+;  V01 loc0         [V01,T29] (  5,  4.75)     int  ->  rcx         single-def
 ;  V02 loc1         [V02,T02] ( 30, 24   )     ref  ->  [rbp-0xE0]  class-hnd exact EH-live spill-single-def <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection>
 ;  V03 loc2         [V03    ] (  2,  2   )  struct (16) [rbp-0x38]  do-not-enreg[XDAS] must-init addr-exposed defined-via-address <System.Memory`1[byte]>
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
 ;* V05 loc4         [V05    ] (  0,  0   )     int  ->  zero-ref   
-;  V06 loc5         [V06,T42] (  4,  4   )  struct (16) [rbp-0x48]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.FlushResult]>
+;  V06 loc5         [V06,T41] (  4,  4   )  struct (16) [rbp-0x48]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.FlushResult]>
 ;* V07 loc6         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.IO.Pipelines.FlushResult>
 ;* V08 loc7         [V08    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
 ;  V09 loc8         [V09    ] ( 18, 18   )  struct (32) [rbp-0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ValueTaskAwaiter`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
-;  V10 loc9         [V10,T43] (  4,  4   )  struct (32) [rbp-0x88]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <System.Threading.Tasks.ValueTask`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
+;  V10 loc9         [V10,T42] (  4,  4   )  struct (32) [rbp-0x88]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <System.Threading.Tasks.ValueTask`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V11 loc10        [V11    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Threading.CancellationToken>
 ;  V12 loc11        [V12    ] (  9,  9   )  struct (16) [rbp-0x98]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.IO.Pipelines.FlushResult]>
 ;* V13 loc12        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -33,7 +33,7 @@
 ;  V22 tmp4         [V22,T45] (  2,  4   )     ref  ->  rdx         class-hnd single-def "dup spill" <System.Exception>
 ;  V23 tmp5         [V23,T10] (  3,  6   )     ref  ->  rax         class-hnd single-def "impSpillLclRefs" <System.IO.Pipelines.PipeWriter>
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V25 tmp7         [V25,T31] (  4,  4   )     ref  ->  rdx        
+;  V25 tmp7         [V25,T30] (  4,  4   )     ref  ->  rdx        
 ;  V26 tmp8         [V26,T69] (  3,  0   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Exception>
 ;* V27 tmp9         [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V28 tmp10        [V28    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
@@ -47,7 +47,7 @@
 ;  V36 tmp18        [V36,T73] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
 ;* V37 tmp19        [V37    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ValueTaskAwaiter`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V38 tmp20        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V39 tmp21        [V39,T32] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V39 tmp21        [V39,T31] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V40 tmp22        [V40,T56] (  3,  3   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V41 tmp23        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V42 tmp24        [V42    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
@@ -55,12 +55,12 @@
 ;* V44 tmp26        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V45 tmp27        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V46 tmp28        [V46    ] (  4,  4   )  struct (16) [rbp-0xB0]  do-not-enreg[XDAS] must-init addr-exposed defined-via-address "Inline return value spill temp" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
-;  V47 tmp29        [V47,T33] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V47 tmp29        [V47,T32] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V48 tmp30        [V48,T24] (  5,  5   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V49 tmp31        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V50 tmp32        [V50    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ValueTaskAwaiter`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V51 tmp33        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V52 tmp34        [V52,T34] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V52 tmp34        [V52,T33] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V53 tmp35        [V53,T57] (  3,  3   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V54 tmp36        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V55 tmp37        [V55    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
@@ -68,31 +68,31 @@
 ;* V57 tmp39        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp40        [V58    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V59 tmp41        [V59,T27] (  5,  5   )  struct (16) [rbp-0xC0]  do-not-enreg[DAS] must-init defined-via-address "Inline return value spill temp" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
-;  V60 tmp42        [V60,T35] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V60 tmp42        [V60,T34] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V61 tmp43        [V61,T25] (  5,  5   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V62 tmp44        [V62    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;  V63 tmp45        [V63,T11] (  3,  6   )     ref  ->  rbx         class-hnd "Inlining Arg" <Microsoft.Extensions.Logging.ILogger>
 ;* V64 tmp46        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
 ;  V65 tmp47        [V65,T46] (  2,  4   )     ref  ->  r14         class-hnd exact "dup spill" <System.String>
-;  V66 tmp48        [V66,T36] (  4,  4   )     ref  ->  r14        
+;  V66 tmp48        [V66,T35] (  4,  4   )     ref  ->  r14        
 ;  V67 tmp49        [V67,T12] (  3,  6   )     ref  ->  r14         class-hnd exact "dup spill" <System.String>
 ;* V68 tmp50        [V68    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V69 tmp51        [V69    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V70 tmp52        [V70,T44] (  4,  4   )   ubyte  ->  rcx         "Inline return value spill temp"
-;  V71 tmp53        [V71,T37] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V70 tmp52        [V70,T43] (  4,  4   )   ubyte  ->  rcx         "Inline return value spill temp"
+;  V71 tmp53        [V71,T36] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V72 tmp54        [V72,T58] (  3,  3   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;* V73 tmp55        [V73    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V74 tmp56        [V74    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V75 tmp57        [V75,T13] (  3,  6   )     ref  ->  rbx         class-hnd "Inlining Arg" <Microsoft.Extensions.Logging.ILogger>
 ;* V76 tmp58        [V76    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
 ;  V77 tmp59        [V77,T47] (  2,  4   )     ref  ->  r14         class-hnd exact "dup spill" <System.String>
-;  V78 tmp60        [V78,T38] (  4,  4   )     ref  ->  r14        
+;  V78 tmp60        [V78,T37] (  4,  4   )     ref  ->  r14        
 ;  V79 tmp61        [V79,T14] (  3,  6   )     ref  ->  r14         class-hnd exact "dup spill" <System.String>
 ;* V80 tmp62        [V80    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V81 tmp63        [V81    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V82 tmp64        [V82    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.IO.Pipelines.FlushResult]>
 ;* V83 tmp65        [V83    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V84 tmp66        [V84,T39] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V84 tmp66        [V84,T38] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V85 tmp67        [V85,T59] (  3,  3   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;* V86 tmp68        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V87 tmp69        [V87    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
@@ -100,13 +100,13 @@
 ;* V89 tmp71        [V89    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V90 tmp72        [V90    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V91 tmp73        [V91    ] (  0,  0   )  struct ( 8) zero-ref    "Inline return value spill temp" <System.IO.Pipelines.FlushResult>
-;  V92 tmp74        [V92,T40] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V92 tmp74        [V92,T39] (  4,  4   )     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V93 tmp75        [V93,T26] (  5,  5   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;* V94 tmp76        [V94    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;  V95 tmp77        [V95,T15] (  3,  6   )     ref  ->  r14         class-hnd "Inlining Arg" <Microsoft.Extensions.Logging.ILogger>
 ;* V96 tmp78        [V96    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
 ;  V97 tmp79        [V97,T48] (  2,  4   )     ref  ->  r15         class-hnd exact "dup spill" <System.String>
-;  V98 tmp80        [V98,T41] (  4,  4   )     ref  ->  r15        
+;  V98 tmp80        [V98,T40] (  4,  4   )     ref  ->  r15        
 ;  V99 tmp81        [V99,T16] (  3,  6   )     ref  ->  r15         class-hnd exact "dup spill" <System.String>
 ;* V100 tmp82       [V100    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V101 tmp83       [V101    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
@@ -143,7 +143,7 @@
 ;* V132 tmp114      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V08.BytesTransferred (fldOffset=0x8)" P-INDEP
 ;* V133 tmp115      [V133    ] (  0,  0   )     ref  ->  zero-ref    "field V11._source (fldOffset=0x0)" P-INDEP
 ;  V134 tmp116      [V134    ] (  6,  6   )     ref  ->  [rbp-0xA0]  do-not-enreg[X] addr-exposed "field V16.m_task (fldOffset=0x0)" P-DEP
-;  V135 tmp117      [V135,T29] (  5,  5   )   ubyte  ->  rbx         "field V91._resultFlags (fldOffset=0x0)" P-INDEP
+;  V135 tmp117      [V135,T44] (  4,  4   )   ubyte  ->  rbx         "field V91._resultFlags (fldOffset=0x0)" P-INDEP
 ;* V136 tmp118      [V136    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V104.m_task (fldOffset=0x0)" P-INDEP
 ;  V137 tmp119      [V137,T19] (  3,  6   )     ref  ->  rax         "argument with side effect"
 ;  V138 tmp120      [V138    ] (  2,  4   )  struct (16) [rbp-0xD8]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
@@ -848,12 +848,9 @@ G_M59369_IG59:        ; bbWeight=1, gcrefRegs=C080 {rdi r14 r15}, byrefRegs=0040
 						;; size=29 bbWeight=1 PerfScore 8.00
 G_M59369_IG60:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref
        movzx    rax, bl
-       and      eax, 2
-       movzx    rcx, bl
-       and      ecx, 1
-       or       eax, ecx
+       test     al, 3
        jne      G_M59369_IG75
-						;; size=20 bbWeight=1 PerfScore 2.25
+						;; size=11 bbWeight=1 PerfScore 1.50
 G_M59369_IG61:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref
        cmp      gword ptr [rdi+0x120], 0
        jne      G_M59369_IG75
@@ -1417,7 +1414,7 @@ RWD00  	dd	G_M59369_IG20 - G_M59369_IG02
        	dd	G_M59369_IG11 - G_M59369_IG02
 
 
-; Total bytes of code 2951, prolog size 81, PerfScore 869.58, instruction count 662, allocated bytes for code 2951 (MethodHash=af721816) for method Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection+<DoReceive>d__27:MoveNext():this (FullOpts)
+; Total bytes of code 2942, prolog size 81, PerfScore 868.83, instruction count 659, allocated bytes for code 2942 (MethodHash=af721816) for method Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection+<DoReceive>d__27:MoveNext():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-10 (-0.15%) : 9748.dasm - Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection+<DoReceive>d__27:MoveNext():this (Tier1)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] ( 53, 17.24)   byref  ->  [rbp+0x10]  this EH-live single-def
-;  V01 loc0         [V01,T76] (  6,  3   )     int  ->  rax         single-def
+;  V01 loc0         [V01,T75] (  6,  3   )     int  ->  rax         single-def
 ;  V02 loc1         [V02,T07] ( 35, 15.69)     ref  ->  [rbp-0x110]  class-hnd exact EH-live single-def <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection>
 ;  V03 loc2         [V03    ] (  7, 10.84)  struct (16) [rbp-0x48]  do-not-enreg[DAS] must-init defined-via-address <System.Memory`1[byte]>
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
@@ -72,7 +72,7 @@
 ;* V60 tmp42        [V60    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
 ;* V61 tmp43        [V61    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ValueTaskAwaiter`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V62 tmp44        [V62,T133] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V63 tmp45        [V63,T54] (  7,  3.62)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V63 tmp45        [V63,T53] (  7,  3.62)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V64 tmp46        [V64,T127] (  3,  0.80)     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V65 tmp47        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;  V66 tmp48        [V66,T132] (  2,  0   )     int  ->  rax         "guarded devirt return temp"
@@ -110,7 +110,7 @@
 ;* V98 tmp80        [V98    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V99 tmp81        [V99    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V100 tmp82       [V100    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
-;  V101 tmp83       [V101,T57] (  4,  3.61)   byref  ->  rbx         "Inlining Arg"
+;  V101 tmp83       [V101,T56] (  4,  3.61)   byref  ->  rbx         "Inlining Arg"
 ;* V102 tmp84       [V102    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Net.Sockets.SocketException>
 ;  V103 tmp85       [V103,T138] (  6,  0   )     ref  ->  r14         class-hnd exact "NewObj constructor temp" <Microsoft.AspNetCore.Connections.ConnectionResetException>
 ;* V104 tmp86       [V104    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.Sockets.SocketException>
@@ -125,13 +125,13 @@
 ;* V113 tmp95       [V113    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V114 tmp96       [V114    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V115 tmp97       [V115,T16] (  7,  7.38)     ref  ->  [rbp-0x118]  do-not-enreg[Z] class-hnd EH-live "Inline stloc first use temp" <System.Object>
-;  V116 tmp98       [V116,T62] (  3,  3.61)   ubyte  ->  [rbp-0xA4]  do-not-enreg[Z] ld-addr-op EH-live "Inline stloc first use temp"
+;  V116 tmp98       [V116,T61] (  3,  3.61)   ubyte  ->  [rbp-0xA4]  do-not-enreg[Z] ld-addr-op EH-live "Inline stloc first use temp"
 ;  V117 tmp99       [V117,T120] (  2,  1.22)     int  ->  rdx         "Inline stloc first use temp"
 ;* V118 tmp100      [V118    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.IO.Pipelines.BufferSegment>
 ;  V119 tmp101      [V119,T151] (  3,  0   )     ref  ->  rcx         class-hnd exact "dup spill" <System.IO.Pipelines.BufferSegment>
 ;* V120 tmp102      [V120    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.IO.Pipelines.BufferSegment>
 ;* V121 tmp103      [V121    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.IO.Pipelines.BufferSegment>
-;  V122 tmp104      [V122,T63] (  3,  3.61)     int  ->  rax         "Inline return value spill temp"
+;  V122 tmp104      [V122,T62] (  3,  3.61)     int  ->  rax         "Inline return value spill temp"
 ;  V123 tmp105      [V123,T26] (  3,  5.42)     int  ->  rax         "Inline stloc first use temp"
 ;  V124 tmp106      [V124,T09] (  3, 10.84)   byref  ->  rcx         "Inlining Arg"
 ;* V125 tmp107      [V125    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.IO.Pipelines.BufferSegment>
@@ -142,7 +142,7 @@
 ;* V130 tmp112      [V130    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V131 tmp113      [V131,T14] (  4,  9.60)   byref  ->  rcx         "Inlining Arg"
 ;  V132 tmp114      [V132,T42] (  4,  4.80)     int  ->  rax         "Inline stloc first use temp"
-;  V133 tmp115      [V133,T68] (  3,  3.60)     ref  ->  rdx         class-hnd exact "Inline stloc first use temp" <System.IO.Pipelines.BufferSegmentStack+SegmentAsValueType[]>
+;  V133 tmp115      [V133,T67] (  3,  3.60)     ref  ->  rdx         class-hnd exact "Inline stloc first use temp" <System.IO.Pipelines.BufferSegmentStack+SegmentAsValueType[]>
 ;* V134 tmp116      [V134    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.IO.Pipelines.BufferSegmentStack+SegmentAsValueType>
 ;  V135 tmp117      [V135,T22] ( 10,  7.12)     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.Buffers.MemoryPool`1[byte]>
 ;  V136 tmp118      [V136,T24] (  5,  5.97)     int  ->  r13         "Inline stloc first use temp"
@@ -176,8 +176,8 @@
 ;* V164 tmp146      [V164    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] "Inline return value spill temp" <System.Threading.Tasks.ValueTask`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;  V165 tmp147      [V165,T00] ( 28, 60.81)     ref  ->  [rbp-0x120]  do-not-enreg[Z] class-hnd exact EH-live "Inlining Arg" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketReceiver>
 ;  V166 tmp148      [V166,T10] (  3, 10.84)     ref  ->  rbx         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
-;  V167 tmp149      [V167,T67] (  2,  3.61)     int  ->  rax         "Inline stloc first use temp"
-;  V168 tmp150      [V168,T64] (  3,  3.61)     int  ->  rbx         "Inline stloc first use temp"
+;  V167 tmp149      [V167,T66] (  2,  3.61)     int  ->  rax         "Inline stloc first use temp"
+;  V168 tmp150      [V168,T63] (  3,  3.61)     int  ->  rbx         "Inline stloc first use temp"
 ;* V169 tmp151      [V169    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
 ;* V170 tmp152      [V170    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V171 tmp153      [V171    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
@@ -185,7 +185,7 @@
 ;* V173 tmp155      [V173    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V174 tmp156      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Memory`1[byte]>
 ;  V175 tmp157      [V175,T152] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
-;  V176 tmp158      [V176,T65] (  3,  3.61)     int  ->  rax         "Inline stloc first use temp"
+;  V176 tmp158      [V176,T64] (  3,  3.61)     int  ->  rax         "Inline stloc first use temp"
 ;* V177 tmp159      [V177    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;  V178 tmp160      [V178,T153] (  3,  0   )     ref  ->  r15         class-hnd exact "NewObj constructor temp" <System.Net.Sockets.SocketException>
 ;* V179 tmp161      [V179    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
@@ -202,13 +202,13 @@
 ;* V190 tmp172      [V190    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V191 tmp173      [V191    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
 ;  V192 tmp174      [V192,T49] (  6,  3.63)  struct (16) [rbp-0xC8]  do-not-enreg[DAS] must-init defined-via-address "Inline return value spill temp" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
-;  V193 tmp175      [V193,T55] (  7,  3.62)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V193 tmp175      [V193,T54] (  7,  3.62)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V194 tmp176      [V194,T129] (  5,  0.80)     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V195 tmp177      [V195    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult]>
 ;* V196 tmp178      [V196    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketReceiver>
 ;* V197 tmp179      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V198 tmp180      [V198    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketOperationResult>
-;  V199 tmp181      [V199,T81] (  4,  2.42)   byref  ->  r15         "Inlining Arg"
+;  V199 tmp181      [V199,T80] (  4,  2.42)   byref  ->  r15         "Inlining Arg"
 ;* V200 tmp182      [V200    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Net.Sockets.SocketException>
 ;  V201 tmp183      [V201,T154] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <Microsoft.AspNetCore.Connections.ConnectionResetException>
 ;* V202 tmp184      [V202    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.Sockets.SocketException>
@@ -221,7 +221,7 @@
 ;  V209 tmp191      [V209,T28] (  7,  4.93)     ref  ->  [rbp-0x128]  do-not-enreg[Z] class-hnd EH-live "Inline stloc first use temp" <System.Object>
 ;  V210 tmp192      [V210,T95] (  3,  2.42)   ubyte  ->  [rbp-0xCC]  do-not-enreg[Z] ld-addr-op EH-live "Inline stloc first use temp"
 ;  V211 tmp193      [V211,T96] (  3,  2.42)     int  ->  rax         "Inline return value spill temp"
-;  V212 tmp194      [V212,T51] (  3,  3.63)     int  ->  rax         "Inline stloc first use temp"
+;  V212 tmp194      [V212,T50] (  3,  3.63)     int  ->  rax         "Inline stloc first use temp"
 ;* V213 tmp195      [V213    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp196      [V214    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp197      [V215    ] (  0,  0   )  struct (16) zero-ref    "stack copy for value returned via return buffer" <System.Memory`1[byte]>
@@ -246,7 +246,7 @@
 ;* V234 tmp216      [V234    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
 ;* V235 tmp217      [V235    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;  V236 tmp218      [V236,T98] (  3,  2.42)     int  ->  rax         "Inline return value spill temp"
-;  V237 tmp219      [V237,T52] (  3,  3.63)     int  ->  rax         "Inline stloc first use temp"
+;  V237 tmp219      [V237,T51] (  3,  3.63)     int  ->  rax         "Inline stloc first use temp"
 ;* V238 tmp220      [V238    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;  V239 tmp221      [V239,T36] (  2,  4.83)     int  ->  r14         "impAppendStmt"
 ;* V240 tmp222      [V240    ] (  0,  0   )     int  ->  zero-ref   
@@ -273,7 +273,7 @@
 ;* V261 tmp243      [V261    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.IO.Pipelines.FlushResult>
 ;  V262 tmp244      [V262,T156] (  3,  0   )     ref  ->  r15         class-hnd exact "Inlining Arg" <System.IO.Pipelines.Pipe+DefaultPipeWriter>
 ;  V263 tmp245      [V263,T04] (  9, 21.75)   byref  ->  rcx         "Inlining Arg"
-;  V264 tmp246      [V264,T73] (  3,  3.22)     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Action`1[System.Object]>
+;  V264 tmp246      [V264,T72] (  3,  3.22)     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Action`1[System.Object]>
 ;  V265 tmp247      [V265,T112] (  2,  2.01)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V266 tmp248      [V266,T30] (  4,  4.83)     ref  ->   r8         class-hnd exact "dup spill" <System.IO.Pipelines.PipeAwaitable+SchedulingContext>
 ;* V267 tmp249      [V267    ] (  0,  0   )     ref  ->  zero-ref   
@@ -292,18 +292,18 @@
 ;* V280 tmp262      [V280    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.IO.Pipelines.PipeAwaitable+SchedulingContext>
 ;* V281 tmp263      [V281    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.IO.Pipelines.PipeAwaitable+SchedulingContext>
 ;* V282 tmp264      [V282    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.IO.Pipelines.PipeOptions>
-;  V283 tmp265      [V283,T78] (  4,  2.77)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <System.Action`1[System.Object]>
+;  V283 tmp265      [V283,T77] (  4,  2.77)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <System.Action`1[System.Object]>
 ;  V284 tmp266      [V284,T45] (  5,  3.75)     ref  ->  rcx         class-hnd "Inlining Arg" <System.IO.Pipelines.PipeScheduler>
 ;  V285 tmp267      [V285,T119] (  3,  1.42)     ref  ->   r8         class-hnd "spilling ret_expr" <System.Object>
 ;* V286 tmp268      [V286    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.IO.Pipelines.ThreadPoolScheduler>
-;  V287 tmp269      [V287,T86] (  4,  2.42)   ubyte  ->  rbx         "Inline return value spill temp"
+;  V287 tmp269      [V287,T85] (  4,  2.42)   ubyte  ->  rbx         "Inline return value spill temp"
 ;* V288 tmp270      [V288    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Object>
 ;  V289 tmp271      [V289,T157] (  3,  0   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;* V290 tmp272      [V290    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Pipelines.FlushResult]>
 ;* V291 tmp273      [V291    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V292 tmp274      [V292    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.IO.Pipelines.FlushResult]>
 ;  V293 tmp275      [V293,T168] (  3,  0   )   ubyte  ->  r14         "Inline return value spill temp"
-;  V294 tmp276      [V294,T82] (  4,  2.42)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V294 tmp276      [V294,T81] (  4,  2.42)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V295 tmp277      [V295,T158] (  3,  0   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;* V296 tmp278      [V296    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Pipelines.FlushResult]>
 ;* V297 tmp279      [V297    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
@@ -311,7 +311,7 @@
 ;* V299 tmp281      [V299    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V300 tmp282      [V300    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
 ;* V301 tmp283      [V301    ] (  0,  0   )  struct ( 8) zero-ref    "Inline return value spill temp" <System.IO.Pipelines.FlushResult>
-;  V302 tmp284      [V302,T83] (  4,  2.42)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
+;  V302 tmp284      [V302,T82] (  4,  2.42)     ref  ->  rbx         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V303 tmp285      [V303,T140] (  5,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Pipelines.FlushResult]>
 ;* V304 tmp286      [V304    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Pipelines.FlushResult]>
 ;  V305 tmp287      [V305,T144] (  4,  0.00)     ref  ->  rcx         class-hnd single-def "spilling ret_expr" <System.IO.Pipelines.IDuplexPipe>
@@ -326,13 +326,13 @@
 ;* V314 tmp296      [V314    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V315 tmp297      [V315    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
 ;  V316 tmp298      [V316,T160] (  3,  0.00)     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
-;  V317 tmp299      [V317,T61] (  3,  3.61)     ref  ->  [rbp-0x48]  do-not-enreg[DA] defined-via-address "field V03._object (fldOffset=0x0)" P-DEP
-;  V318 tmp300      [V318,T66] (  3,  3.61)     int  ->  [rbp-0x40]  do-not-enreg[DA] defined-via-address "field V03._index (fldOffset=0x8)" P-DEP
+;  V317 tmp299      [V317,T60] (  3,  3.61)     ref  ->  [rbp-0x48]  do-not-enreg[DA] defined-via-address "field V03._object (fldOffset=0x0)" P-DEP
+;  V318 tmp300      [V318,T65] (  3,  3.61)     int  ->  [rbp-0x40]  do-not-enreg[DA] defined-via-address "field V03._index (fldOffset=0x8)" P-DEP
 ;  V319 tmp301      [V319,T20] (  5,  7.23)     int  ->  [rbp-0x3C]  do-not-enreg[DA] defined-via-address "field V03._length (fldOffset=0xc)" P-DEP
 ;* V320 tmp302      [V320    ] (  0,  0   )     ref  ->  zero-ref    "field V04.SocketError (fldOffset=0x0)" P-INDEP
 ;  V321 tmp303      [V321,T12] (  9,  9.66)     int  ->  rbx         "field V04.BytesTransferred (fldOffset=0x8)" P-INDEP
 ;  V322 tmp304      [V322,T48] (  6,  3.63)     ref  ->  [rbp-0x58]  do-not-enreg[DA] defined-via-address "field V06._obj (fldOffset=0x0)" P-DEP
-;  V323 tmp305      [V323,T87] (  4,  2.42)   short  ->  [rbp-0x50]  do-not-enreg[DA] defined-via-address "field V06._token (fldOffset=0x8)" P-DEP
+;  V323 tmp305      [V323,T86] (  4,  2.42)   short  ->  [rbp-0x50]  do-not-enreg[DA] defined-via-address "field V06._token (fldOffset=0x8)" P-DEP
 ;  V324 tmp306      [V324,T99] (  3,  2.42)   ubyte  ->  [rbp-0x4E]  do-not-enreg[DA] defined-via-address "field V06._continueOnCapturedContext (fldOffset=0xa)" P-DEP
 ;  V325 tmp307      [V325,T100] (  3,  2.42)   ubyte  ->  [rbp-0x4D]  do-not-enreg[DA] defined-via-address "field V06._result (fldOffset=0xb)" P-DEP
 ;* V326 tmp308      [V326    ] (  0,  0   )   ubyte  ->  zero-ref    "field V07._resultFlags (fldOffset=0x0)" P-INDEP
@@ -358,7 +358,7 @@
 ;* V346 tmp328      [V346    ] (  0,  0   )     int  ->  zero-ref    "field V59.BytesTransferred (fldOffset=0x8)" P-INDEP
 ;* V347 tmp329      [V347    ] (  0,  0   )     ref  ->  zero-ref    "field V60.SocketError (fldOffset=0x0)" P-INDEP
 ;* V348 tmp330      [V348    ] (  0,  0   )     int  ->  zero-ref    "field V60.BytesTransferred (fldOffset=0x8)" P-INDEP
-;  V349 tmp331      [V349,T56] ( 11,  3.61)     ref  ->  [rbp-0xA0]  do-not-enreg[DA] defined-via-address "field V88.SocketError (fldOffset=0x0)" P-DEP
+;  V349 tmp331      [V349,T55] ( 11,  3.61)     ref  ->  [rbp-0xA0]  do-not-enreg[DA] defined-via-address "field V88.SocketError (fldOffset=0x0)" P-DEP
 ;  V350 tmp332      [V350,T121] (  3,  1.21)     int  ->  [rbp-0x98]  do-not-enreg[DA] defined-via-address "field V88.BytesTransferred (fldOffset=0x8)" P-DEP
 ;  V351 tmp333      [V351,T125] (  3,  1.20)     ref  ->  r14         "field V93.SocketError (fldOffset=0x0)" P-INDEP
 ;* V352 tmp334      [V352    ] (  0,  0   )     int  ->  zero-ref    "field V93.BytesTransferred (fldOffset=0x8)" P-INDEP
@@ -372,9 +372,9 @@
 ;* V360 tmp342      [V360    ] (  0,  0   )     ref  ->  zero-ref    "field V138._object (fldOffset=0x0)" P-INDEP
 ;* V361 tmp343      [V361    ] (  0,  0   )     int  ->  zero-ref    "field V138._index (fldOffset=0x8)" P-INDEP
 ;* V362 tmp344      [V362    ] (  0,  0   )     int  ->  zero-ref    "field V138._length (fldOffset=0xc)" P-INDEP
-;  V363 tmp345      [V363,T69] (  3,  3.60)     ref  ->  [rbp-0xB8]  do-not-enreg[DA] defined-via-address "field V152._object (fldOffset=0x0)" P-DEP
-;  V364 tmp346      [V364,T71] (  3,  3.60)     int  ->  [rbp-0xB0]  do-not-enreg[DA] defined-via-address "field V152._index (fldOffset=0x8)" P-DEP
-;  V365 tmp347      [V365,T72] (  3,  3.60)     int  ->  [rbp-0xAC]  do-not-enreg[DA] defined-via-address "field V152._length (fldOffset=0xc)" P-DEP
+;  V363 tmp345      [V363,T68] (  3,  3.60)     ref  ->  [rbp-0xB8]  do-not-enreg[DA] defined-via-address "field V152._object (fldOffset=0x0)" P-DEP
+;  V364 tmp346      [V364,T70] (  3,  3.60)     int  ->  [rbp-0xB0]  do-not-enreg[DA] defined-via-address "field V152._index (fldOffset=0x8)" P-DEP
+;  V365 tmp347      [V365,T71] (  3,  3.60)     int  ->  [rbp-0xAC]  do-not-enreg[DA] defined-via-address "field V152._length (fldOffset=0xc)" P-DEP
 ;* V366 tmp348      [V366    ] (  0,  0   )     ref  ->  zero-ref    "field V169.SocketError (fldOffset=0x0)" P-INDEP
 ;* V367 tmp349      [V367    ] (  0,  0   )     int  ->  zero-ref    "field V169.BytesTransferred (fldOffset=0x8)" P-INDEP
 ;* V368 tmp350      [V368    ] (  0,  0   )     ref  ->  zero-ref    "field V171.SocketError (fldOffset=0x0)" P-INDEP
@@ -387,7 +387,7 @@
 ;* V375 tmp357      [V375    ] (  0,  0   )     int  ->  zero-ref    "field V179.BytesTransferred (fldOffset=0x8)" P-INDEP
 ;* V376 tmp358      [V376    ] (  0,  0   )     ref  ->  zero-ref    "field V180.SocketError (fldOffset=0x0)" P-INDEP
 ;* V377 tmp359      [V377    ] (  0,  0   )     int  ->  zero-ref    "field V180.BytesTransferred (fldOffset=0x8)" P-INDEP
-;  V378 tmp360      [V378,T79] (  8,  2.42)     ref  ->  r14         "field V198.SocketError (fldOffset=0x0)" P-INDEP
+;  V378 tmp360      [V378,T78] (  8,  2.42)     ref  ->  r14         "field V198.SocketError (fldOffset=0x0)" P-INDEP
 ;* V379 tmp361      [V379    ] (  0,  0   )     int  ->  zero-ref    "field V198.BytesTransferred (fldOffset=0x8)" P-INDEP
 ;* V380 tmp362      [V380    ] (  0,  0   )     ref  ->  zero-ref    "field V215._object (fldOffset=0x0)" P-INDEP
 ;* V381 tmp363      [V381    ] (  0,  0   )     int  ->  zero-ref    "field V215._index (fldOffset=0x8)" P-INDEP
@@ -410,7 +410,7 @@
 ;* V398 tmp380      [V398    ] (  0,  0   )   short  ->  zero-ref    "field V241._token (fldOffset=0x8)" P-INDEP
 ;* V399 tmp381      [V399    ] (  0,  0   )   ubyte  ->  zero-ref    "field V241._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V400 tmp382      [V400    ] (  0,  0   )   ubyte  ->  zero-ref    "field V241._result (fldOffset=0xb)" P-INDEP
-;  V401 tmp383      [V401,T80] (  5,  2.42)   ubyte  ->  r13         "field V243._resultFlags (fldOffset=0x0)" P-INDEP
+;  V401 tmp383      [V401,T79] (  5,  2.42)   ubyte  ->  r13         "field V243._resultFlags (fldOffset=0x0)" P-INDEP
 ;* V402 tmp384      [V402    ] (  0,  0   )     ref  ->  zero-ref    "field V244._obj (fldOffset=0x0)" P-INDEP
 ;* V403 tmp385      [V403    ] (  0,  0   )   short  ->  zero-ref    "field V244._token (fldOffset=0x8)" P-INDEP
 ;* V404 tmp386      [V404    ] (  0,  0   )   ubyte  ->  zero-ref    "field V244._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
@@ -429,7 +429,7 @@
 ;* V417 tmp399      [V417    ] (  0,  0   )     ref  ->  zero-ref    "field V276.<CompletionState>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V418 tmp400      [V418    ] (  0,  0   )     ref  ->  zero-ref    "field V276.<ExecutionContext>k__BackingField (fldOffset=0x10)" P-INDEP
 ;* V419 tmp401      [V419    ] (  0,  0   )     ref  ->  zero-ref    "field V276.<SynchronizationContext>k__BackingField (fldOffset=0x18)" P-INDEP
-;  V420 tmp402      [V420,T50] (  5,  3.63)   ubyte  ->  r14         "field V301._resultFlags (fldOffset=0x0)" P-INDEP
+;  V420 tmp402      [V420,T87] (  4,  2.42)   ubyte  ->  r14         "field V301._resultFlags (fldOffset=0x0)" P-INDEP
 ;* V421 tmp403      [V421    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V310.m_task (fldOffset=0x0)" P-INDEP
 ;* V422 tmp404      [V422    ] (  0,  0   )     ref  ->  zero-ref    "V49.[000..008)"
 ;* V423 tmp405      [V423    ] (  0,  0   )   short  ->  zero-ref    "V49.[008..010)"
@@ -461,16 +461,16 @@
 ;* V449 tmp431      [V449    ] (  0,  0   )   ubyte  ->  zero-ref    "V173.[010..011)"
 ;* V450 tmp432      [V450    ] (  0,  0   )     ref  ->  zero-ref    "V173.[016..024)"
 ;* V451 tmp433      [V451    ] (  0,  0   )     int  ->  zero-ref    "V173.[024..028)"
-;  V452 tmp434      [V452,T84] (  4,  2.42)     ref  ->  rbx         "V42.[000..008)"
+;  V452 tmp434      [V452,T83] (  4,  2.42)     ref  ->  rbx         "V42.[000..008)"
 ;* V453 tmp435      [V453    ] (  0,  0   )   short  ->  zero-ref    "V42.[008..010)"
 ;* V454 tmp436      [V454    ] (  0,  0   )   ubyte  ->  zero-ref    "V42.[010..011)"
-;  V455 tmp437      [V455,T85] (  4,  2.42)     ref  ->  r14         "V42.[016..024)"
+;  V455 tmp437      [V455,T84] (  4,  2.42)     ref  ->  r14         "V42.[016..024)"
 ;  V456 tmp438      [V456,T88] (  4,  2.42)     int  ->  r15         "V42.[024..028)"
-;  V457 tmp439      [V457,T58] (  4,  3.61)     ref  ->  r14         "V164.[000..008)"
+;  V457 tmp439      [V457,T57] (  4,  3.61)     ref  ->  r14         "V164.[000..008)"
 ;* V458 tmp440      [V458    ] (  0,  0   )   short  ->  zero-ref    "V164.[008..010)"
 ;* V459 tmp441      [V459    ] (  0,  0   )   ubyte  ->  zero-ref    "V164.[010..011)"
-;  V460 tmp442      [V460,T59] (  4,  3.61)     ref  ->  r15         "V164.[016..024)"
-;  V461 tmp443      [V461,T60] (  4,  3.61)     int  ->  rax         "V164.[024..028)"
+;  V460 tmp442      [V460,T58] (  4,  3.61)     ref  ->  r15         "V164.[016..024)"
+;  V461 tmp443      [V461,T59] (  4,  3.61)     int  ->  rax         "V164.[024..028)"
 ;* V462 tmp444      [V462    ] (  0,  0   )     ref  ->  zero-ref    "V225.[000..008)"
 ;* V463 tmp445      [V463    ] (  0,  0   )   short  ->  zero-ref    "V225.[008..010)"
 ;* V464 tmp446      [V464    ] (  0,  0   )   ubyte  ->  zero-ref    "V225.[010..011)"
@@ -493,17 +493,17 @@
 ;  V481 tmp463      [V481,T108] (  2,  2.40)     ref  ->  rdx         "argument with side effect"
 ;  V482 tmp464      [V482,T182] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V483 tmp465      [V483,T183] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
-;  V484 cse0        [V484,T70] (  3,  3.60)   byref  ->  rcx         "CSE #09: conservative"
+;  V484 cse0        [V484,T69] (  3,  3.60)   byref  ->  rcx         "CSE #09: conservative"
 ;  V485 cse1        [V485,T32] (  4,  4.83)     int  ->  rdx         "CSE #32: moderate"
-;  V486 cse2        [V486,T53] (  3,  3.62)     int  ->  r15         "CSE #29: conservative"
+;  V486 cse2        [V486,T52] (  3,  3.62)     int  ->  r15         "CSE #29: conservative"
 ;  V487 cse3        [V487,T31] (  4,  4.83)   byref  ->  r15         "CSE #31: moderate"
-;  V488 rat0        [V488,T74] (  5,  3.20)     ref  ->  r14         "replacement local"
+;  V488 rat0        [V488,T73] (  5,  3.20)     ref  ->  r14         "replacement local"
 ;  V489 rat1        [V489,T115] (  3,  1.60)     ref  ->  rdx         "Spilling to split statement for tree"
-;  V490 rat2        [V490,T77] (  5,  2.80)     ref  ->  r14         "replacement local"
+;  V490 rat2        [V490,T76] (  5,  2.80)     ref  ->  r14         "replacement local"
 ;  V491 rat3        [V491,T128] (  3,  0.80)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V492 rat4        [V492,T44] (  5,  4.78)     ref  ->  r14         "replacement local"
 ;  V493 rat5        [V493,T43] (  5,  4.79)     ref  ->  r14         "replacement local"
-;  V494 rat6        [V494,T75] (  5,  3.20)     ref  ->  r14         "replacement local"
+;  V494 rat6        [V494,T74] (  5,  3.20)     ref  ->  r14         "replacement local"
 ;  V495 rat7        [V495,T116] (  3,  1.60)   byref  ->  rax         "TLS field access"
 ;  V496 rat8        [V496,T103] (  3,  2.40)    long  ->  rcx         "TLS access"
 ;  V497 rat9        [V497,T102] (  3,  2.40)   byref  ->  rax         "ThreadStaticBlockBase access"
@@ -1630,12 +1630,9 @@ G_M59369_IG104:        ; bbWeight=1.21, gcrefRegs=0000 {}, byrefRegs=0040 {rsi},
 						;; size=10 bbWeight=1.21 PerfScore 3.63
 G_M59369_IG105:        ; bbWeight=1.21, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
        movzx    rax, r14b
-       and      eax, 2
-       movzx    rcx, r14b
-       and      ecx, 1
-       or       eax, ecx
+       test     al, 3
        jne      G_M59369_IG204
-						;; size=22 bbWeight=1.21 PerfScore 2.72
+						;; size=12 bbWeight=1.21 PerfScore 1.81
 G_M59369_IG106:        ; bbWeight=1.21, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
        mov      rdi, gword ptr [rbp-0x110]
        ; gcrRegs +[rdi]
@@ -3336,7 +3333,7 @@ RWD00  	dd	G_M59369_IG05 - G_M59369_IG02
        	dd	G_M59369_IG198 - G_M59369_IG02
 
 
-; Total bytes of code 6531, prolog size 85, PerfScore 736.52, instruction count 1401, allocated bytes for code 6531 (MethodHash=af721816) for method Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection+<DoReceive>d__27:MoveNext():this (Tier1)
+; Total bytes of code 6521, prolog size 85, PerfScore 735.61, instruction count 1398, allocated bytes for code 6521 (MethodHash=af721816) for method Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection+<DoReceive>d__27:MoveNext():this (Tier1)
 ; ============================================================
 
 Unwind Info:
benchmarks.run.windows.x64.checked.mch
-16 (-4.43%) : 31192.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -45,18 +45,17 @@
 ;  V34 tmp30        [V34,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V35 tmp31        [V35    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V03._node (fldOffset=0x0)" P-INDEP
-;  V37 tmp33        [V37,T19] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
-;  V38 tmp34        [V38,T20] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
+;  V37 tmp33        [V37,T18] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
+;  V38 tmp34        [V38,T19] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
 ;  V39 tmp35        [V39,T11] (  4,  2   )     ref  ->  rdi         single-def "field V18._node (fldOffset=0x0)" P-INDEP
 ;  V40 tmp36        [V40,T12] (  4,  2   )     ref  ->  rsi         single-def "field V20._node (fldOffset=0x0)" P-INDEP
 ;  V41 tmp37        [V41,T09] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
 ;  V42 cse0         [V42,T04] (  4,  3   )    long  ->  rbp         "CSE #02: aggressive"
 ;  V43 cse1         [V43,T03] (  6,  3   )    long  ->  rsi         multi-def "CSE #03: aggressive"
 ;  V44 cse2         [V44,T16] (  3,  1.50)     int  ->  rdx         "CSE #05: conservative"
-;  V45 cse3         [V45,T17] (  3,  1.50)     int  ->  rax         "CSE #07: conservative"
-;  V46 cse4         [V46,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
-;  V47 rat0         [V47,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
-;  V48 rat1         [V48,T18] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V45 cse3         [V45,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
+;  V46 rat0         [V46,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
+;  V47 rat1         [V47,T17] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 32
 
@@ -177,14 +176,9 @@ G_M12665_IG06:        ; bbWeight=0.50, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0
 G_M12665_IG07:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        lea      rcx, bword ptr [r14+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      SHORT G_M12665_IG09
-						;; size=27 bbWeight=0.50 PerfScore 3.25
+						;; size=11 bbWeight=0.50 PerfScore 2.75
 G_M12665_IG08:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        ; byrRegs -[rcx]
@@ -276,7 +270,7 @@ G_M12665_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 
-; Total bytes of code 361, prolog size 10, PerfScore 59.25, instruction count 115, allocated bytes for code 361 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 345, prolog size 10, PerfScore 58.75, instruction count 110, allocated bytes for code 345 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-47 (-3.69%) : 31131.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
-;  V07 tmp6         [V07,T48] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
+;  V07 tmp6         [V07,T47] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V08 tmp7         [V08,T05] (  6, 96   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V09 tmp8         [V09,T26] (  2, 32   )   byref  ->  [rsp+0x68]  spill-single-def "impAppendStmt"
 ;  V10 tmp9         [V10,T00] ( 13,208   )     ref  ->  [rsp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
@@ -27,14 +27,14 @@
 ;  V16 tmp15        [V16,T06] (  5, 80   )     ref  ->  rax         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V17 tmp16        [V17,T30] (  2, 32   )   byref  ->  rcx         "impAppendStmt"
 ;* V18 tmp17        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V19 tmp18        [V19,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V19 tmp18        [V19,T55] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V20 tmp19        [V20    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V21 tmp20        [V21,T57] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V21 tmp20        [V21,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V22 tmp21        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp22        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp23        [V24,T09] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V25 tmp24        [V25    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V26 tmp25        [V26,T47] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
+;* V26 tmp25        [V26,T46] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;  V27 tmp26        [V27,T04] (  7,112   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;* V28 tmp27        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V29 tmp28        [V29,T10] (  3, 48   )   byref  ->  rcx         "dup spill"
@@ -73,29 +73,27 @@
 ;  V62 tmp61        [V62,T21] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V63 tmp62        [V63,T22] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V64 tmp63        [V64,T23] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #10: moderate"
-;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #09: moderate"
-;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #06: moderate"
-;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #11: moderate"
-;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #17: moderate"
-;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #21: moderate"
-;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #26: moderate"
-;  V72 cse7         [V72,T42] (  3, 24   )     int  ->   r8         "CSE #28: moderate"
+;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #09: moderate"
+;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #08: moderate"
+;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #05: moderate"
+;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #10: moderate"
+;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #16: moderate"
+;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #20: moderate"
+;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #25: moderate"
+;  V72 cse7         [V72,T42] (  3, 24   )     int  ->  r10         "CSE #12: moderate"
 ;  V73 cse8         [V73,T43] (  3, 24   )     int  ->  r10         "CSE #13: moderate"
-;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #14: moderate"
-;  V75 cse10        [V75,T45] (  3, 24   )     int  ->  r10         "CSE #19: moderate"
-;  V76 cse11        [V76,T46] (  3, 24   )     int  ->   r8         "CSE #23: moderate"
-;  V77 cse12        [V77,T58] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
-;  V78 cse13        [V78,T59] (  3,  3   )     int  ->  rdx         "CSE #04: moderate"
-;  V79 cse14        [V79,T25] (  4, 32   )    long  ->  r12         "CSE #15: moderate"
-;  V80 cse15        [V80,T49] (  3, 10   )    long  ->  rsi         "CSE #05: moderate"
-;  V81 cse16        [V81,T50] (  3, 10   )    long  ->  rdi         "CSE #07: moderate"
-;  V82 cse17        [V82,T51] (  3, 10   )    long  ->  rbp         "CSE #16: moderate"
-;  V83 cse18        [V83,T52] (  3, 10   )    long  ->  r14         "CSE #20: moderate"
-;  V84 cse19        [V84,T53] (  3, 10   )    long  ->  r15         "CSE #24: moderate"
-;  V85 cse20        [V85,T54] (  3, 10   )    long  ->  rbx         "CSE #25: moderate"
-;  V86 cse21        [V86,T36] (  3, 24   )   byref  ->  rdx         "CSE #27: moderate"
-;  V87 cse22        [V87,T55] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
+;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #18: moderate"
+;  V75 cse10        [V75,T45] (  3, 24   )     int  ->   r8         "CSE #22: moderate"
+;  V76 cse11        [V76,T57] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
+;  V77 cse12        [V77,T25] (  4, 32   )    long  ->  r12         "CSE #14: moderate"
+;  V78 cse13        [V78,T48] (  3, 10   )    long  ->  rsi         "CSE #04: moderate"
+;  V79 cse14        [V79,T49] (  3, 10   )    long  ->  rdi         "CSE #06: moderate"
+;  V80 cse15        [V80,T50] (  3, 10   )    long  ->  rbp         "CSE #15: moderate"
+;  V81 cse16        [V81,T51] (  3, 10   )    long  ->  r14         "CSE #19: moderate"
+;  V82 cse17        [V82,T52] (  3, 10   )    long  ->  r15         "CSE #23: moderate"
+;  V83 cse18        [V83,T53] (  3, 10   )    long  ->  rbx         "CSE #24: moderate"
+;  V84 cse19        [V84,T36] (  3, 24   )   byref  ->  rdx         "CSE #26: moderate"
+;  V85 cse20        [V85,T54] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 120
 
@@ -185,23 +183,16 @@ G_M32365_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, 1
        mov      word  ptr [rcx], dx
        lea      rcx, bword ptr [rax+0x0E]
-       movzx    rdx, word  ptr [rcx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
+       and      word  ptr [rcx], 0xFFFE
        mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
        ; byrRegs -[rcx]
        mov      rdx, rax
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-						;; size=288 bbWeight=1 PerfScore 31.00
-G_M32365_IG03:        ; bbWeight=1, extend
        mov      r13d, 0x2001
-						;; size=6 bbWeight=1 PerfScore 0.25
-G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+						;; size=274 bbWeight=1 PerfScore 30.25
+G_M32365_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -211,7 +202,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rsi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -256,7 +247,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rdi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -286,7 +277,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, r8d
        or       edx, 1
 						;; size=240 bbWeight=8 PerfScore 414.00
-G_M32365_IG05:        ; bbWeight=8, extend
+G_M32365_IG04:        ; bbWeight=8, extend
        mov      word  ptr [rcx], dx
        mov      r8, gword ptr [rsp+0x38]
        ; gcrRegs +[r8]
@@ -357,7 +348,7 @@ G_M32365_IG05:        ; bbWeight=8, extend
        mov      rcx, gword ptr [rbp]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -372,7 +363,7 @@ G_M32365_IG05:        ; bbWeight=8, extend
        mov      word  ptr [rax+0x0C], r13w
        mov      ecx, dword ptr [rsp+0x74]
 						;; size=234 bbWeight=8 PerfScore 398.00
-G_M32365_IG06:        ; bbWeight=8, extend
+G_M32365_IG05:        ; bbWeight=8, extend
        call     [<unknown method>]
        ; gcrRegs -[r8]
        ; byrRegs -[rdx]
@@ -432,7 +423,7 @@ G_M32365_IG06:        ; bbWeight=8, extend
        mov      rcx, gword ptr [r14]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -459,7 +450,7 @@ G_M32365_IG06:        ; bbWeight=8, extend
        mov      eax, edx
        ; gcrRegs -[rax]
 						;; size=225 bbWeight=8 PerfScore 420.00
-G_M32365_IG07:        ; bbWeight=8, extend
+G_M32365_IG06:        ; bbWeight=8, isz, extend
        and      eax, 0xF000
        and      edx, 0xFFF
        or       edx, eax
@@ -506,7 +497,7 @@ G_M32365_IG07:        ; bbWeight=8, extend
        mov      rcx, gword ptr [rbx]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      SHORT G_M32365_IG08
        mov      edx, r13d
        lea      rcx, bword ptr [rcx+8*rdx+0x10]
        ; gcrRegs -[rcx]
@@ -525,25 +516,19 @@ G_M32365_IG07:        ; bbWeight=8, extend
        or       r10d, r9d
        or       r10d, 1
        mov      word  ptr [r8], r10w
-       movzx    r8, word  ptr [rdx]
-       ; byrRegs -[r8]
-       mov      r10d, r8d
-       and      r10d, 0xF000
-       and      r8d, 0xFFE
-       or       r8d, r10d
-       mov      word  ptr [rdx], r8w
+       and      word  ptr [rdx], 0xFFFE
        mov      rdx, rax
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx r8]
        inc      r13d
        movzx    r13, r13w
        cmp      r13d, 0x2130
-       jle      G_M32365_IG04
-						;; size=240 bbWeight=8 PerfScore 328.00
-G_M32365_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jle      G_M32365_IG03
+						;; size=213 bbWeight=8 PerfScore 320.00
+G_M32365_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        add      rsp, 120
        pop      rbx
        pop      rbp
@@ -555,13 +540,13 @@ G_M32365_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        pop      r15
        ret      
 						;; size=17 bbWeight=1 PerfScore 5.25
-G_M32365_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M32365_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1272, prolog size 16, PerfScore 1604.75, instruction count 296, allocated bytes for code 1272 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
+; Total bytes of code 1225, prolog size 16, PerfScore 1595.75, instruction count 286, allocated bytes for code 1225 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-2.71%) : 540.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
@@ -10,10 +10,10 @@
 ;
 ;  V00 this         [V00,T06] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <System.RuntimeType>
 ;  V01 loc0         [V01,T09] (  3,  1.50)     ref  ->  rsi         class-hnd single-def <System.Type[]>
-;  V02 loc1         [V02,T08] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
+;  V02 loc1         [V02,T07] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T12] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T02] (  5, 14   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T07] (  3,  6   )     int  ->  rax        
+;  V05 loc4         [V05,T08] (  2,  4   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 cse0         [V07,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V08 cse1         [V08,T10] (  3,  1.50)     int  ->  rbp         "CSE #01: aggressive"
@@ -126,12 +126,9 @@ G_M56028_IG10:        ; bbWeight=2, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0040
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG12
-						;; size=33 bbWeight=2 PerfScore 15.50
+						;; size=25 bbWeight=2 PerfScore 14.00
 G_M56028_IG11:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -200,7 +197,7 @@ G_M56028_IG19:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 295, prolog size 10, PerfScore 98.38, instruction count 92, allocated bytes for code 295 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
+; Total bytes of code 287, prolog size 10, PerfScore 96.88, instruction count 89, allocated bytes for code 287 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-2.52%) : 31130.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -13,9 +13,9 @@
 ;  V02 arg2         [V02,T02] ( 12,  7   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V04 tmp1         [V04,T00] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
-;  V05 tmp2         [V05,T18] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V06 tmp3         [V06,T20] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
-;  V07 tmp4         [V07,T19] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V05 tmp2         [V05,T17] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V06 tmp3         [V06,T19] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V07 tmp4         [V07,T18] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V08 tmp5         [V08,T01] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp7         [V10,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
@@ -30,12 +30,11 @@
 ;  V19 tmp16        [V19,T11] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V20 tmp17        [V20,T12] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V21 tmp18        [V21,T13] (  3,  3   )     ref  ->  rax         single-def "arr expr"
-;  V22 tmp19        [V22,T21] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rax         "CSE #06: moderate"
+;  V22 tmp19        [V22,T20] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rax         "CSE #05: moderate"
 ;  V24 cse1         [V24,T15] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
-;  V25 cse2         [V25,T16] (  3,  1.50)     int  ->  rcx         "CSE #04: moderate"
-;  V26 cse3         [V26,T17] (  3,  1.50)     int  ->  rdx         "CSE #07: moderate"
-;  V27 cse4         [V27,T05] ( 11,  6.50)     int  ->  rcx         "CSE #01: aggressive"
+;  V25 cse2         [V25,T16] (  3,  1.50)     int  ->  rdx         "CSE #06: moderate"
+;  V26 cse3         [V26,T05] ( 11,  6.50)     int  ->  rcx         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -254,16 +253,11 @@ G_M22584_IG14:        ; bbWeight=0.50, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000
 G_M22584_IG15:        ; bbWeight=0.50, gcrefRegs=0020 {rbp}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rbp+0x0E]
        ; byrRegs +[rax]
-       movzx    rcx, word  ptr [rax]
-       mov      edx, ecx
-       and      edx, 0xF000
-       and      ecx, 0xFFE
-       or       ecx, edx
-       mov      word  ptr [rax], cx
+       and      word  ptr [rax], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
        ; byrRegs -[rax]
-						;; size=29 bbWeight=0.50 PerfScore 2.38
+						;; size=12 bbWeight=0.50 PerfScore 1.88
 G_M22584_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbp]
        add      rsp, 40
@@ -327,7 +321,7 @@ G_M22584_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 674, prolog size 8, PerfScore 69.12, instruction count 162, allocated bytes for code 674 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 657, prolog size 8, PerfScore 68.62, instruction count 157, allocated bytes for code 657 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-5 (-1.09%) : 764.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
@@ -9,7 +9,7 @@
 ;
 ;  V00 arg0         [V00,T20] (  4,  8   )   byref  ->  rcx         ld-addr-op single-def
 ;  V01 loc0         [V01,T03] ( 14, 97.04)     int  ->  registers  
-;  V02 loc1         [V02,T00] ( 16,112.88)     int  ->  registers  
+;  V02 loc1         [V02,T00] ( 15,104.96)     int  ->  registers  
 ;  V03 loc2         [V03,T01] ( 15,104.96)     int  ->  registers  
 ;  V04 loc3         [V04,T02] ( 15,104.96)     int  ->  registers  
 ;  V05 loc4         [V05,T05] ( 10, 65.36)     int  ->  registers  
@@ -143,13 +143,11 @@ G_M28360_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byr
        mov      ebx, 40
 						;; size=5 bbWeight=1 PerfScore 0.25
 G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
-       mov      esi, r8d
-       and      esi, r10d
-       mov      edi, r8d
-       and      edi, r9d
-       or       esi, edi
+       mov      esi, r10d
+       and      esi, r9d
        mov      edi, r10d
-       and      edi, r9d
+       or       edi, r9d
+       and      edi, r8d
        or       esi, edi
        mov      edi, edx
        rol      edi, 5
@@ -167,7 +165,7 @@ G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax},
        mov      r10d, r8d
        mov      r8d, ebp
        jl       SHORT G_M28360_IG09
-						;; size=72 bbWeight=7.92 PerfScore 77.22
+						;; size=67 bbWeight=7.92 PerfScore 73.26
 G_M28360_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        mov      ebx, 60
 						;; size=5 bbWeight=1 PerfScore 0.25
@@ -222,7 +220,7 @@ G_M28360_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 459, prolog size 8, PerfScore 439.96, instruction count 137, allocated bytes for code 459 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
+; Total bytes of code 454, prolog size 8, PerfScore 436.00, instruction count 135, allocated bytes for code 454 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
-15 (-0.96%) : 5030.dasm - System.Uri:ParseRemaining():this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V01 loc0         [V01,T00] ( 73, 38   )    long  ->  rsi        
 ;  V02 loc1         [V02,T07] ( 12,  9.50)     ref  ->  rdi         class-hnd exact single-def <System.String>
 ;  V03 loc2         [V03,T02] (  9, 15   )     int  ->  r14        
-;  V04 loc3         [V04,T09] ( 12,  6   )     int  ->  r15        
+;  V04 loc3         [V04,T09] ( 11,  5.50)     int  ->  r15        
 ;  V05 loc4         [V05,T18] (  5,  2.50)   ubyte  ->  r13        
 ;  V06 loc5         [V06,T03] ( 27, 13.50)     int  ->  r12        
 ;* V07 loc6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[char]>
@@ -437,13 +437,9 @@ G_M48529_IG23:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
        mov      r9, 0xD1FFAB1E
        test     rsi, r9
        je       SHORT G_M48529_IG24
-       mov      r9d, r15d
-       and      r9d, 0xD1FFAB1E
-       mov      ecx, r15d
-       and      ecx, 0xD1FFAB1E
-       or       r9d, ecx
+       test     r15d, 0xD1FFAB1E
        jne      SHORT G_M48529_IG25
-						;; size=72 bbWeight=0.50 PerfScore 3.38
+						;; size=57 bbWeight=0.50 PerfScore 2.88
 G_M48529_IG24:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        test     al, 16
        je       SHORT G_M48529_IG29
@@ -705,7 +701,7 @@ G_M48529_IG43:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1570, prolog size 26, PerfScore 215.19, instruction count 409, allocated bytes for code 1570 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
+; Total bytes of code 1555, prolog size 26, PerfScore 214.69, instruction count 405, allocated bytes for code 1555 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
benchmarks.run_pgo_optrepeat.windows.x64.checked.mch
-16 (-4.43%) : 30891.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -45,18 +45,17 @@
 ;  V34 tmp30        [V34,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V35 tmp31        [V35    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V03._node (fldOffset=0x0)" P-INDEP
-;  V37 tmp33        [V37,T19] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
-;  V38 tmp34        [V38,T20] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
+;  V37 tmp33        [V37,T18] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
+;  V38 tmp34        [V38,T19] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
 ;  V39 tmp35        [V39,T11] (  4,  2   )     ref  ->  rdi         single-def "field V18._node (fldOffset=0x0)" P-INDEP
 ;  V40 tmp36        [V40,T12] (  4,  2   )     ref  ->  rsi         single-def "field V20._node (fldOffset=0x0)" P-INDEP
 ;  V41 tmp37        [V41,T09] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
 ;  V42 cse0         [V42,T04] (  4,  3   )    long  ->  rbp         "CSE #02: aggressive"
 ;  V43 cse1         [V43,T03] (  6,  3   )    long  ->  rsi         multi-def "CSE #03: aggressive"
 ;  V44 cse2         [V44,T16] (  3,  1.50)     int  ->  rdx         "CSE #05: conservative"
-;  V45 cse3         [V45,T17] (  3,  1.50)     int  ->  rax         "CSE #07: conservative"
-;  V46 cse4         [V46,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
-;  V47 rat0         [V47,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
-;  V48 rat1         [V48,T18] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V45 cse3         [V45,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
+;  V46 rat0         [V46,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
+;  V47 rat1         [V47,T17] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 32
 
@@ -177,14 +176,9 @@ G_M12665_IG06:        ; bbWeight=0.50, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0
 G_M12665_IG07:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        lea      rcx, bword ptr [r14+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      SHORT G_M12665_IG09
-						;; size=27 bbWeight=0.50 PerfScore 3.25
+						;; size=11 bbWeight=0.50 PerfScore 2.75
 G_M12665_IG08:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        ; byrRegs -[rcx]
@@ -276,7 +270,7 @@ G_M12665_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 
-; Total bytes of code 361, prolog size 10, PerfScore 59.25, instruction count 115, allocated bytes for code 361 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 345, prolog size 10, PerfScore 58.75, instruction count 110, allocated bytes for code 345 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-47 (-3.69%) : 30830.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
-;  V07 tmp6         [V07,T48] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
+;  V07 tmp6         [V07,T47] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V08 tmp7         [V08,T05] (  6, 96   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V09 tmp8         [V09,T26] (  2, 32   )   byref  ->  [rsp+0x68]  spill-single-def "impAppendStmt"
 ;  V10 tmp9         [V10,T00] ( 13,208   )     ref  ->  [rsp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
@@ -27,14 +27,14 @@
 ;  V16 tmp15        [V16,T06] (  5, 80   )     ref  ->  rax         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V17 tmp16        [V17,T30] (  2, 32   )   byref  ->  rcx         "impAppendStmt"
 ;* V18 tmp17        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V19 tmp18        [V19,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V19 tmp18        [V19,T55] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V20 tmp19        [V20    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V21 tmp20        [V21,T57] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V21 tmp20        [V21,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V22 tmp21        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp22        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp23        [V24,T09] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V25 tmp24        [V25    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V26 tmp25        [V26,T47] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
+;* V26 tmp25        [V26,T46] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;  V27 tmp26        [V27,T04] (  7,112   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;* V28 tmp27        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V29 tmp28        [V29,T10] (  3, 48   )   byref  ->  rcx         "dup spill"
@@ -73,29 +73,27 @@
 ;  V62 tmp61        [V62,T21] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V63 tmp62        [V63,T22] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V64 tmp63        [V64,T23] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #10: moderate"
-;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #09: moderate"
-;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #06: moderate"
-;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #11: moderate"
-;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #17: moderate"
-;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #21: moderate"
-;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #26: moderate"
-;  V72 cse7         [V72,T42] (  3, 24   )     int  ->   r8         "CSE #28: moderate"
+;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #09: moderate"
+;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #08: moderate"
+;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #05: moderate"
+;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #10: moderate"
+;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #16: moderate"
+;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #20: moderate"
+;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #25: moderate"
+;  V72 cse7         [V72,T42] (  3, 24   )     int  ->  r10         "CSE #12: moderate"
 ;  V73 cse8         [V73,T43] (  3, 24   )     int  ->  r10         "CSE #13: moderate"
-;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #14: moderate"
-;  V75 cse10        [V75,T45] (  3, 24   )     int  ->  r10         "CSE #19: moderate"
-;  V76 cse11        [V76,T46] (  3, 24   )     int  ->   r8         "CSE #23: moderate"
-;  V77 cse12        [V77,T58] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
-;  V78 cse13        [V78,T59] (  3,  3   )     int  ->  rdx         "CSE #04: moderate"
-;  V79 cse14        [V79,T25] (  4, 32   )    long  ->  r12         "CSE #15: moderate"
-;  V80 cse15        [V80,T49] (  3, 10   )    long  ->  rsi         "CSE #05: moderate"
-;  V81 cse16        [V81,T50] (  3, 10   )    long  ->  rdi         "CSE #07: moderate"
-;  V82 cse17        [V82,T51] (  3, 10   )    long  ->  rbp         "CSE #16: moderate"
-;  V83 cse18        [V83,T52] (  3, 10   )    long  ->  r14         "CSE #20: moderate"
-;  V84 cse19        [V84,T53] (  3, 10   )    long  ->  r15         "CSE #24: moderate"
-;  V85 cse20        [V85,T54] (  3, 10   )    long  ->  rbx         "CSE #25: moderate"
-;  V86 cse21        [V86,T36] (  3, 24   )   byref  ->  rdx         "CSE #27: moderate"
-;  V87 cse22        [V87,T55] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
+;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #18: moderate"
+;  V75 cse10        [V75,T45] (  3, 24   )     int  ->   r8         "CSE #22: moderate"
+;  V76 cse11        [V76,T57] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
+;  V77 cse12        [V77,T25] (  4, 32   )    long  ->  r12         "CSE #14: moderate"
+;  V78 cse13        [V78,T48] (  3, 10   )    long  ->  rsi         "CSE #04: moderate"
+;  V79 cse14        [V79,T49] (  3, 10   )    long  ->  rdi         "CSE #06: moderate"
+;  V80 cse15        [V80,T50] (  3, 10   )    long  ->  rbp         "CSE #15: moderate"
+;  V81 cse16        [V81,T51] (  3, 10   )    long  ->  r14         "CSE #19: moderate"
+;  V82 cse17        [V82,T52] (  3, 10   )    long  ->  r15         "CSE #23: moderate"
+;  V83 cse18        [V83,T53] (  3, 10   )    long  ->  rbx         "CSE #24: moderate"
+;  V84 cse19        [V84,T36] (  3, 24   )   byref  ->  rdx         "CSE #26: moderate"
+;  V85 cse20        [V85,T54] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 120
 
@@ -185,23 +183,16 @@ G_M32365_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, 1
        mov      word  ptr [rcx], dx
        lea      rcx, bword ptr [rax+0x0E]
-       movzx    rdx, word  ptr [rcx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
+       and      word  ptr [rcx], 0xFFFE
        mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
        ; byrRegs -[rcx]
        mov      rdx, rax
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-						;; size=288 bbWeight=1 PerfScore 31.00
-G_M32365_IG03:        ; bbWeight=1, extend
        mov      r13d, 0x2001
-						;; size=6 bbWeight=1 PerfScore 0.25
-G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+						;; size=274 bbWeight=1 PerfScore 30.25
+G_M32365_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -211,7 +202,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rsi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -256,7 +247,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rdi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -286,7 +277,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, r8d
        or       edx, 1
 						;; size=240 bbWeight=8 PerfScore 414.00
-G_M32365_IG05:        ; bbWeight=8, extend
+G_M32365_IG04:        ; bbWeight=8, extend
        mov      word  ptr [rcx], dx
        mov      r8, gword ptr [rsp+0x38]
        ; gcrRegs +[r8]
@@ -357,7 +348,7 @@ G_M32365_IG05:        ; bbWeight=8, extend
        mov      rcx, gword ptr [rbp]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -372,7 +363,7 @@ G_M32365_IG05:        ; bbWeight=8, extend
        mov      word  ptr [rax+0x0C], r13w
        mov      ecx, dword ptr [rsp+0x74]
 						;; size=234 bbWeight=8 PerfScore 398.00
-G_M32365_IG06:        ; bbWeight=8, extend
+G_M32365_IG05:        ; bbWeight=8, extend
        call     [<unknown method>]
        ; gcrRegs -[r8]
        ; byrRegs -[rdx]
@@ -432,7 +423,7 @@ G_M32365_IG06:        ; bbWeight=8, extend
        mov      rcx, gword ptr [r14]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -459,7 +450,7 @@ G_M32365_IG06:        ; bbWeight=8, extend
        mov      eax, edx
        ; gcrRegs -[rax]
 						;; size=225 bbWeight=8 PerfScore 420.00
-G_M32365_IG07:        ; bbWeight=8, extend
+G_M32365_IG06:        ; bbWeight=8, isz, extend
        and      eax, 0xF000
        and      edx, 0xFFF
        or       edx, eax
@@ -506,7 +497,7 @@ G_M32365_IG07:        ; bbWeight=8, extend
        mov      rcx, gword ptr [rbx]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      SHORT G_M32365_IG08
        mov      edx, r13d
        lea      rcx, bword ptr [rcx+8*rdx+0x10]
        ; gcrRegs -[rcx]
@@ -525,25 +516,19 @@ G_M32365_IG07:        ; bbWeight=8, extend
        or       r10d, r9d
        or       r10d, 1
        mov      word  ptr [r8], r10w
-       movzx    r8, word  ptr [rdx]
-       ; byrRegs -[r8]
-       mov      r10d, r8d
-       and      r10d, 0xF000
-       and      r8d, 0xFFE
-       or       r8d, r10d
-       mov      word  ptr [rdx], r8w
+       and      word  ptr [rdx], 0xFFFE
        mov      rdx, rax
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx r8]
        inc      r13d
        movzx    r13, r13w
        cmp      r13d, 0x2130
-       jle      G_M32365_IG04
-						;; size=240 bbWeight=8 PerfScore 328.00
-G_M32365_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jle      G_M32365_IG03
+						;; size=213 bbWeight=8 PerfScore 320.00
+G_M32365_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        add      rsp, 120
        pop      rbx
        pop      rbp
@@ -555,13 +540,13 @@ G_M32365_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        pop      r15
        ret      
 						;; size=17 bbWeight=1 PerfScore 5.25
-G_M32365_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M32365_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1272, prolog size 16, PerfScore 1604.75, instruction count 296, allocated bytes for code 1272 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
+; Total bytes of code 1225, prolog size 16, PerfScore 1595.75, instruction count 286, allocated bytes for code 1225 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-2.71%) : 540.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
@@ -10,10 +10,10 @@
 ;
 ;  V00 this         [V00,T06] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <System.RuntimeType>
 ;  V01 loc0         [V01,T09] (  3,  1.50)     ref  ->  rsi         class-hnd single-def <System.Type[]>
-;  V02 loc1         [V02,T08] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
+;  V02 loc1         [V02,T07] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T12] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T02] (  5, 14   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T07] (  3,  6   )     int  ->  rax        
+;  V05 loc4         [V05,T08] (  2,  4   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 cse0         [V07,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V08 cse1         [V08,T10] (  3,  1.50)     int  ->  rbp         "CSE #01: aggressive"
@@ -126,12 +126,9 @@ G_M56028_IG10:        ; bbWeight=2, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0040
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG12
-						;; size=33 bbWeight=2 PerfScore 15.50
+						;; size=25 bbWeight=2 PerfScore 14.00
 G_M56028_IG11:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -200,7 +197,7 @@ G_M56028_IG19:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 295, prolog size 10, PerfScore 98.38, instruction count 92, allocated bytes for code 295 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
+; Total bytes of code 287, prolog size 10, PerfScore 96.88, instruction count 89, allocated bytes for code 287 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-2.52%) : 30829.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -13,9 +13,9 @@
 ;  V02 arg2         [V02,T02] ( 12,  7   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V04 tmp1         [V04,T00] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
-;  V05 tmp2         [V05,T18] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V06 tmp3         [V06,T20] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
-;  V07 tmp4         [V07,T19] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V05 tmp2         [V05,T17] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V06 tmp3         [V06,T19] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V07 tmp4         [V07,T18] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V08 tmp5         [V08,T01] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp7         [V10,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
@@ -30,12 +30,11 @@
 ;  V19 tmp16        [V19,T11] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V20 tmp17        [V20,T12] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V21 tmp18        [V21,T13] (  3,  3   )     ref  ->  rax         single-def "arr expr"
-;  V22 tmp19        [V22,T21] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rax         "CSE #06: moderate"
+;  V22 tmp19        [V22,T20] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rax         "CSE #05: moderate"
 ;  V24 cse1         [V24,T15] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
-;  V25 cse2         [V25,T16] (  3,  1.50)     int  ->  rcx         "CSE #04: moderate"
-;  V26 cse3         [V26,T17] (  3,  1.50)     int  ->  rdx         "CSE #07: moderate"
-;  V27 cse4         [V27,T05] ( 11,  6.50)     int  ->  rcx         "CSE #01: aggressive"
+;  V25 cse2         [V25,T16] (  3,  1.50)     int  ->  rdx         "CSE #06: moderate"
+;  V26 cse3         [V26,T05] ( 11,  6.50)     int  ->  rcx         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -254,16 +253,11 @@ G_M22584_IG14:        ; bbWeight=0.50, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000
 G_M22584_IG15:        ; bbWeight=0.50, gcrefRegs=0020 {rbp}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rbp+0x0E]
        ; byrRegs +[rax]
-       movzx    rcx, word  ptr [rax]
-       mov      edx, ecx
-       and      edx, 0xF000
-       and      ecx, 0xFFE
-       or       ecx, edx
-       mov      word  ptr [rax], cx
+       and      word  ptr [rax], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
        ; byrRegs -[rax]
-						;; size=29 bbWeight=0.50 PerfScore 2.38
+						;; size=12 bbWeight=0.50 PerfScore 1.88
 G_M22584_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbp]
        add      rsp, 40
@@ -327,7 +321,7 @@ G_M22584_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 674, prolog size 8, PerfScore 69.12, instruction count 162, allocated bytes for code 674 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 657, prolog size 8, PerfScore 68.62, instruction count 157, allocated bytes for code 657 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-5 (-1.09%) : 764.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
@@ -9,7 +9,7 @@
 ;
 ;  V00 arg0         [V00,T20] (  4,  8   )   byref  ->  rcx         ld-addr-op single-def
 ;  V01 loc0         [V01,T03] ( 14, 97.04)     int  ->  registers  
-;  V02 loc1         [V02,T00] ( 16,112.88)     int  ->  registers  
+;  V02 loc1         [V02,T00] ( 15,104.96)     int  ->  registers  
 ;  V03 loc2         [V03,T01] ( 15,104.96)     int  ->  registers  
 ;  V04 loc3         [V04,T02] ( 15,104.96)     int  ->  registers  
 ;  V05 loc4         [V05,T05] ( 10, 65.36)     int  ->  registers  
@@ -143,13 +143,11 @@ G_M28360_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byr
        mov      ebx, 40
 						;; size=5 bbWeight=1 PerfScore 0.25
 G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
-       mov      esi, r8d
-       and      esi, r10d
-       mov      edi, r8d
-       and      edi, r9d
-       or       esi, edi
+       mov      esi, r10d
+       and      esi, r9d
        mov      edi, r10d
-       and      edi, r9d
+       or       edi, r9d
+       and      edi, r8d
        or       esi, edi
        mov      edi, edx
        rol      edi, 5
@@ -167,7 +165,7 @@ G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax},
        mov      r10d, r8d
        mov      r8d, ebp
        jl       SHORT G_M28360_IG09
-						;; size=72 bbWeight=7.92 PerfScore 77.22
+						;; size=67 bbWeight=7.92 PerfScore 73.26
 G_M28360_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        mov      ebx, 60
 						;; size=5 bbWeight=1 PerfScore 0.25
@@ -222,7 +220,7 @@ G_M28360_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 459, prolog size 8, PerfScore 439.96, instruction count 137, allocated bytes for code 459 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
+; Total bytes of code 454, prolog size 8, PerfScore 436.00, instruction count 135, allocated bytes for code 454 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
-15 (-0.96%) : 1187.dasm - System.Uri:ParseRemaining():this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V01 loc0         [V01,T00] ( 73, 38   )    long  ->  rsi        
 ;  V02 loc1         [V02,T07] ( 12,  9.50)     ref  ->  rdi         class-hnd exact single-def <System.String>
 ;  V03 loc2         [V03,T02] (  9, 15   )     int  ->  r14        
-;  V04 loc3         [V04,T09] ( 12,  6   )     int  ->  r15        
+;  V04 loc3         [V04,T09] ( 11,  5.50)     int  ->  r15        
 ;  V05 loc4         [V05,T18] (  5,  2.50)   ubyte  ->  r13        
 ;  V06 loc5         [V06,T03] ( 27, 13.50)     int  ->  r12        
 ;* V07 loc6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[char]>
@@ -437,13 +437,9 @@ G_M48529_IG23:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
        mov      r9, 0xD1FFAB1E
        test     rsi, r9
        je       SHORT G_M48529_IG24
-       mov      r9d, r15d
-       and      r9d, 0xD1FFAB1E
-       mov      ecx, r15d
-       and      ecx, 0xD1FFAB1E
-       or       r9d, ecx
+       test     r15d, 0xD1FFAB1E
        jne      SHORT G_M48529_IG25
-						;; size=72 bbWeight=0.50 PerfScore 3.38
+						;; size=57 bbWeight=0.50 PerfScore 2.88
 G_M48529_IG24:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        test     al, 16
        je       SHORT G_M48529_IG29
@@ -705,7 +701,7 @@ G_M48529_IG43:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1570, prolog size 26, PerfScore 215.19, instruction count 409, allocated bytes for code 1570 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
+; Total bytes of code 1555, prolog size 26, PerfScore 214.69, instruction count 405, allocated bytes for code 1555 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
coreclr_tests.run.windows.x64.checked.mch
-13 (-32.50%) : 541737.dasm - b92693.AA:Static2(System.String[]):int[] (FullOpts)
@@ -10,7 +10,6 @@
 ;* V00 arg0         [V00    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.String[]>
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V02 tmp1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <int[]>
-;  V03 cse0         [V03,T00] (  3,  3   )    long  ->  rdx         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -18,21 +17,19 @@ G_M41991_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        sub      rsp, 40
 						;; size=4 bbWeight=1 PerfScore 0.25
 G_M41991_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       movsx    rdx, word  ptr [(reloc)]      ; static handle
-       imul     rdx, rdx, 11
-       sub      rdx, rdx
        mov      rcx, 0xD1FFAB1E      ; int[]
+       xor      edx, edx
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
        nop      
-						;; size=31 bbWeight=1 PerfScore 5.75
+						;; size=18 bbWeight=1 PerfScore 1.75
 G_M41991_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        ret      
 						;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 40, prolog size 4, PerfScore 7.25, instruction count 9, allocated bytes for code 40 (MethodHash=118b5bf8) for method b92693.AA:Static2(System.String[]):int[] (FullOpts)
+; Total bytes of code 27, prolog size 4, PerfScore 3.25, instruction count 7, allocated bytes for code 27 (MethodHash=118b5bf8) for method b92693.AA:Static2(System.String[]):int[] (FullOpts)
 ; ============================================================
 
 Unwind Info:
-20 (-11.83%) : 521778.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -16,11 +16,10 @@
 ;* V05 tmp4         [V05    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V06 tmp5         [V06,T04] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V07 tmp6         [V07    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V08 cse0         [V08,T08] (  2,  1   )     ref  ->  rax         "CSE #02: aggressive"
+;  V08 cse0         [V08,T07] (  2,  1   )     ref  ->  rax         "CSE #02: aggressive"
 ;  V09 cse1         [V09,T06] (  3,  1.50)     int  ->   r8         "CSE #03: aggressive"
-;  V10 cse2         [V10,T07] (  3,  1.50)     int  ->  rdx         "CSE #05: aggressive"
-;  V11 cse3         [V11,T02] (  4,  3   )     int  ->  rsi         "CSE #01: aggressive"
-;  V12 cse4         [V12,T05] (  3,  1.50)   byref  ->  rcx         "CSE #04: aggressive"
+;  V10 cse2         [V10,T02] (  4,  3   )     int  ->  rsi         "CSE #01: aggressive"
+;  V11 cse3         [V11,T05] (  3,  1.50)   byref  ->  rcx         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -56,14 +55,8 @@ G_M29564_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        or       r8d, r10d
        or       r8d, 1
        mov      word  ptr [rdx], r8w
-       movzx    rdx, word  ptr [rcx]
-       ; byrRegs -[rdx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
-						;; size=96 bbWeight=0.50 PerfScore 6.88
+       and      word  ptr [rcx], 0xFFFE
+						;; size=76 bbWeight=0.50 PerfScore 6.38
 G_M29564_IG04:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -72,7 +65,7 @@ G_M29564_IG04:        ; bbWeight=0.50, epilog, nogc, extend
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M29564_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx rdx]
        mov      rax, 0xD1FFAB1E      ; const ptr
        mov      rax, gword ptr [rax]
        ; gcrRegs +[rax]
@@ -98,7 +91,7 @@ G_M29564_IG08:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 169, prolog size 6, PerfScore 17.62, instruction count 47, allocated bytes for code 169 (MethodHash=67038c83) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 149, prolog size 6, PerfScore 17.12, instruction count 42, allocated bytes for code 149 (MethodHash=67038c83) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-14 (-5.60%) : 543511.dasm - GitHub_9692.C:InnerInfiniteLoop(int,int,int,int):bool (FullOpts)
@@ -9,14 +9,14 @@
 ;
 ;  V00 arg0         [V00,T00] ( 13, 71   )     int  ->  rbx        
 ;  V01 arg1         [V01,T03] (  7,  7   )     int  ->  rsi         single-def
-;  V02 arg2         [V02,T05] (  6,  6   )     int  ->  rdi         single-def
-;  V03 arg3         [V03,T06] (  6,  6   )     int  ->  r14         single-def
+;  V02 arg2         [V02,T06] (  5,  5   )     int  ->  r14         single-def
+;  V03 arg3         [V03,T05] (  6,  6   )     int  ->  rdi         single-def
 ;* V04 loc0         [V04,T07] (  0,  0   )   ubyte  ->  zero-ref    do-not-enreg[Z] EH-live
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V06 tmp1         [V06,T02] (  3, 16   )     int  ->  rcx        
 ;  V07 tmp2         [V07,T01] (  2, 32   )     int  ->  rbx         "dup spill"
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V09 cse0         [V09,T04] (  2,  9   )     int  ->  rdi         hoist "CSE #11: aggressive"
+;  V09 cse0         [V09,T04] (  2,  9   )     int  ->  rdi         hoist "CSE #10: aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -32,10 +32,10 @@ G_M51606_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        lea      rbp, [rsp+0x50]
        mov      ebx, ecx
        mov      esi, edx
-       mov      edi, r8d
-       mov      r14d, r9d
+       mov      r14d, r8d
+       mov      edi, r9d
 						;; size=29 bbWeight=1 PerfScore 8.75
-G_M51606_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M51606_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ecx, ecx
        call     [<unknown method>]
        ; gcr arg pop 0
@@ -43,23 +43,20 @@ G_M51606_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [<unknown method>]
        ; gcr arg pop 0
        cmp      ebx, 1
-       je       G_M51606_IG11
-       mov      r15d, edi
-       imul     r15d, esi
-       mov      r13d, edi
-       imul     r13d, edi
-       add      r15d, r13d
-       mov      r13d, esi
-       imul     r13d, esi
-       add      r15d, r13d
-       imul     edi, r14d
-       add      edi, r15d
+       je       SHORT G_M51606_IG11
        mov      r15d, esi
-       imul     r15d, r14d
-       add      edi, r15d
-       imul     r14d, r14d
+       imul     r15d, esi
+       lea      r13d, [rsi+r14]
+       imul     r13d, r14d
+       add      r15d, r13d
+       imul     r14d, edi
+       add      r14d, r15d
+       mov      r15d, esi
+       imul     r15d, edi
+       add      r14d, r15d
+       imul     edi, edi
        add      edi, r14d
-						;; size=79 bbWeight=1 PerfScore 22.00
+						;; size=65 bbWeight=1 PerfScore 19.75
 G_M51606_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, edi
        call     [<unknown method>]
@@ -149,7 +146,7 @@ G_M51606_IG17:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 250, prolog size 29, PerfScore 190.00, instruction count 87, allocated bytes for code 250 (MethodHash=07ae3669) for method GitHub_9692.C:InnerInfiniteLoop(int,int,int,int):bool (FullOpts)
+; Total bytes of code 236, prolog size 29, PerfScore 187.75, instruction count 84, allocated bytes for code 236 (MethodHash=07ae3669) for method GitHub_9692.C:InnerInfiniteLoop(int,int,int,int):bool (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-4.42%) : 497453.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -45,18 +45,17 @@
 ;  V34 tmp30        [V34,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V35 tmp31        [V35    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V03._node (fldOffset=0x0)" P-INDEP
-;  V37 tmp33        [V37,T19] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
-;  V38 tmp34        [V38,T20] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
+;  V37 tmp33        [V37,T18] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
+;  V38 tmp34        [V38,T19] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
 ;  V39 tmp35        [V39,T11] (  4,  2   )     ref  ->  rdi         single-def "field V18._node (fldOffset=0x0)" P-INDEP
 ;  V40 tmp36        [V40,T12] (  4,  2   )     ref  ->  rsi         single-def "field V20._node (fldOffset=0x0)" P-INDEP
 ;  V41 tmp37        [V41,T09] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
 ;  V42 cse0         [V42,T04] (  4,  3   )    long  ->  rbp         "CSE #02: aggressive"
 ;  V43 cse1         [V43,T03] (  6,  3   )    long  ->  rsi         multi-def "CSE #03: aggressive"
 ;  V44 cse2         [V44,T16] (  3,  1.50)     int  ->  rdx         "CSE #05: conservative"
-;  V45 cse3         [V45,T17] (  3,  1.50)     int  ->  rax         "CSE #07: conservative"
-;  V46 cse4         [V46,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
-;  V47 rat0         [V47,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
-;  V48 rat1         [V48,T18] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V45 cse3         [V45,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
+;  V46 rat0         [V46,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
+;  V47 rat1         [V47,T17] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 32
 
@@ -177,14 +176,9 @@ G_M12665_IG06:        ; bbWeight=0.50, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0
 G_M12665_IG07:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        lea      rcx, bword ptr [r14+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      SHORT G_M12665_IG09
-						;; size=27 bbWeight=0.50 PerfScore 3.25
+						;; size=11 bbWeight=0.50 PerfScore 2.75
 G_M12665_IG08:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        ; byrRegs -[rcx]
@@ -276,7 +270,7 @@ G_M12665_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 
-; Total bytes of code 362, prolog size 10, PerfScore 59.50, instruction count 115, allocated bytes for code 362 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 346, prolog size 10, PerfScore 59.00, instruction count 110, allocated bytes for code 346 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-47 (-3.69%) : 497405.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
-;  V07 tmp6         [V07,T48] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
+;  V07 tmp6         [V07,T47] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V08 tmp7         [V08,T05] (  6, 96   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V09 tmp8         [V09,T26] (  2, 32   )   byref  ->  [rsp+0x68]  spill-single-def "impAppendStmt"
 ;  V10 tmp9         [V10,T00] ( 13,208   )     ref  ->  [rsp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
@@ -27,14 +27,14 @@
 ;  V16 tmp15        [V16,T06] (  5, 80   )     ref  ->  rax         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V17 tmp16        [V17,T30] (  2, 32   )   byref  ->  rcx         "impAppendStmt"
 ;* V18 tmp17        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V19 tmp18        [V19,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V19 tmp18        [V19,T55] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V20 tmp19        [V20    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V21 tmp20        [V21,T57] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V21 tmp20        [V21,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V22 tmp21        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp22        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp23        [V24,T09] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V25 tmp24        [V25    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V26 tmp25        [V26,T47] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
+;* V26 tmp25        [V26,T46] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;  V27 tmp26        [V27,T04] (  7,112   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;* V28 tmp27        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V29 tmp28        [V29,T10] (  3, 48   )   byref  ->  rcx         "dup spill"
@@ -73,29 +73,27 @@
 ;  V62 tmp61        [V62,T21] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V63 tmp62        [V63,T22] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V64 tmp63        [V64,T23] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #10: moderate"
-;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #09: moderate"
-;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #06: moderate"
-;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #11: moderate"
-;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #17: moderate"
-;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #21: moderate"
-;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #26: moderate"
-;  V72 cse7         [V72,T42] (  3, 24   )     int  ->   r8         "CSE #28: moderate"
+;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #09: moderate"
+;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #08: moderate"
+;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #05: moderate"
+;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #10: moderate"
+;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #16: moderate"
+;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #20: moderate"
+;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #25: moderate"
+;  V72 cse7         [V72,T42] (  3, 24   )     int  ->  r10         "CSE #12: moderate"
 ;  V73 cse8         [V73,T43] (  3, 24   )     int  ->  r10         "CSE #13: moderate"
-;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #14: moderate"
-;  V75 cse10        [V75,T45] (  3, 24   )     int  ->  r10         "CSE #19: moderate"
-;  V76 cse11        [V76,T46] (  3, 24   )     int  ->   r8         "CSE #23: moderate"
-;  V77 cse12        [V77,T58] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
-;  V78 cse13        [V78,T59] (  3,  3   )     int  ->  rdx         "CSE #04: moderate"
-;  V79 cse14        [V79,T25] (  4, 32   )    long  ->  r12         "CSE #15: moderate"
-;  V80 cse15        [V80,T49] (  3, 10   )    long  ->  rsi         "CSE #05: moderate"
-;  V81 cse16        [V81,T50] (  3, 10   )    long  ->  rdi         "CSE #07: moderate"
-;  V82 cse17        [V82,T51] (  3, 10   )    long  ->  rbp         "CSE #16: moderate"
-;  V83 cse18        [V83,T52] (  3, 10   )    long  ->  r14         "CSE #20: moderate"
-;  V84 cse19        [V84,T53] (  3, 10   )    long  ->  r15         "CSE #24: moderate"
-;  V85 cse20        [V85,T54] (  3, 10   )    long  ->  rbx         "CSE #25: moderate"
-;  V86 cse21        [V86,T36] (  3, 24   )   byref  ->  rdx         "CSE #27: moderate"
-;  V87 cse22        [V87,T55] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
+;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #18: moderate"
+;  V75 cse10        [V75,T45] (  3, 24   )     int  ->   r8         "CSE #22: moderate"
+;  V76 cse11        [V76,T57] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
+;  V77 cse12        [V77,T25] (  4, 32   )    long  ->  r12         "CSE #14: moderate"
+;  V78 cse13        [V78,T48] (  3, 10   )    long  ->  rsi         "CSE #04: moderate"
+;  V79 cse14        [V79,T49] (  3, 10   )    long  ->  rdi         "CSE #06: moderate"
+;  V80 cse15        [V80,T50] (  3, 10   )    long  ->  rbp         "CSE #15: moderate"
+;  V81 cse16        [V81,T51] (  3, 10   )    long  ->  r14         "CSE #19: moderate"
+;  V82 cse17        [V82,T52] (  3, 10   )    long  ->  r15         "CSE #23: moderate"
+;  V83 cse18        [V83,T53] (  3, 10   )    long  ->  rbx         "CSE #24: moderate"
+;  V84 cse19        [V84,T36] (  3, 24   )   byref  ->  rdx         "CSE #26: moderate"
+;  V85 cse20        [V85,T54] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 120
 
@@ -185,23 +183,16 @@ G_M32365_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, 1
        mov      word  ptr [rcx], dx
        lea      rcx, bword ptr [rax+0x0E]
-       movzx    rdx, word  ptr [rcx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
+       and      word  ptr [rcx], 0xFFFE
        mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
        ; byrRegs -[rcx]
        mov      rdx, rax
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-						;; size=288 bbWeight=1 PerfScore 31.00
-G_M32365_IG03:        ; bbWeight=1, extend
        mov      r13d, 0x2001
-						;; size=6 bbWeight=1 PerfScore 0.25
-G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+						;; size=274 bbWeight=1 PerfScore 30.25
+G_M32365_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -211,7 +202,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rsi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -256,7 +247,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rdi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -286,7 +277,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, r8d
        or       edx, 1
 						;; size=240 bbWeight=8 PerfScore 414.00
-G_M32365_IG05:        ; bbWeight=8, extend
+G_M32365_IG04:        ; bbWeight=8, extend
        mov      word  ptr [rcx], dx
        mov      r8, gword ptr [rsp+0x38]
        ; gcrRegs +[r8]
@@ -357,7 +348,7 @@ G_M32365_IG05:        ; bbWeight=8, extend
        mov      rcx, gword ptr [rbp]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -372,7 +363,7 @@ G_M32365_IG05:        ; bbWeight=8, extend
        mov      word  ptr [rax+0x0C], r13w
        mov      ecx, dword ptr [rsp+0x74]
 						;; size=234 bbWeight=8 PerfScore 398.00
-G_M32365_IG06:        ; bbWeight=8, extend
+G_M32365_IG05:        ; bbWeight=8, extend
        call     [<unknown method>]
        ; gcrRegs -[r8]
        ; byrRegs -[rdx]
@@ -432,7 +423,7 @@ G_M32365_IG06:        ; bbWeight=8, extend
        mov      rcx, gword ptr [r14]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      G_M32365_IG08
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -459,7 +450,7 @@ G_M32365_IG06:        ; bbWeight=8, extend
        mov      eax, edx
        ; gcrRegs -[rax]
 						;; size=225 bbWeight=8 PerfScore 420.00
-G_M32365_IG07:        ; bbWeight=8, extend
+G_M32365_IG06:        ; bbWeight=8, isz, extend
        and      eax, 0xF000
        and      edx, 0xFFF
        or       edx, eax
@@ -506,7 +497,7 @@ G_M32365_IG07:        ; bbWeight=8, extend
        mov      rcx, gword ptr [rbx]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG09
+       jae      SHORT G_M32365_IG08
        mov      edx, r13d
        lea      rcx, bword ptr [rcx+8*rdx+0x10]
        ; gcrRegs -[rcx]
@@ -525,25 +516,19 @@ G_M32365_IG07:        ; bbWeight=8, extend
        or       r10d, r9d
        or       r10d, 1
        mov      word  ptr [r8], r10w
-       movzx    r8, word  ptr [rdx]
-       ; byrRegs -[r8]
-       mov      r10d, r8d
-       and      r10d, 0xF000
-       and      r8d, 0xFFE
-       or       r8d, r10d
-       mov      word  ptr [rdx], r8w
+       and      word  ptr [rdx], 0xFFFE
        mov      rdx, rax
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx r8]
        inc      r13d
        movzx    r13, r13w
        cmp      r13d, 0x2130
-       jle      G_M32365_IG04
-						;; size=240 bbWeight=8 PerfScore 328.00
-G_M32365_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jle      G_M32365_IG03
+						;; size=213 bbWeight=8 PerfScore 320.00
+G_M32365_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        add      rsp, 120
        pop      rbx
        pop      rbp
@@ -555,13 +540,13 @@ G_M32365_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        pop      r15
        ret      
 						;; size=17 bbWeight=1 PerfScore 5.25
-G_M32365_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M32365_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1272, prolog size 16, PerfScore 1604.75, instruction count 296, allocated bytes for code 1272 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
+; Total bytes of code 1225, prolog size 16, PerfScore 1595.75, instruction count 286, allocated bytes for code 1225 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-2.71%) : 325384.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
@@ -10,10 +10,10 @@
 ;
 ;  V00 this         [V00,T06] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <System.RuntimeType>
 ;  V01 loc0         [V01,T09] (  3,  1.50)     ref  ->  rsi         class-hnd single-def <System.Type[]>
-;  V02 loc1         [V02,T08] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
+;  V02 loc1         [V02,T07] (  5,  4   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T12] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T02] (  5, 14   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T07] (  3,  6   )     int  ->  rax        
+;  V05 loc4         [V05,T08] (  2,  4   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 cse0         [V07,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V08 cse1         [V08,T10] (  3,  1.50)     int  ->  rbp         "CSE #01: aggressive"
@@ -126,12 +126,9 @@ G_M56028_IG10:        ; bbWeight=2, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0040
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG12
-						;; size=33 bbWeight=2 PerfScore 15.50
+						;; size=25 bbWeight=2 PerfScore 14.00
 G_M56028_IG11:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -200,7 +197,7 @@ G_M56028_IG19:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 295, prolog size 10, PerfScore 98.38, instruction count 92, allocated bytes for code 295 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
+; Total bytes of code 287, prolog size 10, PerfScore 96.88, instruction count 89, allocated bytes for code 287 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-2.52%) : 497404.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -13,9 +13,9 @@
 ;  V02 arg2         [V02,T02] ( 12,  7   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V04 tmp1         [V04,T00] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
-;  V05 tmp2         [V05,T18] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V06 tmp3         [V06,T20] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
-;  V07 tmp4         [V07,T19] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V05 tmp2         [V05,T17] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V06 tmp3         [V06,T19] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V07 tmp4         [V07,T18] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V08 tmp5         [V08,T01] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp7         [V10,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
@@ -30,12 +30,11 @@
 ;  V19 tmp16        [V19,T11] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V20 tmp17        [V20,T12] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V21 tmp18        [V21,T13] (  3,  3   )     ref  ->  rax         single-def "arr expr"
-;  V22 tmp19        [V22,T21] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rax         "CSE #06: moderate"
+;  V22 tmp19        [V22,T20] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rax         "CSE #05: moderate"
 ;  V24 cse1         [V24,T15] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
-;  V25 cse2         [V25,T16] (  3,  1.50)     int  ->  rcx         "CSE #04: moderate"
-;  V26 cse3         [V26,T17] (  3,  1.50)     int  ->  rdx         "CSE #07: moderate"
-;  V27 cse4         [V27,T05] ( 11,  6.50)     int  ->  rcx         "CSE #01: aggressive"
+;  V25 cse2         [V25,T16] (  3,  1.50)     int  ->  rdx         "CSE #06: moderate"
+;  V26 cse3         [V26,T05] ( 11,  6.50)     int  ->  rcx         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -254,16 +253,11 @@ G_M22584_IG14:        ; bbWeight=0.50, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000
 G_M22584_IG15:        ; bbWeight=0.50, gcrefRegs=0020 {rbp}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rbp+0x0E]
        ; byrRegs +[rax]
-       movzx    rcx, word  ptr [rax]
-       mov      edx, ecx
-       and      edx, 0xF000
-       and      ecx, 0xFFE
-       or       ecx, edx
-       mov      word  ptr [rax], cx
+       and      word  ptr [rax], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
        ; byrRegs -[rax]
-						;; size=29 bbWeight=0.50 PerfScore 2.38
+						;; size=12 bbWeight=0.50 PerfScore 1.88
 G_M22584_IG16:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbp]
        add      rsp, 40
@@ -327,7 +321,7 @@ G_M22584_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 674, prolog size 8, PerfScore 69.12, instruction count 162, allocated bytes for code 674 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 657, prolog size 8, PerfScore 68.62, instruction count 157, allocated bytes for code 657 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-1.32%) : 522004.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
@@ -16,7 +16,7 @@
 ;  V05 arg4         [V05,T23] (  1,  4   )     ref  ->  [rbp+0x38]  class-hnd single-def <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;  V06 arg5         [V06,T24] (  1,  4   )   ubyte  ->  [rbp+0x40]  single-def
 ;  V07 arg6         [V07,T14] (  3,  5.50)   byref  ->  r15         single-def
-;  V08 arg7         [V08,T15] (  3,  5   )  ushort  ->  r13         single-def
+;  V08 arg7         [V08,T15] (  2,  4.50)  ushort  ->  r13         single-def
 ;  V09 arg8         [V09,T37] (  1,  1   )   ubyte  ->  [rbp+0x58]  single-def
 ;  V10 loc0         [V10    ] (  3,  5.50)     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]>
 ;* V11 loc1         [V11,T38] (  0,  0   )     int  ->  zero-ref   
@@ -219,15 +219,12 @@ G_M55161_IG13:        ; bbWeight=1, gcrefRegs=4080 {rdi r14}, byrefRegs=8000 {r1
 						;; size=25 bbWeight=1 PerfScore 5.75
 G_M55161_IG14:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, byref, isz
        movzx    rcx, r13w
-       and      ecx, 64
-       movzx    rdx, r13w
-       and      edx, 512
-       or       ecx, edx
+       test     ecx, 576
        jne      G_M55161_IG21
        mov      rcx, qword ptr [rsi+0x48]
        cmp      qword ptr [rcx+0x08], 48
        jle      SHORT G_M55161_IG20
-						;; size=36 bbWeight=0.50 PerfScore 3.62
+						;; size=27 bbWeight=0.50 PerfScore 3.25
 G_M55161_IG15:        ; bbWeight=0.40, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, byref, isz
        mov      rcx, qword ptr [rcx+0x30]
        test     rcx, rcx
@@ -343,7 +340,7 @@ G_M55161_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 684, prolog size 37, PerfScore 261.70, instruction count 170, allocated bytes for code 684 (MethodHash=bcc22886) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
+; Total bytes of code 675, prolog size 37, PerfScore 261.33, instruction count 167, allocated bytes for code 675 (MethodHash=bcc22886) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-15 (-0.83%) : 501442.dasm - System.Uri:ParseRemaining():this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V01 loc0         [V01,T00] ( 73, 38   )    long  ->  rsi        
 ;  V02 loc1         [V02,T07] ( 12,  9.50)     ref  ->  rdi         class-hnd exact single-def <System.String>
 ;  V03 loc2         [V03,T02] (  9, 15   )     int  ->  r14        
-;  V04 loc3         [V04,T09] ( 12,  6   )     int  ->  r15        
+;  V04 loc3         [V04,T09] ( 11,  5.50)     int  ->  r15        
 ;  V05 loc4         [V05,T20] (  5,  2.50)   ubyte  ->  r13        
 ;  V06 loc5         [V06,T03] ( 27, 13.50)     int  ->  r12        
 ;* V07 loc6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[char]>
@@ -516,13 +516,9 @@ G_M48529_IG30:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
        mov      rdx, 0xD1FFAB1E
        test     rsi, rdx
        je       SHORT G_M48529_IG31
-       mov      edx, r15d
-       and      edx, 0xD1FFAB1E
-       mov      r8d, r15d
-       and      r8d, 0xD1FFAB1E
-       or       edx, r8d
+       test     r15d, 0xD1FFAB1E
        jne      SHORT G_M48529_IG32
-						;; size=72 bbWeight=0.50 PerfScore 3.38
+						;; size=57 bbWeight=0.50 PerfScore 2.88
 G_M48529_IG31:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        test     al, 16
        je       SHORT G_M48529_IG36
@@ -824,7 +820,7 @@ G_M48529_IG56:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1800, prolog size 26, PerfScore 235.19, instruction count 453, allocated bytes for code 1800 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
+; Total bytes of code 1785, prolog size 26, PerfScore 234.69, instruction count 449, allocated bytes for code 1785 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-20 (-0.62%) : 341611.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
@@ -27,7 +27,7 @@
 ;* V15 loc13        [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;  V16 loc14        [V16,T45] (  2,  2.27)     int  ->  r12        
 ;  V17 loc15        [V17,T03] ( 10, 70.81)    long  ->  [rbp+0x90]  ld-addr-op
-;  V18 loc16        [V18,T18] ( 11,  7.92)     int  ->  [rbp+0x8C] 
+;  V18 loc16        [V18,T18] ( 10,  7.82)     int  ->  [rbp+0x8C] 
 ;  V19 loc17        [V19,T39] (  3,  2.93)     int  ->  [rbp+0x88] 
 ;  V20 loc18        [V20,T49] (  4,  2.03)   ubyte  ->  r10        
 ;  V21 loc19        [V21,T60] (  5,  1.38)     int  ->  [rbp+0x84]  ptr
@@ -699,15 +699,9 @@ G_M27271_IG56:        ; bbWeight=0.13, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008
        jmp      G_M27271_IG19
 						;; size=28 bbWeight=0.13 PerfScore 0.66
 G_M27271_IG57:        ; bbWeight=0.10, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
-       mov      eax, dword ptr [rbp+0x8C]
-       mov      ecx, eax
-       and      ecx, 0x400
-       mov      dword ptr [rbp+0x8C], eax
-       mov      r10d, eax
-       and      r10d, 64
-       or       ecx, r10d
+       test     dword ptr [rbp+0x8C], 0x440
        je       G_M27271_IG106
-						;; size=36 bbWeight=0.10 PerfScore 0.44
+						;; size=16 bbWeight=0.10 PerfScore 0.21
 G_M27271_IG58:        ; bbWeight=0.10, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
        cmp      r9d, r15d
        jae      G_M27271_IG122
@@ -1386,7 +1380,7 @@ G_M27271_IG122:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3209, prolog size 62, PerfScore 1414.93, instruction count 686, allocated bytes for code 3219 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
+; Total bytes of code 3189, prolog size 62, PerfScore 1414.70, instruction count 680, allocated bytes for code 3199 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-6 (-0.45%) : 543502.dasm - GitHub_9692.C:TestEntryPoint():int (FullOpts)
@@ -35,8 +35,8 @@
 ;* V24 tmp17        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V25 tmp18        [V25,T29] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <GitHub_9692.C+Box>
 ;  V26 tmp19        [V26,T07] (  6, 34   )     int  ->  rdx         "Inline stloc first use temp"
-;  V27 tmp20        [V27,T01] (  6, 82   )     int  ->  rax         "Inlining Arg"
-;  V28 tmp21        [V28,T02] (  6, 82   )     int  ->  registers   "Inlining Arg"
+;  V27 tmp20        [V27,T03] (  5, 66   )     int  ->  rax         "Inlining Arg"
+;  V28 tmp21        [V28,T01] (  6, 82   )     int  ->  registers   "Inlining Arg"
 ;  V29 tmp22        [V29,T05] (  3, 48   )     int  ->  rcx         "dup spill"
 ;  V30 tmp23        [V30,T09] (  2, 32   )     int  ->   r8         "dup spill"
 ;* V31 tmp24        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -46,7 +46,7 @@
 ;  V35 tmp28        [V35,T12] (  2, 16   )     int  ->  rsi         "dup spill"
 ;* V36 tmp29        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V37 tmp30        [V37,T00] (  8,450   )     int  ->  rbx         "Inlining Arg"
-;  V38 tmp31        [V38,T03] (  3, 80   )     int  ->  rcx        
+;  V38 tmp31        [V38,T02] (  3, 80   )     int  ->  rcx        
 ;* V39 tmp32        [V39    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V40 tmp33        [V40,T04] (  6, 58   )     int  ->  rbx         "Inlining Arg"
 ;  V41 tmp34        [V41,T13] (  3, 12   )     int  ->  rbx        
@@ -277,11 +277,9 @@ G_M4053_IG10:        ; bbWeight=4, gcrefRegs=B0A0 {rbp rdi r12 r13 r15}, byrefRe
        mov      ecx, r8d
 						;; size=3 bbWeight=4 PerfScore 1.00
 G_M4053_IG11:        ; bbWeight=8, gcrefRegs=B0A0 {rbp rdi r12 r13 r15}, byrefRegs=0000 {}, byref, isz
-       lea      r8d, [rax+4*rax]
-       add      edx, r8d
-       mov      r8d, eax
+       lea      r8d, [rax+0x05]
        imul     r8d, eax
-       lea      edx, [rdx+r8+0x19]
+       lea      edx, [r8+rdx+0x19]
        dec      ecx
        mov      r8d, ecx
        mov      r10d, r8d
@@ -295,7 +293,7 @@ G_M4053_IG11:        ; bbWeight=8, gcrefRegs=B0A0 {rbp rdi r12 r13 r15}, byrefRe
        test     r8d, r8d
        mov      ecx, r8d
        jne      SHORT G_M4053_IG11
-						;; size=55 bbWeight=8 PerfScore 70.00
+						;; size=49 bbWeight=8 PerfScore 66.00
 G_M4053_IG12:        ; bbWeight=1, gcrefRegs=B0A0 {rbp rdi r12 r13 r15}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [r14+0x01]
        cmp      edx, 0x479
@@ -641,7 +639,7 @@ G_M4053_IG57:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=17 bbWeight=1 PerfScore 5.25
 
-; Total bytes of code 1319, prolog size 16, PerfScore 604.75, instruction count 339, allocated bytes for code 1319 (MethodHash=c37ff02a) for method GitHub_9692.C:TestEntryPoint():int (FullOpts)
+; Total bytes of code 1313, prolog size 16, PerfScore 600.75, instruction count 337, allocated bytes for code 1313 (MethodHash=c37ff02a) for method GitHub_9692.C:TestEntryPoint():int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-2 (-0.40%) : 375172.dasm - testout1:Func_0_1_2_2_1(testout1+VT_0_1_2_2_1):double (FullOpts)
@@ -12,7 +12,7 @@
 ;* V01 loc0         [V01    ] (  0,  0   )  double  ->  zero-ref    single-def
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V03 tmp1         [V03,T05] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V04 tmp2         [V04,T23] (  3,  6   )  double  ->  mm6         "Inlining Arg"
+;  V04 tmp2         [V04,T22] (  3,  6   )  double  ->  mm6         "Inlining Arg"
 ;* V05 tmp3         [V05    ] (  0,  0   )    long  ->  zero-ref    "field V00.a0_0_1_2_2_1 (fldOffset=0x0)" P-INDEP
 ;* V06 tmp4         [V06    ] (  0,  0   )  double  ->  zero-ref    "field V00.a1_0_1_2_2_1 (fldOffset=0x8)" P-INDEP
 ;* V07 tmp5         [V07    ] (  0,  0   )  double  ->  zero-ref    "field V00.a4_0_1_2_2_1 (fldOffset=0x10)" P-INDEP
@@ -24,22 +24,21 @@
 ;  V13 tmp11        [V13,T01] (  6, 12   )     ref  ->  rcx         single-def "MD array shared temp"
 ;  V14 tmp12        [V14,T08] (  3,  6   )     int  ->  rax         "MD array shared temp"
 ;  V15 tmp13        [V15,T09] (  3,  6   )     int  ->   r8         "MD array shared temp"
-;  V16 cse0         [V16,T13] (  3,  3   )     int  ->  rdx         "CSE #07: aggressive"
-;  V17 cse1         [V17,T14] (  3,  3   )     int  ->  r10         "CSE #14: aggressive"
-;  V18 cse2         [V18,T24] (  3,  3   )  double  ->  mm1         "CSE #12: aggressive"
-;  V19 cse3         [V19,T10] (  5,  5   )     int  ->  rdx         "CSE #11: aggressive"
-;  V20 cse4         [V20,T11] (  4,  4   )     int  ->  rax         "CSE #13: aggressive"
-;  V21 cse5         [V21,T12] (  4,  4   )     int  ->   r9         "CSE #04: aggressive"
-;  V22 cse6         [V22,T15] (  3,  3   )     int  ->  rdx         "CSE #02: aggressive"
-;  V23 cse7         [V23,T16] (  3,  3   )     int  ->   r8         "CSE #08: aggressive"
-;  V24 cse8         [V24,T17] (  3,  3   )     int  ->  rbx         "CSE #10: aggressive"
-;  V25 cse9         [V25,T18] (  3,  3   )    long  ->  r10         "CSE #16: aggressive"
-;  V26 cse10        [V26,T03] (  6,  6   )    long  ->  r10         "CSE #03: aggressive"
-;  V27 cse11        [V27,T04] (  6,  6   )    long  ->  rax         "CSE #01: aggressive"
-;  V28 cse12        [V28,T19] (  3,  3   )    long  ->  r11         "CSE #15: aggressive"
-;  V29 cse13        [V29,T20] (  3,  3   )     int  ->  rbx         "CSE #09: aggressive"
-;  V30 cse14        [V30,T21] (  3,  3   )    long  ->   r8         "CSE #17: aggressive"
-;  V31 cse15        [V31,T22] (  3,  3   )     int  ->  rdx         "CSE #18: aggressive"
+;  V16 cse0         [V16,T23] (  3,  3   )  double  ->  mm1         "CSE #10: aggressive"
+;  V17 cse1         [V17,T10] (  5,  5   )     int  ->  rdx         "CSE #09: aggressive"
+;  V18 cse2         [V18,T11] (  5,  5   )     int  ->  rax         "CSE #11: aggressive"
+;  V19 cse3         [V19,T12] (  4,  4   )     int  ->   r9         "CSE #04: aggressive"
+;  V20 cse4         [V20,T13] (  3,  3   )     int  ->  rdx         "CSE #02: aggressive"
+;  V21 cse5         [V21,T14] (  3,  3   )     int  ->  rdx         "CSE #05: aggressive"
+;  V22 cse6         [V22,T15] (  3,  3   )     int  ->   r8         "CSE #06: aggressive"
+;  V23 cse7         [V23,T16] (  3,  3   )     int  ->  rbx         "CSE #08: aggressive"
+;  V24 cse8         [V24,T17] (  3,  3   )    long  ->  r10         "CSE #13: aggressive"
+;  V25 cse9         [V25,T03] (  6,  6   )    long  ->  r10         "CSE #03: aggressive"
+;  V26 cse10        [V26,T04] (  6,  6   )    long  ->  rax         "CSE #01: aggressive"
+;  V27 cse11        [V27,T18] (  3,  3   )    long  ->  r11         "CSE #12: aggressive"
+;  V28 cse12        [V28,T19] (  3,  3   )     int  ->  rbx         "CSE #07: aggressive"
+;  V29 cse13        [V29,T20] (  3,  3   )    long  ->   r8         "CSE #14: aggressive"
+;  V30 cse14        [V30,T21] (  3,  3   )     int  ->  rdx         "CSE #15: aggressive"
 ;
 ; Lcl frame size = 56
 
@@ -67,9 +66,9 @@ G_M16217_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byr
        vcvtsi2sd xmm0, xmm0, edx
        mov      rdx, 0xD1FFAB1E
        vmovsd   qword ptr [rdx], xmm0
-       mov      edx, dword ptr [r10]
-       imul     edx, dword ptr [rax]
+       mov      edx, dword ptr [rax]
        add      edx, edx
+       imul     edx, dword ptr [r10]
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, edx
        mov      rdx, 0xD1FFAB1E
@@ -116,9 +115,8 @@ G_M16217_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byr
 						;; size=262 bbWeight=1 PerfScore 84.33
 G_M16217_IG03:        ; bbWeight=1, isz, extend
        vaddsd   xmm1, xmm1, xmm2
-       mov      r10d, edx
-       imul     r10d, eax
-       add      r10d, r10d
+       lea      r10d, [rax+rax]
+       imul     r10d, edx
        vxorps   xmm2, xmm2, xmm2
        vcvtsi2sd xmm2, xmm2, r10d
        vmovsd   xmm3, qword ptr [reloc @RWD00]
@@ -172,7 +170,7 @@ G_M16217_IG03:        ; bbWeight=1, isz, extend
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        vmovaps  xmm0, xmm6
-						;; size=201 bbWeight=1 PerfScore 156.75
+						;; size=199 bbWeight=1 PerfScore 156.75
 G_M16217_IG04:        ; bbWeight=1, epilog, nogc, extend
        vmovaps  xmm6, xmmword ptr [rsp+0x20]
        add      rsp, 56
@@ -188,7 +186,7 @@ G_M16217_IG05:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
 RWD00  	dq	4034000000000000h	;           20
 
 
-; Total bytes of code 494, prolog size 12, PerfScore 248.58, instruction count 119, allocated bytes for code 494 (MethodHash=ffedc0a6) for method testout1:Func_0_1_2_2_1(testout1+VT_0_1_2_2_1):double (FullOpts)
+; Total bytes of code 492, prolog size 12, PerfScore 248.58, instruction count 118, allocated bytes for code 492 (MethodHash=ffedc0a6) for method testout1:Func_0_1_2_2_1(testout1+VT_0_1_2_2_1):double (FullOpts)
 ; ============================================================
 
 Unwind Info:
-20 (-0.40%) : 271088.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
@@ -27,7 +27,7 @@
 ;* V15 loc13        [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;  V16 loc14        [V16,T64] (  2,  3.73)     int  ->  r12        
 ;  V17 loc15        [V17,T04] ( 10,267.16)    long  ->  [rbp+0x130]  ld-addr-op
-;  V18 loc16        [V18,T01] ( 11,353.67)     int  ->  [rbp+0x12C] 
+;  V18 loc16        [V18,T01] ( 10,351.94)     int  ->  [rbp+0x12C] 
 ;  V19 loc17        [V19,T15] (  3,131.87)     int  ->  [rbp+0x128] 
 ;  V20 loc18        [V20,T21] (  4, 89.07)   ubyte  ->  r10        
 ;  V21 loc19        [V21,T28] (  6, 52.32)     int  ->  [rbp+0x124]  ptr
@@ -826,15 +826,9 @@ G_M27271_IG46:        ; bbWeight=1.73, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008
        jmp      G_M27271_IG65
 						;; size=51 bbWeight=1.73 PerfScore 14.27
 G_M27271_IG47:        ; bbWeight=1.73, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
-       mov      eax, dword ptr [rbp+0x12C]
-       mov      ecx, eax
-       and      ecx, 0x400
-       mov      dword ptr [rbp+0x12C], eax
-       mov      r10d, eax
-       and      r10d, 64
-       or       ecx, r10d
+       test     dword ptr [rbp+0x12C], 0x440
        je       G_M27271_IG161
-						;; size=36 bbWeight=1.73 PerfScore 7.35
+						;; size=16 bbWeight=1.73 PerfScore 3.46
 G_M27271_IG48:        ; bbWeight=1.73, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
        cmp      r9d, r15d
        jae      G_M27271_IG190
@@ -2214,7 +2208,7 @@ G_M27271_IG190:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 5010, prolog size 101, PerfScore 7368.50, instruction count 1041, allocated bytes for code 5023 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
+; Total bytes of code 4990, prolog size 101, PerfScore 7364.61, instruction count 1035, allocated bytes for code 5003 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-2.29%) : 345062.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
@@ -14,7 +14,7 @@
 ;  V02 loc1         [V02,T11] (  5,  0   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T16] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T12] (  5,  0   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T15] (  3,  0   )     int  ->  rax        
+;  V05 loc4         [V05,T15] (  2,  0   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V08 tmp2         [V08,T06] (  3,  2   )     int  ->  rcx        
@@ -172,12 +172,9 @@ G_M56028_IG12:        ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG14
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M56028_IG13:        ; bbWeight=0, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -233,7 +230,7 @@ G_M56028_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        jmp      G_M56028_IG05
 						;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 349, prolog size 10, PerfScore 29.88, instruction count 107, allocated bytes for code 349 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
+; Total bytes of code 341, prolog size 10, PerfScore 29.88, instruction count 104, allocated bytes for code 341 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
 ; ============================================================
 
 Unwind Info:
libraries.crossgen2.windows.x64.checked.mch
-3 (-18.75%) : 280456.dasm - Xunit.Sdk.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
@@ -8,9 +8,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  4   )     int  ->  rcx         single-def
-;  V01 arg1         [V01,T01] (  4,  4   )     int  ->  rdx         single-def
-;  V02 arg2         [V02,T02] (  4,  4   )     int  ->   r8         single-def
+;  V00 arg0         [V00,T02] (  3,  3   )     int  ->  rcx         single-def
+;  V01 arg1         [V01,T00] (  4,  4   )     int  ->  rdx         single-def
+;  V02 arg2         [V02,T01] (  4,  4   )     int  ->   r8         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;
 ; Lcl frame size = 0
@@ -18,18 +18,17 @@
 G_M45053_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
 						;; size=0 bbWeight=1 PerfScore 0.00
 G_M45053_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, ecx
-       and      eax, edx
-       and      ecx, r8d
+       mov      eax, edx
+       and      eax, r8d
+       or       edx, r8d
+       and      ecx, edx
        or       eax, ecx
-       and      r8d, edx
-       or       eax, r8d
-						;; size=15 bbWeight=1 PerfScore 1.50
+						;; size=12 bbWeight=1 PerfScore 1.25
 G_M45053_IG03:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 16, prolog size 0, PerfScore 2.50, instruction count 7, allocated bytes for code 16 (MethodHash=10e45002) for method Xunit.Sdk.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
+; Total bytes of code 13, prolog size 0, PerfScore 2.25, instruction count 6, allocated bytes for code 13 (MethodHash=10e45002) for method Xunit.Sdk.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
 ; ============================================================
 
 Unwind Info:
-20 (-16.81%) : 115243.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:Classify_Reference_Array_TypeParameterConversion(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,int,byref):int (FullOpts)
@@ -9,11 +9,11 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5,  4   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
-;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
-;  V02 arg2         [V02,T04] (  5,  4   )     int  ->  rbp         single-def
-;  V03 arg3         [V03,T03] (  5,  4   )   byref  ->  rdi         single-def
-;  V04 loc0         [V04,T00] (  8,  6   )     int  ->  rax        
+;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+;  V01 arg1         [V01,T01] (  5,  4   )     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+;  V02 arg2         [V02,T03] (  5,  4   )     int  ->  rbp         single-def
+;  V03 arg3         [V03,T02] (  5,  4   )   byref  ->  rdi         single-def
+;  V04 loc0         [V04,T04] (  6,  4.50)     int  ->  rax        
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
 ; Lcl frame size = 40
@@ -44,13 +44,9 @@ G_M15585_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        ; gcrRegs -[rcx rdx]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        je       SHORT G_M15585_IG04
-						;; size=35 bbWeight=1 PerfScore 6.25
+						;; size=25 bbWeight=1 PerfScore 5.25
 G_M15585_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx rsi]
        ; byrRegs -[rdi]
@@ -75,11 +71,7 @@ G_M15585_IG04:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=004
        ; gcrRegs -[rcx rdx]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        jne      SHORT G_M15585_IG03
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -93,9 +85,9 @@ G_M15585_IG04:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=004
        ; byrRegs -[rdi r9]
        ; gcr arg pop 0
        jmp      SHORT G_M15585_IG03
-						;; size=55 bbWeight=0.50 PerfScore 6.12
+						;; size=45 bbWeight=0.50 PerfScore 5.62
 
-; Total bytes of code 119, prolog size 8, PerfScore 20.88, instruction count 43, allocated bytes for code 119 (MethodHash=0982c31e) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:Classify_Reference_Array_TypeParameterConversion(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,int,byref):int (FullOpts)
+; Total bytes of code 99, prolog size 8, PerfScore 19.38, instruction count 35, allocated bytes for code 99 (MethodHash=0982c31e) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:Classify_Reference_Array_TypeParameterConversion(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,int,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-14 (-10.00%) : 228172.dasm - System.Speech.Recognition.RecognizerBase:ConvertCompareOptions(int):int (FullOpts)
@@ -8,7 +8,7 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  7,  7   )     int  ->  rcx         single-def
+;  V00 arg0         [V00,T01] (  6,  6   )     int  ->  rcx         single-def
 ;* V01 loc0         [V01    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V02 loc1         [V02,T00] ( 10, 10   )     int  ->  rax        
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
@@ -25,13 +25,9 @@ G_M61916_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 						;; size=6 bbWeight=1 PerfScore 2.25
 G_M61916_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      eax, eax
-       mov      edx, ecx
-       and      edx, 1
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       mov      r10d, 1
-       or       edx, r8d
-       cmovne   eax, r10d
+       mov      edx, 1
+       test     ecx, 0xD1FFAB1E
+       cmovne   eax, edx
        mov      edx, eax
        or       edx, 0x10000
        test     cl, 8
@@ -42,7 +38,7 @@ G_M61916_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        cmovne   eax, edx
        test     ecx, 0xD1FFAB1E
        jne      SHORT G_M61916_IG04
-						;; size=66 bbWeight=1 PerfScore 6.00
+						;; size=52 bbWeight=1 PerfScore 5.00
 G_M61916_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -81,7 +77,7 @@ G_M61916_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=61 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 140, prolog size 6, PerfScore 10.50, instruction count 39, allocated bytes for code 140 (MethodHash=85610e23) for method System.Speech.Recognition.RecognizerBase:ConvertCompareOptions(int):int (FullOpts)
+; Total bytes of code 126, prolog size 6, PerfScore 9.50, instruction count 35, allocated bytes for code 126 (MethodHash=85610e23) for method System.Speech.Recognition.RecognizerBase:ConvertCompareOptions(int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-10 (-6.17%) : 115217.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyDirectCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
@@ -14,7 +14,7 @@
 ;  V02 arg2         [V02,T03] (  3,  2.50)     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Binder>
 ;  V03 arg3         [V03,T02] (  4,  3   )   byref  ->  rdi         single-def
 ;  V04 loc0         [V04,T05] (  4,  2.50)     int  ->  rax        
-;  V05 loc1         [V05,T04] (  6,  3   )     int  ->  rax        
+;  V05 loc1         [V05,T04] (  5,  2.50)     int  ->  rax        
 ;  V06 loc2         [V06,T06] (  4,  2   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
@@ -71,13 +71,9 @@ G_M15230_IG04:        ; bbWeight=0.50, gcrefRegs=0068 {rbx rbp rsi}, byrefRegs=0
        ; gcrRegs -[rcx rdx rbp r8]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        je       SHORT G_M15230_IG06
-						;; size=35 bbWeight=0.50 PerfScore 3.12
+						;; size=25 bbWeight=0.50 PerfScore 2.62
 G_M15230_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        ; byrRegs -[rdi]
@@ -137,7 +133,7 @@ G_M15230_IG10:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=9 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 162, prolog size 8, PerfScore 31.62, instruction count 57, allocated bytes for code 162 (MethodHash=990ac481) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyDirectCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
+; Total bytes of code 152, prolog size 8, PerfScore 31.12, instruction count 53, allocated bytes for code 152 (MethodHash=990ac481) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyDirectCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-10 (-6.17%) : 115219.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyTryCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
@@ -14,7 +14,7 @@
 ;  V02 arg2         [V02,T03] (  3,  2.50)     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Binder>
 ;  V03 arg3         [V03,T02] (  4,  3   )   byref  ->  rdi         single-def
 ;  V04 loc0         [V04,T05] (  4,  2.50)     int  ->  rax        
-;  V05 loc1         [V05,T04] (  6,  3   )     int  ->  rax        
+;  V05 loc1         [V05,T04] (  5,  2.50)     int  ->  rax        
 ;  V06 loc2         [V06,T06] (  4,  2   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
@@ -71,13 +71,9 @@ G_M14604_IG04:        ; bbWeight=0.50, gcrefRegs=0068 {rbx rbp rsi}, byrefRegs=0
        ; gcrRegs -[rcx rdx rbp r8]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        je       SHORT G_M14604_IG06
-						;; size=35 bbWeight=0.50 PerfScore 3.12
+						;; size=25 bbWeight=0.50 PerfScore 2.62
 G_M14604_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        ; byrRegs -[rdi]
@@ -137,7 +133,7 @@ G_M14604_IG10:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=9 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 162, prolog size 8, PerfScore 31.62, instruction count 57, allocated bytes for code 162 (MethodHash=9bbec6f3) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyTryCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
+; Total bytes of code 152, prolog size 8, PerfScore 31.12, instruction count 53, allocated bytes for code 152 (MethodHash=9bbec6f3) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyTryCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-3.40%) : 17786.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
@@ -11,10 +11,10 @@
 ;
 ;  V00 this         [V00,T03] (  7,  5   )     ref  ->  rbx         this class-hnd single-def <System.RuntimeType>
 ;  V01 loc0         [V01,T07] (  3,  1.50)     ref  ->  rsi         class-hnd single-def <System.Type[]>
-;  V02 loc1         [V02,T05] (  6,  4.50)     ref  ->  rbp         class-hnd <System.RuntimeType>
+;  V02 loc1         [V02,T04] (  6,  4.50)     ref  ->  rbp         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T09] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T00] (  5, 14   )     ref  ->  r15         class-hnd <System.RuntimeType>
-;  V05 loc4         [V05,T04] (  3,  6   )     int  ->  rax        
+;  V05 loc4         [V05,T05] (  2,  4   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V07 cse0         [V07,T06] (  4,  2   )   byref  ->  rdi         "CSE #02: aggressive"
 ;  V08 cse1         [V08,T08] (  3,  1.50)     int  ->  r14         "CSE #01: aggressive"
@@ -121,12 +121,9 @@ G_M56028_IG07:        ; bbWeight=2, gcrefRegs=8028 {rbx rbp r15}, byrefRegs=00C0
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG09
-						;; size=34 bbWeight=2 PerfScore 19.50
+						;; size=26 bbWeight=2 PerfScore 18.00
 G_M56028_IG08:        ; bbWeight=2, gcrefRegs=8008 {rbx r15}, byrefRegs=00C0 {rsi rdi}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -181,7 +178,7 @@ G_M56028_IG14:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=13 bbWeight=0.50 PerfScore 2.12
 
-; Total bytes of code 235, prolog size 12, PerfScore 105.12, instruction count 84, allocated bytes for code 235 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
+; Total bytes of code 227, prolog size 12, PerfScore 103.62, instruction count 81, allocated bytes for code 227 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-3.24%) : 165559.dasm - Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:DecodeLocalVariableTypeOrThrow(System.Collections.Immutable.ImmutableArray`1[byte]):System.__Canon:this (FullOpts)
@@ -20,7 +20,7 @@
 ;  V08 tmp1         [V08,T05] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.UnsupportedSignatureContent>
 ;  V09 tmp2         [V09,T06] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.UnsupportedSignatureContent>
 ;  V10 tmp3         [V10    ] (  6,  6   )     ref  ->  [rsp+0xA8]  do-not-enreg[X] addr-exposed single-def "field V01.array (fldOffset=0x0)" P-DEP
-;  V11 tmp4         [V11,T04] (  3,  3   )   ubyte  ->  rax         single-def "V06.[016..017)"
+;  V11 tmp4         [V11,T04] (  2,  2   )   ubyte  ->  rax         single-def "V06.[016..017)"
 ;  V12 tmp5         [V12,T01] (  2,  4   )    long  ->  rdx         "Cast away GC"
 ;  V13 tmp6         [V13,T02] (  2,  4   )    long  ->  rdx         "argument with side effect"
 ;
@@ -75,14 +75,11 @@ G_M41458_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        cmp      dword ptr [rbx], ebx
        movzx    rax, byte  ptr [rsp+0x38]
-       mov      ecx, eax
-       and      ecx, 1
-       and      eax, 2
-       or       eax, ecx
+       test     al, 3
        jne      SHORT G_M41458_IG05
        mov      rax, gword ptr [rsp+0x30]
        ; gcrRegs +[rax]
-						;; size=124 bbWeight=1 PerfScore 31.00
+						;; size=116 bbWeight=1 PerfScore 30.25
 G_M41458_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 136
        pop      rbx
@@ -127,7 +124,7 @@ G_M41458_IG05:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 247, prolog size 46, PerfScore 42.33, instruction count 57, allocated bytes for code 247 (MethodHash=74a85e0d) for method Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:DecodeLocalVariableTypeOrThrow(System.Collections.Immutable.ImmutableArray`1[byte]):System.__Canon:this (FullOpts)
+; Total bytes of code 239, prolog size 46, PerfScore 41.58, instruction count 54, allocated bytes for code 239 (MethodHash=74a85e0d) for method Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:DecodeLocalVariableTypeOrThrow(System.Collections.Immutable.ImmutableArray`1[byte]):System.__Canon:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-2.65%) : 213467.dasm - System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
@@ -13,15 +13,15 @@
 ;  V01 arg1         [V01,T02] (  5,  4.50)     ref  ->  rdi         class-hnd single-def <System.Xml.XmlNameTable>
 ;  V02 arg2         [V02,T01] (  8,  5.50)     ref  ->  rsi         class-hnd single-def <System.Xml.Schema.XmlSchemaSet>
 ;  V03 arg3         [V03,T03] (  4,  4   )     ref  ->  rbp         class-hnd single-def <System.Xml.IXmlNamespaceResolver>
-;  V04 arg4         [V04,T06] (  3,  3   )     int  ->  r14         single-def
+;  V04 arg4         [V04,T08] (  2,  2   )     int  ->  r14         single-def
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V06 tmp1         [V06,T04] (  3,  3   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaSet>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
-;  V09 tmp4         [V09,T07] (  2,  2   )     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
+;  V09 tmp4         [V09,T06] (  2,  2   )     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;  V10 tmp5         [V10,T05] (  3,  3   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Schema.XmlSchemaCompilationSettings>
-;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Xml.XmlResolver>
+;  V12 tmp7         [V12,T07] (  2,  2   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Xml.XmlResolver>
 ;  V13 cse0         [V13,T09] (  3,  1.50)     ref  ->  rdi         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 32
@@ -85,12 +85,9 @@ G_M31695_IG02:        ; bbWeight=1, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        ; gcrRegs -[rdx rbp]
        ; byrRegs -[rcx]
        mov      dword ptr [rbx+0xF0], r14d
-       mov      ecx, r14d
-       and      ecx, 1
-       and      r14d, 2
-       or       ecx, r14d
+       test     r14b, 3
        jne      SHORT G_M31695_IG04
-						;; size=131 bbWeight=1 PerfScore 34.25
+						;; size=122 bbWeight=1 PerfScore 33.50
 G_M31695_IG03:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        lea      rcx, bword ptr [rbx+0x08]
@@ -195,7 +192,7 @@ G_M31695_IG06:        ; bbWeight=1, epilog, nogc, extend
        tail.jmp [rax]<unknown method>
 						;; size=13 bbWeight=1 PerfScore 4.75
 
-; Total bytes of code 340, prolog size 10, PerfScore 79.25, instruction count 84, allocated bytes for code 340 (MethodHash=d5398430) for method System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
+; Total bytes of code 331, prolog size 10, PerfScore 78.50, instruction count 81, allocated bytes for code 331 (MethodHash=d5398430) for method System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-18 (-2.50%) : 229073.dasm - System.Speech.Internal.SrgsCompiler.Backend:CreateRule(System.String,int):System.Speech.Internal.SrgsCompiler.Rule:this (FullOpts)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T00] ( 16, 17   )     ref  ->  rbx         this class-hnd single-def <System.Speech.Internal.SrgsCompiler.Backend>
 ;  V01 arg1         [V01,T04] ( 10,  9   )     ref  ->  rdi         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T02] ( 16, 11.50)     int  ->  rsi        
+;  V02 arg2         [V02,T02] ( 14, 10.50)     int  ->  rsi        
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V04 loc1         [V04    ] (  1,  1   )     int  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V05 loc2         [V05    ] (  2,  2   )     int  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op
@@ -79,17 +79,10 @@ G_M53126_IG04:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M53126_IG05:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        mov      ecx, esi
-       and      ecx, 1
-       mov      edx, esi
-       and      edx, 2
-       or       ecx, edx
-       mov      edx, esi
-       and      edx, 64
-       mov      r11d, esi
-       and      r11d, -68
-       or       ecx, edx
-       cmovne   esi, r11d
-						;; size=30 bbWeight=0.50 PerfScore 1.50
+       and      ecx, -68
+       test     sil, 67
+       cmovne   esi, ecx
+						;; size=12 bbWeight=0.50 PerfScore 0.62
 G_M53126_IG06:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        test     sil, 8
        je       SHORT G_M53126_IG08
@@ -377,7 +370,7 @@ G_M53126_IG27:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 720, prolog size 47, PerfScore 212.96, instruction count 193, allocated bytes for code 720 (MethodHash=7b3d3079) for method System.Speech.Internal.SrgsCompiler.Backend:CreateRule(System.String,int):System.Speech.Internal.SrgsCompiler.Rule:this (FullOpts)
+; Total bytes of code 702, prolog size 47, PerfScore 212.08, instruction count 186, allocated bytes for code 702 (MethodHash=7b3d3079) for method System.Speech.Internal.SrgsCompiler.Backend:CreateRule(System.String,int):System.Speech.Internal.SrgsCompiler.Rule:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-1.81%) : 94553.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
@@ -16,7 +16,7 @@
 ;  V05 arg4         [V05,T14] (  1,  4   )     ref  ->  [rbp+0x38]  class-hnd single-def <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;  V06 arg5         [V06,T15] (  1,  4   )   ubyte  ->  [rbp+0x40]  single-def
 ;  V07 arg6         [V07,T08] (  3,  5.50)   byref  ->  r15         single-def
-;  V08 arg7         [V08,T09] (  3,  5   )  ushort  ->  r13         single-def
+;  V08 arg7         [V08,T09] (  2,  4.50)  ushort  ->  r13         single-def
 ;  V09 arg8         [V09,T19] (  1,  1   )   ubyte  ->  [rbp+0x58]  single-def
 ;  V10 loc0         [V10    ] (  3,  5.50)     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]]>
 ;  V11 loc1         [V11,T01] (  5, 17   )     int  ->  [rbp-0x4C] 
@@ -172,10 +172,7 @@ G_M55161_IG07:        ; bbWeight=1, gcrefRegs=4040 {rsi r14}, byrefRegs=8000 {r1
 						;; size=55 bbWeight=1 PerfScore 16.25
 G_M55161_IG08:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=8000 {r15}, byref, isz
        movzx    rcx, r13w
-       and      ecx, 64
-       movzx    rax, r13w
-       and      eax, 512
-       or       ecx, eax
+       test     ecx, 576
        jne      SHORT G_M55161_IG09
        mov      rcx, rdi
        call     [CORINFO_HELP_READYTORUN_GENERIC_HANDLE]
@@ -188,7 +185,7 @@ G_M55161_IG08:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=8000 {r15
        ; gcrRegs -[rdx rsi]
        ; byrRegs -[r8 r15]
        jmp      SHORT G_M55161_IG10
-						;; size=46 bbWeight=0.50 PerfScore 5.62
+						;; size=38 bbWeight=0.50 PerfScore 5.25
 G_M55161_IG09:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
        mov      rcx, rdi
@@ -215,7 +212,7 @@ G_M55161_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=20 bbWeight=1 PerfScore 5.25
 
-; Total bytes of code 442, prolog size 37, PerfScore 198.75, instruction count 124, allocated bytes for code 442 (MethodHash=bcc22886) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
+; Total bytes of code 434, prolog size 37, PerfScore 198.38, instruction count 121, allocated bytes for code 434 (MethodHash=bcc22886) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-1.65%) : 259590.dasm - System.IO.Pipelines.PipeReader+<ReadAtLeastAsyncCore>d__4:MoveNext():this (FullOpts)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T00] ( 16, 14   )   byref  ->  [rbp+0x10]  this EH-live single-def
 ;  V01 loc0         [V01,T05] (  2,  2   )     int  ->   r8        
-;  V02 loc1         [V02,T04] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.IO.Pipelines.PipeReader>
+;  V02 loc1         [V02,T03] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.IO.Pipelines.PipeReader>
 ;  V03 loc2         [V03    ] (  3,  3   )  struct (32) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed <System.IO.Pipelines.ReadResult>
 ;  V04 loc3         [V04,T02] (  4,  4   )  struct (32) [rbp-0x58]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <System.IO.Pipelines.ReadResult>
 ;  V05 loc4         [V05    ] (  4,  4   )  struct (24) [rbp-0x70]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Buffers.ReadOnlySequence`1[byte]>
@@ -24,7 +24,7 @@
 ;  V12 tmp2         [V12    ] (  2,  4   )  struct (16) [rbp-0x110]  do-not-enreg[XDAS] must-init addr-exposed defined-via-address "non-inline candidate call" <System.SequencePosition>
 ;  V13 tmp3         [V13    ] (  2,  4   )  struct (16) [rbp-0x120]  do-not-enreg[XDAS] must-init addr-exposed defined-via-address "spilled call-like call argument" <System.SequencePosition>
 ;  V14 tmp4         [V14,T06] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V15 tmp5         [V15,T03] (  4,  4   )   ubyte  ->  rbx         "V04.[000..001)"
+;  V15 tmp5         [V15,T04] (  3,  3   )   ubyte  ->  rbx         "V04.[000..001)"
 ;  V16 cse0         [V16,T01] (  5,  5   )   byref  ->  rax         multi-def "CSE #01: aggressive"
 ;
 ; Lcl frame size = 296
@@ -98,11 +98,7 @@ G_M42386_IG08:        ; bbWeight=1, extend
        movsxd   rcx, dword ptr [rsi+0x0C]
        cmp      rax, rcx
        jge      G_M42386_IG10
-       mov      ecx, ebx
-       and      ecx, 2
-       mov      edx, ebx
-       and      edx, 1
-       or       ecx, edx
+       test     bl, 3
        jne      G_M42386_IG10
        lea      rcx, [rbp-0x70]
        lea      rdx, [rbp-0x110]
@@ -121,7 +117,7 @@ G_M42386_IG08:        ; bbWeight=1, extend
        call     [r11]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-						;; size=108 bbWeight=1 PerfScore 24.75
+						;; size=99 bbWeight=1 PerfScore 23.75
 G_M42386_IG09:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref, isz
        mov      r8, gword ptr [rsi+0x38]
        ; gcrRegs +[r8]
@@ -229,7 +225,7 @@ G_M42386_IG17:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 545, prolog size 75, PerfScore 122.08, instruction count 124, allocated bytes for code 545 (MethodHash=6abe5a6d) for method System.IO.Pipelines.PipeReader+<ReadAtLeastAsyncCore>d__4:MoveNext():this (FullOpts)
+; Total bytes of code 536, prolog size 75, PerfScore 121.08, instruction count 120, allocated bytes for code 536 (MethodHash=6abe5a6d) for method System.IO.Pipelines.PipeReader+<ReadAtLeastAsyncCore>d__4:MoveNext():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-5 (-1.09%) : 25755.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T20] (  4,  8   )   byref  ->  rcx         ld-addr-op single-def
 ;  V01 loc0         [V01,T03] ( 14, 97.04)     int  ->  registers  
-;  V02 loc1         [V02,T00] ( 16,112.88)     int  ->  registers  
+;  V02 loc1         [V02,T00] ( 15,104.96)     int  ->  registers  
 ;  V03 loc2         [V03,T01] ( 15,104.96)     int  ->  registers  
 ;  V04 loc3         [V04,T02] ( 15,104.96)     int  ->  registers  
 ;  V05 loc4         [V05,T05] ( 10, 65.36)     int  ->  registers  
@@ -144,13 +144,11 @@ G_M28360_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byr
        mov      ebx, 40
 						;; size=5 bbWeight=1 PerfScore 0.25
 G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
-       mov      esi, r8d
-       and      esi, r10d
-       mov      edi, r8d
-       and      edi, r9d
-       or       esi, edi
+       mov      esi, r10d
+       and      esi, r9d
        mov      edi, r10d
-       and      edi, r9d
+       or       edi, r9d
+       and      edi, r8d
        or       esi, edi
        mov      edi, edx
        rol      edi, 5
@@ -168,7 +166,7 @@ G_M28360_IG09:        ; bbWeight=7.92, gcrefRegs=0000 {}, byrefRegs=0001 {rax},
        mov      r10d, r8d
        mov      r8d, ebp
        jl       SHORT G_M28360_IG09
-						;; size=72 bbWeight=7.92 PerfScore 77.22
+						;; size=67 bbWeight=7.92 PerfScore 73.26
 G_M28360_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        mov      ebx, 60
 						;; size=5 bbWeight=1 PerfScore 0.25
@@ -223,7 +221,7 @@ G_M28360_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 460, prolog size 8, PerfScore 439.96, instruction count 137, allocated bytes for code 460 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
+; Total bytes of code 455, prolog size 8, PerfScore 436.00, instruction count 135, allocated bytes for code 455 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
-13 (-0.78%) : 268273.dasm - System.Uri:ParseRemaining():this (FullOpts)
@@ -13,7 +13,7 @@
 ;  V01 loc0         [V01,T00] ( 73, 38   )    long  ->  rsi        
 ;  V02 loc1         [V02,T05] ( 12,  9.50)     ref  ->  rdi         class-hnd single-def <System.String>
 ;  V03 loc2         [V03,T02] (  9, 15   )     int  ->  r14        
-;  V04 loc3         [V04,T09] ( 12,  6   )     int  ->  r15        
+;  V04 loc3         [V04,T09] ( 11,  5.50)     int  ->  r15        
 ;  V05 loc4         [V05,T14] (  5,  2.50)   ubyte  ->  r13        
 ;  V06 loc5         [V06,T03] ( 24, 12   )     int  ->  r12        
 ;  V07 loc6         [V07    ] (  3,  1.50)  struct (16) [rsp+0xB8]  do-not-enreg[XDAS] must-init addr-exposed defined-via-address ld-addr-op <System.ReadOnlySpan`1[char]>
@@ -364,13 +364,9 @@ G_M48529_IG23:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
        mov      rcx, 0xD1FFAB1E
        test     rsi, rcx
        je       SHORT G_M48529_IG24
-       mov      ecx, r15d
-       and      ecx, 0xD1FFAB1E
-       mov      edx, r15d
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     r15d, 0xD1FFAB1E
        jne      SHORT G_M48529_IG25
-						;; size=72 bbWeight=0.50 PerfScore 3.38
+						;; size=59 bbWeight=0.50 PerfScore 2.88
 G_M48529_IG24:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        test     al, 16
        je       SHORT G_M48529_IG29
@@ -617,7 +613,7 @@ G_M48529_IG43:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1661, prolog size 69, PerfScore 235.27, instruction count 395, allocated bytes for code 1661 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
+; Total bytes of code 1648, prolog size 69, PerfScore 234.77, instruction count 391, allocated bytes for code 1648 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-0.70%) : 26962.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V00 this         [V00,T73] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]>
 ;  V01 arg1         [V01,T62] (  3,  6   )   byref  ->  rdx         ld-addr-op single-def
 ;  V02 loc0         [V02    ] (  3, 21   )  struct (24) [rbp+0xD8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.RuntimeType+ListBuilder`1[System.Reflection.RuntimeMethodInfo]>
-;  V03 loc1         [V03,T02] ( 28,156.75)     ref  ->  rdi         class-hnd <System.RuntimeType>
+;  V03 loc1         [V03,T01] ( 28,156.75)     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;  V04 loc2         [V04    ] ( 16,131   )  struct (16) [rbp+0xC8]  do-not-enreg[XS] addr-exposed ld-addr-op <System.RuntimeTypeHandle+IntroducedMethodEnumerator>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.RuntimeTypeHandle+IntroducedMethodEnumerator>
 ;* V06 loc4         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.RuntimeMethodHandleInternal>
@@ -27,7 +27,7 @@
 ;* V15 loc13        [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;  V16 loc14        [V16,T58] (  2, 12   )     int  ->  r12        
 ;* V17 loc15        [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.RuntimeMethodHandleInternal>
-;  V18 loc16        [V18,T01] ( 11,168   )     int  ->  [rbp+0xC4] 
+;  V18 loc16        [V18,T02] ( 10,152   )     int  ->  [rbp+0xC4] 
 ;  V19 loc17        [V19,T18] (  3, 48   )     int  ->  [rbp+0xC0] 
 ;  V20 loc18        [V20,T14] (  4, 56   )   ubyte  ->  [rbp+0xBC]  ptr
 ;  V21 loc19        [V21,T05] (  6, 72   )     int  ->  [rbp+0xB8]  ptr
@@ -673,15 +673,9 @@ G_M27271_IG45:        ; bbWeight=16, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {r
        jmp      G_M27271_IG60
 						;; size=18 bbWeight=16 PerfScore 68.00
 G_M27271_IG46:        ; bbWeight=16, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
-       mov      eax, dword ptr [rbp+0xC4]
-       mov      ecx, eax
-       and      ecx, 0x400
-       mov      dword ptr [rbp+0xC4], eax
-       mov      edx, eax
-       and      edx, 64
-       or       ecx, edx
+       test     dword ptr [rbp+0xC4], 0x440
        je       G_M27271_IG51
-						;; size=33 bbWeight=16 PerfScore 68.00
+						;; size=16 bbWeight=16 PerfScore 32.00
 G_M27271_IG47:        ; bbWeight=16, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
        mov      r8d, dword ptr [rbp+0xB8]
        cmp      r8d, r15d
@@ -1226,7 +1220,7 @@ G_M27271_IG94:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2441, prolog size 82, PerfScore 4707.96, instruction count 577, allocated bytes for code 2441 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (FullOpts)
+; Total bytes of code 2424, prolog size 82, PerfScore 4671.96, instruction count 571, allocated bytes for code 2424 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-0.45%) : 95994.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReclassifyArrayLiteralExpression(ushort,Microsoft.CodeAnalysis.SyntaxNode,int,bool,Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V00 this         [V00,T04] ( 13,  7.50)     ref  ->  rsi         this class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Binder>
 ;  V01 arg1         [V01,T11] (  6,  3   )  ushort  ->  r13         single-def
 ;  V02 arg2         [V02,T07] (  8,  5   )     ref  ->  r14         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V03 arg3         [V03,T05] ( 11,  7.50)     int  ->  rdi        
+;  V03 arg3         [V03,T05] ( 10,  6.50)     int  ->  rdi        
 ;  V04 arg4         [V04,T40] (  3,  1.50)   ubyte  ->  [rbp+0x30]  single-def
 ;  V05 arg5         [V05,T02] ( 20, 10   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral>
 ;  V06 arg6         [V06,T09] ( 11,  5.50)     ref  ->  r15         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
@@ -198,13 +198,9 @@ G_M11402_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[r12]
 						;; size=66 bbWeight=1 PerfScore 15.33
 G_M11402_IG02:        ; bbWeight=1, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref
-       mov      ecx, edi
-       and      ecx, 3
-       mov      edx, edi
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     edi, 0xD1FFAB1E
        je       G_M11402_IG23
-						;; size=21 bbWeight=1 PerfScore 2.25
+						;; size=12 bbWeight=1 PerfScore 1.25
 G_M11402_IG03:        ; bbWeight=0.50, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdx, gword ptr [rbx+0x20]
        ; gcrRegs +[rdx]
@@ -988,7 +984,7 @@ G_M11402_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2002, prolog size 42, PerfScore 275.21, instruction count 458, allocated bytes for code 2002 (MethodHash=359ad375) for method Microsoft.CodeAnalysis.VisualBasic.Binder:ReclassifyArrayLiteralExpression(ushort,Microsoft.CodeAnalysis.SyntaxNode,int,bool,Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
+; Total bytes of code 1993, prolog size 42, PerfScore 274.21, instruction count 454, allocated bytes for code 1993 (MethodHash=359ad375) for method Microsoft.CodeAnalysis.VisualBasic.Binder:ReclassifyArrayLiteralExpression(ushort,Microsoft.CodeAnalysis.SyntaxNode,int,bool,Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-129 (-57.33%) : 258389.dasm - System.IO.FileSystemAclExtensions:GetFileAccessFromRights(int):int (FullOpts)
@@ -8,67 +8,35 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] ( 19, 11   )     int  ->  rcx         single-def
-;  V01 loc0         [V01,T01] (  7,  4   )     int  ->  rbx        
+;  V00 arg0         [V00,T00] (  6,  4.50)     int  ->  rcx         single-def
+;  V01 loc0         [V01,T01] (  8,  4.50)     int  ->  rbx        
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
 ; Lcl frame size = 32
 
-G_M51374_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M51374_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbx
        sub      rsp, 32
 						;; size=5 bbWeight=1 PerfScore 1.25
-G_M51374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M51374_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      ebx, ebx
        mov      edx, ecx
        not      edx
        and      edx, 0xD1FFAB1E
-       je       G_M51374_IG08
-						;; size=18 bbWeight=1 PerfScore 2.00
+       je       SHORT G_M51374_IG05
+						;; size=14 bbWeight=1 PerfScore 2.00
 G_M51374_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      edx, ecx
        not      edx
        and      edx, 0x301BF
-       je       G_M51374_IG08
-       mov      edx, ecx
-       and      edx, 1
-       mov      eax, ecx
-       and      eax, 8
-       or       edx, eax
-       mov      eax, ecx
-       and      eax, 32
-       mov      r8d, ecx
-       and      r8d, 128
-       or       eax, r8d
-       or       edx, eax
-       mov      eax, ecx
-       and      eax, 0x20000
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       or       eax, r8d
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       or       eax, r8d
-       mov      r8d, 1
-       or       edx, eax
-       cmovne   ebx, r8d
-       mov      edx, ecx
-       and      edx, 4
-       mov      eax, ecx
-       and      eax, 0xD1FFAB1E
-       or       edx, eax
-       mov      eax, ecx
-       and      eax, 0x10000
-       mov      r8d, ecx
-       and      r8d, 64
-       or       eax, r8d
-       or       edx, eax
-       je       SHORT G_M51374_IG07
-						;; size=128 bbWeight=0.50 PerfScore 5.62
-G_M51374_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       or       ebx, 2
-						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M51374_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       je       SHORT G_M51374_IG05
+       mov      edx, 1
+       test     ecx, 0xD1FFAB1E
+       cmovne   ebx, edx
+       mov      edx, ebx
+       or       edx, 2
+       test     ecx, 0xD1FFAB1E
+       cmovne   ebx, edx
        mov      rdx, qword ptr [(reloc)]      ; const ptr
        mov      rdx, gword ptr [rdx]
        ; gcrRegs +[rdx]
@@ -77,36 +45,22 @@ G_M51374_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rdx]
        ; gcr arg pop 0
        mov      eax, ebx
-						;; size=20 bbWeight=0.50 PerfScore 3.75
+						;; size=60 bbWeight=0.50 PerfScore 5.75
+G_M51374_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 32
+       pop      rbx
+       ret      
+						;; size=6 bbWeight=0.50 PerfScore 0.88
+G_M51374_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       mov      eax, 3
+						;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M51374_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
        ret      
 						;; size=6 bbWeight=0.50 PerfScore 0.88
-G_M51374_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       mov      edx, ecx
-       and      edx, 256
-       mov      eax, ecx
-       and      eax, 2
-       or       edx, eax
-       mov      eax, ecx
-       and      eax, 16
-       and      ecx, 0xD1FFAB1E
-       or       ecx, eax
-       or       edx, ecx
-       je       SHORT G_M51374_IG05
-       jmp      SHORT G_M51374_IG04
-						;; size=34 bbWeight=0.50 PerfScore 2.75
-G_M51374_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, 3
-						;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M51374_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-       add      rsp, 32
-       pop      rbx
-       ret      
-						;; size=6 bbWeight=0.50 PerfScore 0.88
 
-; Total bytes of code 225, prolog size 5, PerfScore 17.38, instruction count 70, allocated bytes for code 225 (MethodHash=236c3751) for method System.IO.FileSystemAclExtensions:GetFileAccessFromRights(int):int (FullOpts)
+; Total bytes of code 96, prolog size 5, PerfScore 10.88, instruction count 30, allocated bytes for code 96 (MethodHash=236c3751) for method System.IO.FileSystemAclExtensions:GetFileAccessFromRights(int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-52 (-2.02%) : 280457.dasm - Xunit.Sdk.Sha1Digest:ProcessBlock():this (FullOpts)
@@ -10,11 +10,11 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T62] ( 14, 14   )     ref  ->  rcx         this class-hnd single-def <Xunit.Sdk.Sha1Digest>
-;  V01 loc0         [V01,T01] ( 70,290   )     int  ->   r8        
-;  V02 loc1         [V02,T04] ( 68,290   )     int  ->  r11        
-;  V03 loc2         [V03,T05] ( 61,290   )     int  ->  rsi        
-;  V04 loc3         [V04,T03] ( 69,290   )     int  ->  rbp        
-;  V05 loc4         [V05,T02] ( 70,290   )     int  ->  r15        
+;  V01 loc0         [V01,T01] ( 68,282   )     int  ->   r8        
+;  V02 loc1         [V02,T03] ( 67,282   )     int  ->  r11        
+;  V03 loc2         [V03,T05] ( 59,282   )     int  ->  rsi        
+;  V04 loc3         [V04,T04] ( 67,282   )     int  ->  rbp        
+;  V05 loc4         [V05,T02] ( 68,282   )     int  ->  r15        
 ;  V06 loc5         [V06,T00] ( 73,321   )     int  ->  registers  
 ;* V07 loc6         [V07,T69] (  0,  0   )     int  ->  zero-ref   
 ;  V08 loc7         [V08,T63] (  2, 16   )     int  ->   r8        
@@ -349,13 +349,11 @@ G_M42046_IG11:        ; bbWeight=1, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {},
 						;; size=6 bbWeight=1 PerfScore 0.25
 G_M42046_IG12:        ; bbWeight=8, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref
        lea      r14d, [r13+0x01]
-       mov      edi, r11d
-       and      edi, esi
-       mov      ebx, r11d
-       and      ebx, ebp
-       or       ebx, edi
        mov      edi, esi
        and      edi, ebp
+       mov      ebx, esi
+       or       ebx, ebp
+       and      ebx, r11d
        or       ebx, edi
        mov      edi, r8d
        rol      edi, 5
@@ -375,13 +373,11 @@ G_M42046_IG12:        ; bbWeight=8, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {},
        rol      r11d, 30
        mov      edi, r14d
        lea      r14d, [rdi+0x01]
-       mov      ebx, r8d
-       and      ebx, r11d
-       mov      r13d, r8d
-       and      r13d, esi
-       or       ebx, r13d
+       mov      ebx, r11d
+       and      ebx, esi
        mov      r13d, r11d
-       and      r13d, esi
+       or       r13d, esi
+       and      r13d, r8d
        or       ebx, r13d
        mov      r13d, r15d
        rol      r13d, 5
@@ -395,14 +391,12 @@ G_M42046_IG12:        ; bbWeight=8, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {},
        rol      r8d, 30
        mov      ebx, r14d
        lea      r14d, [rbx+0x01]
-       mov      r13d, r15d
-       ; gcrRegs -[r13]
-       and      r13d, r8d
-       mov      edi, r15d
-       and      edi, r11d
-       or       edi, r13d
        mov      r13d, r8d
+       ; gcrRegs -[r13]
        and      r13d, r11d
+       mov      edi, r8d
+       or       edi, r11d
+       and      edi, r15d
        or       edi, r13d
        mov      r13d, ebp
        rol      r13d, 5
@@ -416,19 +410,15 @@ G_M42046_IG12:        ; bbWeight=8, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {},
        rol      r15d, 30
        mov      ebx, r14d
        lea      r14d, [rbx+0x01]
-       mov      r13d, ebp
-       ; gcrRegs -[r13]
-       and      r13d, r15d
-       mov      edi, ebp
-       and      edi, r8d
-       or       edi, r13d
        mov      r13d, r15d
+       ; gcrRegs -[r13]
        and      r13d, r8d
+       mov      edi, r15d
+       or       edi, r8d
+       and      edi, ebp
        or       edi, r13d
        mov      r13d, esi
        rol      r13d, 5
-						;; size=245 bbWeight=8 PerfScore 242.00
-G_M42046_IG13:        ; bbWeight=8, extend
        add      r13d, r11d
        add      edi, r13d
        mov      r11, rax
@@ -437,15 +427,15 @@ G_M42046_IG13:        ; bbWeight=8, extend
        ; gcrRegs -[r11]
        lea      r11d, [rdi+r11+D1FFAB1EH]
        rol      ebp, 30
+						;; size=246 bbWeight=8 PerfScore 260.00
+G_M42046_IG13:        ; bbWeight=8, extend
        mov      ebx, r14d
        lea      r14d, [rbx+0x01]
-       mov      edi, esi
-       and      edi, ebp
-       mov      r13d, esi
-       and      r13d, r15d
-       or       edi, r13d
+       mov      edi, ebp
+       and      edi, r15d
        mov      r13d, ebp
-       and      r13d, r15d
+       or       r13d, r15d
+       and      r13d, esi
        or       edi, r13d
        mov      r13d, r11d
        rol      r13d, 5
@@ -456,7 +446,7 @@ G_M42046_IG13:        ; bbWeight=8, extend
        mov      r8d, dword ptr [r8+4*rbx+0x10]
        ; gcrRegs -[r8]
        lea      r8d, [rdi+r8+D1FFAB1EH]
-						;; size=83 bbWeight=8 PerfScore 92.00
+						;; size=53 bbWeight=8 PerfScore 54.00
 G_M42046_IG14:        ; bbWeight=8, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref
        rol      esi, 30
        dec      r12d
@@ -762,13 +752,11 @@ G_M42046_IG25:        ; bbWeight=0, gcrefRegs=0083 {rax rcx rdi}, byrefRegs=0000
        rol      r11d, 30
        mov      edi, r14d
        lea      r14d, [rdi+0x01]
-       mov      ebx, r8d
-       and      ebx, r11d
-       mov      r13d, r8d
-       and      r13d, esi
-       or       ebx, r13d
+       mov      ebx, r11d
+       and      ebx, esi
        mov      r13d, r11d
-       and      r13d, esi
+       or       r13d, esi
+       and      r13d, r8d
        or       ebx, r13d
        mov      r13d, r15d
        rol      r13d, 5
@@ -784,14 +772,12 @@ G_M42046_IG25:        ; bbWeight=0, gcrefRegs=0083 {rax rcx rdi}, byrefRegs=0000
        rol      r8d, 30
        mov      ebx, r14d
        lea      r14d, [rbx+0x01]
-       mov      edi, r15d
-       and      edi, r8d
-       mov      r13d, r15d
-       ; gcrRegs -[r13]
-       and      r13d, r11d
-       or       edi, r13d
+       mov      edi, r8d
+       and      edi, r11d
        mov      r13d, r8d
-       and      r13d, r11d
+       ; gcrRegs -[r13]
+       or       r13d, r11d
+       and      r13d, r15d
        or       edi, r13d
        mov      r13d, ebp
        rol      r13d, 5
@@ -807,14 +793,12 @@ G_M42046_IG25:        ; bbWeight=0, gcrefRegs=0083 {rax rcx rdi}, byrefRegs=0000
        rol      r15d, 30
        mov      ebx, r14d
        lea      r14d, [rbx+0x01]
-       mov      edi, ebp
-       and      edi, r15d
-       mov      r13d, ebp
-       ; gcrRegs -[r13]
-       and      r13d, r8d
-       or       edi, r13d
+       mov      edi, r15d
+       and      edi, r8d
        mov      r13d, r15d
-       and      r13d, r8d
+       ; gcrRegs -[r13]
+       or       r13d, r8d
+       and      r13d, ebp
        or       edi, r13d
        mov      r13d, esi
        rol      r13d, 5
@@ -827,18 +811,16 @@ G_M42046_IG25:        ; bbWeight=0, gcrefRegs=0083 {rax rcx rdi}, byrefRegs=0000
        mov      r11d, dword ptr [r11+4*rbx+0x10]
        ; gcrRegs -[r11]
        lea      r11d, [rdi+r11+D1FFAB1EH]
-						;; size=245 bbWeight=0 PerfScore 0.00
-G_M42046_IG26:        ; bbWeight=0, extend
        rol      ebp, 30
        mov      ebx, r14d
        lea      r14d, [rbx+0x01]
-       mov      edi, esi
-       and      edi, ebp
-       mov      r13d, esi
-       and      r13d, r15d
-       or       edi, r13d
+       mov      edi, ebp
+       and      edi, r15d
+						;; size=242 bbWeight=0 PerfScore 0.00
+G_M42046_IG26:        ; bbWeight=0, extend
        mov      r13d, ebp
-       and      r13d, r15d
+       or       r13d, r15d
+       and      r13d, esi
        or       edi, r13d
        mov      r13d, r11d
        rol      r13d, 5
@@ -852,7 +834,7 @@ G_M42046_IG26:        ; bbWeight=0, extend
        ; gcrRegs -[r8]
        lea      r8d, [rdi+r8+D1FFAB1EH]
        jmp      G_M42046_IG14
-						;; size=75 bbWeight=0 PerfScore 0.00
+						;; size=55 bbWeight=0 PerfScore 0.00
 G_M42046_IG27:        ; bbWeight=0, gcrefRegs=8003 {rax rcx r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r15]
        cmp      r13d, r9d
@@ -939,7 +921,7 @@ G_M42046_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2572, prolog size 16, PerfScore 1501.75, instruction count 706, allocated bytes for code 2572 (MethodHash=64eb5bc1) for method Xunit.Sdk.Sha1Digest:ProcessBlock():this (FullOpts)
+; Total bytes of code 2520, prolog size 16, PerfScore 1481.75, instruction count 688, allocated bytes for code 2520 (MethodHash=64eb5bc1) for method Xunit.Sdk.Sha1Digest:ProcessBlock():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-1.81%) : 60974.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
@@ -16,7 +16,7 @@
 ;  V05 arg4         [V05,T14] (  1,  4   )     ref  ->  [rbp+0x38]  class-hnd single-def <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;  V06 arg5         [V06,T15] (  1,  4   )   ubyte  ->  [rbp+0x40]  single-def
 ;  V07 arg6         [V07,T08] (  3,  5.50)   byref  ->  r15         single-def
-;  V08 arg7         [V08,T09] (  3,  5   )  ushort  ->  r13         single-def
+;  V08 arg7         [V08,T09] (  2,  4.50)  ushort  ->  r13         single-def
 ;  V09 arg8         [V09,T19] (  1,  1   )   ubyte  ->  [rbp+0x58]  single-def
 ;  V10 loc0         [V10    ] (  3,  5.50)     ref  ->  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon]]>
 ;  V11 loc1         [V11,T01] (  5, 17   )     int  ->  [rbp-0x4C] 
@@ -172,10 +172,7 @@ G_M55161_IG07:        ; bbWeight=1, gcrefRegs=4040 {rsi r14}, byrefRegs=8000 {r1
 						;; size=55 bbWeight=1 PerfScore 16.25
 G_M55161_IG08:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=8000 {r15}, byref, isz
        movzx    rcx, r13w
-       and      ecx, 64
-       movzx    rax, r13w
-       and      eax, 512
-       or       ecx, eax
+       test     ecx, 576
        jne      SHORT G_M55161_IG09
        mov      rcx, rdi
        call     [CORINFO_HELP_READYTORUN_GENERIC_HANDLE]
@@ -188,7 +185,7 @@ G_M55161_IG08:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=8000 {r15
        ; gcrRegs -[rdx rsi]
        ; byrRegs -[r8 r15]
        jmp      SHORT G_M55161_IG10
-						;; size=46 bbWeight=0.50 PerfScore 5.62
+						;; size=38 bbWeight=0.50 PerfScore 5.25
 G_M55161_IG09:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
        mov      rcx, rdi
@@ -215,7 +212,7 @@ G_M55161_IG11:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=20 bbWeight=1 PerfScore 5.25
 
-; Total bytes of code 442, prolog size 37, PerfScore 198.75, instruction count 124, allocated bytes for code 442 (MethodHash=bcc22886) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
+; Total bytes of code 434, prolog size 37, PerfScore 198.38, instruction count 121, allocated bytes for code 434 (MethodHash=bcc22886) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PerformMemberOverloadResolutionStart[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.__Canon],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,bool,byref,ushort,bool):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-3.24%) : 186718.dasm - Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:DecodeLocalVariableTypeOrThrow(System.Collections.Immutable.ImmutableArray`1[byte]):System.__Canon:this (FullOpts)
@@ -20,7 +20,7 @@
 ;  V08 tmp1         [V08,T05] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.UnsupportedSignatureContent>
 ;  V09 tmp2         [V09,T06] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.UnsupportedSignatureContent>
 ;  V10 tmp3         [V10    ] (  6,  6   )     ref  ->  [rsp+0xA8]  do-not-enreg[X] addr-exposed single-def "field V01.array (fldOffset=0x0)" P-DEP
-;  V11 tmp4         [V11,T04] (  3,  3   )   ubyte  ->  rax         single-def "V06.[016..017)"
+;  V11 tmp4         [V11,T04] (  2,  2   )   ubyte  ->  rax         single-def "V06.[016..017)"
 ;  V12 tmp5         [V12,T01] (  2,  4   )    long  ->  rdx         "Cast away GC"
 ;  V13 tmp6         [V13,T02] (  2,  4   )    long  ->  rdx         "argument with side effect"
 ;
@@ -75,14 +75,11 @@ G_M41458_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        cmp      dword ptr [rbx], ebx
        movzx    rax, byte  ptr [rsp+0x38]
-       mov      ecx, eax
-       and      ecx, 1
-       and      eax, 2
-       or       eax, ecx
+       test     al, 3
        jne      SHORT G_M41458_IG05
        mov      rax, gword ptr [rsp+0x30]
        ; gcrRegs +[rax]
-						;; size=124 bbWeight=1 PerfScore 31.00
+						;; size=116 bbWeight=1 PerfScore 30.25
 G_M41458_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 136
        pop      rbx
@@ -127,7 +124,7 @@ G_M41458_IG05:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 247, prolog size 46, PerfScore 42.33, instruction count 57, allocated bytes for code 247 (MethodHash=74a85e0d) for method Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:DecodeLocalVariableTypeOrThrow(System.Collections.Immutable.ImmutableArray`1[byte]):System.__Canon:this (FullOpts)
+; Total bytes of code 239, prolog size 46, PerfScore 41.58, instruction count 54, allocated bytes for code 239 (MethodHash=74a85e0d) for method Microsoft.CodeAnalysis.MetadataDecoder`5[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:DecodeLocalVariableTypeOrThrow(System.Collections.Immutable.ImmutableArray`1[byte]):System.__Canon:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
libraries.pmi.windows.x64.checked.mch
-16 (-29.63%) : 70963.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken:ClearFlagIfMissing():this (FullOpts)
@@ -13,7 +13,6 @@
 ;  V02 tmp1         [V02,T01] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V03 tmp2         [V03    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V04 cse0         [V04,T02] (  3,  1.50)     int  ->  rax         "CSE #01: aggressive"
-;  V05 cse1         [V05,T03] (  3,  1.50)     int  ->  rax         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -36,19 +35,14 @@ G_M26237_IG03:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
        add      rcx, 14
        ; gcrRegs -[rcx]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
-						;; size=43 bbWeight=0.50 PerfScore 4.38
+       and      word  ptr [rcx], 0xFFFE
+						;; size=27 bbWeight=0.50 PerfScore 3.88
 G_M26237_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rcx]
        ret      
 						;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 54, prolog size 0, PerfScore 10.38, instruction count 16, allocated bytes for code 54 (MethodHash=ad9c9982) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken:ClearFlagIfMissing():this (FullOpts)
+; Total bytes of code 38, prolog size 0, PerfScore 9.88, instruction count 11, allocated bytes for code 38 (MethodHash=ad9c9982) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken:ClearFlagIfMissing():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-20 (-16.81%) : 81660.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:Classify_Reference_Array_TypeParameterConversion(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,int,byref):int (FullOpts)
@@ -8,11 +8,11 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  5,  4   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
-;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
-;  V02 arg2         [V02,T04] (  5,  4   )     int  ->  rbp         single-def
-;  V03 arg3         [V03,T03] (  5,  4   )   byref  ->  rdi         single-def
-;  V04 loc0         [V04,T00] (  8,  6   )     int  ->  rax        
+;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+;  V01 arg1         [V01,T01] (  5,  4   )     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+;  V02 arg2         [V02,T03] (  5,  4   )     int  ->  rbp         single-def
+;  V03 arg3         [V03,T02] (  5,  4   )   byref  ->  rdi         single-def
+;  V04 loc0         [V04,T04] (  6,  4.50)     int  ->  rax        
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
 ; Lcl frame size = 40
@@ -43,13 +43,9 @@ G_M15585_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        ; gcrRegs -[rcx rdx]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        je       SHORT G_M15585_IG04
-						;; size=35 bbWeight=1 PerfScore 6.25
+						;; size=25 bbWeight=1 PerfScore 5.25
 G_M15585_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx rsi]
        ; byrRegs -[rdi]
@@ -74,11 +70,7 @@ G_M15585_IG04:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=004
        ; gcrRegs -[rcx rdx]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        jne      SHORT G_M15585_IG03
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -92,9 +84,9 @@ G_M15585_IG04:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=004
        ; byrRegs -[rdi r9]
        ; gcr arg pop 0
        jmp      SHORT G_M15585_IG03
-						;; size=55 bbWeight=0.50 PerfScore 6.12
+						;; size=45 bbWeight=0.50 PerfScore 5.62
 
-; Total bytes of code 119, prolog size 8, PerfScore 20.88, instruction count 43, allocated bytes for code 119 (MethodHash=0982c31e) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:Classify_Reference_Array_TypeParameterConversion(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,int,byref):int (FullOpts)
+; Total bytes of code 99, prolog size 8, PerfScore 19.38, instruction count 35, allocated bytes for code 99 (MethodHash=0982c31e) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:Classify_Reference_Array_TypeParameterConversion(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,int,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-20 (-9.39%) : 39458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -18,9 +18,8 @@
 ;* V07 tmp6         [V07    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V08 tmp7         [V08,T05] (  3,  3   )     ref  ->  rax         single-def "arr expr"
 ;  V09 cse0         [V09,T07] (  3,  1.50)     int  ->   r8         "CSE #02: aggressive"
-;  V10 cse1         [V10,T08] (  3,  1.50)     int  ->  rdx         "CSE #04: aggressive"
-;  V11 cse2         [V11,T02] (  5,  3.50)     int  ->  rsi         "CSE #01: aggressive"
-;  V12 cse3         [V12,T06] (  3,  1.50)   byref  ->  rcx         "CSE #03: aggressive"
+;  V10 cse1         [V10,T02] (  5,  3.50)     int  ->  rsi         "CSE #01: aggressive"
+;  V11 cse2         [V11,T06] (  3,  1.50)   byref  ->  rcx         "CSE #03: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -60,14 +59,8 @@ G_M29564_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        or       r8d, r10d
        or       r8d, 1
        mov      word  ptr [rdx], r8w
-       movzx    rdx, word  ptr [rcx]
-       ; byrRegs -[rdx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
-						;; size=96 bbWeight=0.50 PerfScore 6.88
+       and      word  ptr [rcx], 0xFFFE
+						;; size=76 bbWeight=0.50 PerfScore 6.38
 G_M29564_IG05:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -76,7 +69,7 @@ G_M29564_IG05:        ; bbWeight=0.50, epilog, nogc, extend
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M29564_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx rdx]
        mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
        mov      rax, gword ptr [rax]
        ; gcrRegs +[rax]
@@ -116,7 +109,7 @@ G_M29564_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 213, prolog size 6, PerfScore 22.12, instruction count 56, allocated bytes for code 213 (MethodHash=67038c83) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 193, prolog size 6, PerfScore 21.62, instruction count 51, allocated bytes for code 193 (MethodHash=67038c83) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-9.09%) : 72015.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxFactory:get_MissingEmptyToken():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax (FullOpts)
@@ -15,10 +15,9 @@
 ;  V04 tmp4         [V04,T03] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
 ;  V05 tmp5         [V05,T04] (  3,  3   )   byref  ->  rax         single-def "dup spill"
 ;* V06 tmp6         [V06    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V07 cse0         [V07,T07] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
+;* V07 cse0         [V07,T06] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V08 cse1         [V08,T05] (  3,  1.50)     int  ->  rax         "CSE #01: aggressive"
-;  V09 cse2         [V09,T06] (  3,  1.50)     int  ->  rcx         "CSE #06: aggressive"
-;  V10 cse3         [V10,T01] (  5,  4   )    long  ->  rbx         "CSE #04: aggressive"
+;  V09 cse2         [V09,T01] (  5,  4   )    long  ->  rbx         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -75,13 +74,8 @@ G_M30808_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        add      rax, 14
        ; gcrRegs -[rax]
        ; byrRegs +[rax]
-       movzx    rcx, word  ptr [rax]
-       mov      edx, ecx
-       and      edx, 0xF000
-       and      ecx, 0xFFE
-       or       ecx, edx
-       mov      word  ptr [rax], cx
-						;; size=122 bbWeight=0.50 PerfScore 11.38
+       and      word  ptr [rax], 0xFFFE
+						;; size=105 bbWeight=0.50 PerfScore 10.88
 G_M30808_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; byrRegs -[rax]
        mov      rax, gword ptr [rbx]
@@ -101,7 +95,7 @@ G_M30808_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        jmp      G_M30808_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 187, prolog size 6, PerfScore 24.12, instruction count 46, allocated bytes for code 187 (MethodHash=547787a7) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxFactory:get_MissingEmptyToken():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax (FullOpts)
+; Total bytes of code 170, prolog size 6, PerfScore 23.62, instruction count 41, allocated bytes for code 170 (MethodHash=547787a7) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxFactory:get_MissingEmptyToken():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax (FullOpts)
 ; ============================================================
 
 Unwind Info:
-14 (-9.03%) : 232183.dasm - System.Speech.Recognition.RecognizerBase:ConvertCompareOptions(int):int (FullOpts)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  7,  7   )     int  ->  rcx         single-def
+;  V00 arg0         [V00,T01] (  6,  6   )     int  ->  rcx         single-def
 ;* V01 loc0         [V01    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V02 loc1         [V02,T00] ( 10, 10   )     int  ->  rax        
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
@@ -24,13 +24,9 @@ G_M61916_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M61916_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      eax, eax
-       mov      edx, ecx
-       and      edx, 1
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       mov      r10d, 1
-       or       edx, r8d
-       cmovne   eax, r10d
+       mov      edx, 1
+       test     ecx, 0xD1FFAB1E
+       cmovne   eax, edx
        mov      edx, eax
        or       edx, 0x10000
        test     cl, 8
@@ -41,7 +37,7 @@ G_M61916_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        cmovne   eax, edx
        test     ecx, 0xD1FFAB1E
        jne      SHORT G_M61916_IG04
-						;; size=66 bbWeight=1 PerfScore 6.00
+						;; size=52 bbWeight=1 PerfScore 5.00
 G_M61916_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
@@ -80,7 +76,7 @@ G_M61916_IG04:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=78 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 155, prolog size 5, PerfScore 9.00, instruction count 38, allocated bytes for code 155 (MethodHash=85610e23) for method System.Speech.Recognition.RecognizerBase:ConvertCompareOptions(int):int (FullOpts)
+; Total bytes of code 141, prolog size 5, PerfScore 8.00, instruction count 34, allocated bytes for code 141 (MethodHash=85610e23) for method System.Speech.Recognition.RecognizerBase:ConvertCompareOptions(int):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-8.67%) : 54895.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:.ctor(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):this (FullOpts)
@@ -19,8 +19,7 @@
 ;  V08 tmp4         [V08,T04] (  3,  6   )   byref  ->  rbp         single-def "dup spill"
 ;* V09 tmp5         [V09    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V10 cse0         [V10,T07] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V11 cse1         [V11,T08] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V12 cse2         [V12,T06] (  3,  3   )   byref  ->  rbp         "CSE #02: aggressive"
+;  V11 cse1         [V11,T06] (  3,  3   )   byref  ->  rbp         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -106,13 +105,8 @@ G_M20210_IG06:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0020
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M20210_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0020 {rbp}, byref
-       movzx    rax, word  ptr [rbp]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbp], ax
-						;; size=23 bbWeight=1 PerfScore 4.00
+       and      word  ptr [rbp], 0xFFFE
+						;; size=6 bbWeight=1 PerfScore 3.00
 G_M20210_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -130,7 +124,7 @@ G_M20210_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00C8 {
        jmp      G_M20210_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 196, prolog size 8, PerfScore 39.50, instruction count 58, allocated bytes for code 196 (MethodHash=a541b10d) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:.ctor(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):this (FullOpts)
+; Total bytes of code 179, prolog size 8, PerfScore 38.50, instruction count 53, allocated bytes for code 179 (MethodHash=a541b10d) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:.ctor(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-8.08%) : 39459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -19,8 +19,7 @@
 ;  V08 tmp5         [V08,T04] (  3,  6   )   byref  ->  rdi         single-def "dup spill"
 ;* V09 tmp6         [V09    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V10 cse0         [V10,T07] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V11 cse1         [V11,T08] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V12 cse2         [V12,T06] (  3,  3   )   byref  ->  rdi         "CSE #02: aggressive"
+;  V11 cse1         [V11,T06] (  3,  3   )   byref  ->  rdi         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -103,15 +102,10 @@ G_M15036_IG06:        ; bbWeight=0.50, gcrefRegs=0060 {rbp rsi}, byrefRegs=0080
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M15036_IG07:        ; bbWeight=1, gcrefRegs=0020 {rbp}, byrefRegs=0080 {rdi}, byref
-       movzx    rax, word  ptr [rdi]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rdi], ax
+       and      word  ptr [rdi], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M15036_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -129,7 +123,7 @@ G_M15036_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0048 {
        jmp      G_M15036_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 198, prolog size 8, PerfScore 32.00, instruction count 57, allocated bytes for code 198 (MethodHash=5225c543) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 182, prolog size 8, PerfScore 31.00, instruction count 52, allocated bytes for code 182 (MethodHash=5225c543) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-8.08%) : 39176.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory:MissingToken(Microsoft.CodeAnalysis.GreenNode,ushort,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -18,10 +18,9 @@
 ;* V07 tmp4         [V07    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V08 tmp5         [V08,T04] (  3,  6   )   byref  ->  rdi         single-def "dup spill"
 ;* V09 tmp6         [V09    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V10 cse0         [V10,T09] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
+;* V10 cse0         [V10,T08] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
 ;  V11 cse1         [V11,T07] (  3,  3   )     int  ->  rdx         "CSE #03: aggressive"
-;  V12 cse2         [V12,T08] (  3,  3   )     int  ->  rax         "CSE #05: aggressive"
-;  V13 cse3         [V13,T06] (  3,  3   )   byref  ->  rdi         "CSE #04: aggressive"
+;  V12 cse2         [V12,T06] (  3,  3   )   byref  ->  rdi         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -104,15 +103,10 @@ G_M10220_IG06:        ; bbWeight=0.50, gcrefRegs=0060 {rbp rsi}, byrefRegs=0080
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M10220_IG07:        ; bbWeight=1, gcrefRegs=0020 {rbp}, byrefRegs=0080 {rdi}, byref
-       movzx    rax, word  ptr [rdi]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rdi], ax
+       and      word  ptr [rdi], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M10220_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -130,7 +124,7 @@ G_M10220_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0048 {
        jmp      G_M10220_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 198, prolog size 8, PerfScore 32.00, instruction count 57, allocated bytes for code 198 (MethodHash=bb01d813) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory:MissingToken(Microsoft.CodeAnalysis.GreenNode,ushort,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 182, prolog size 8, PerfScore 31.00, instruction count 52, allocated bytes for code 182 (MethodHash=bb01d813) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory:MissingToken(Microsoft.CodeAnalysis.GreenNode,ushort,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-7.94%) : 54896.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:.ctor(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[]):this (FullOpts)
@@ -12,8 +12,8 @@
 ;  V01 arg1         [V01,T05] (  3,  3   )  ushort  ->  rbp         single-def
 ;  V02 arg2         [V02,T01] (  5,  4   )     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V03 arg3         [V03,T02] (  5,  4   )     ref  ->  rdi         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
-;  V04 arg4         [V04,T09] (  1,  1   )     ref  ->  [rsp+0x70]  class-hnd single-def <Microsoft.CodeAnalysis.DiagnosticInfo[]>
-;  V05 arg5         [V05,T10] (  1,  1   )     ref  ->  [rsp+0x78]  class-hnd single-def <Microsoft.CodeAnalysis.SyntaxAnnotation[]>
+;  V04 arg4         [V04,T08] (  1,  1   )     ref  ->  [rsp+0x70]  class-hnd single-def <Microsoft.CodeAnalysis.DiagnosticInfo[]>
+;  V05 arg5         [V05,T09] (  1,  1   )     ref  ->  [rsp+0x78]  class-hnd single-def <Microsoft.CodeAnalysis.SyntaxAnnotation[]>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V08 tmp2         [V08,T03] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
@@ -21,8 +21,7 @@
 ;  V10 tmp4         [V10,T04] (  3,  6   )   byref  ->  rbp         single-def "dup spill"
 ;* V11 tmp5         [V11    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V12 cse0         [V12,T07] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V13 cse1         [V13,T08] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V14 cse2         [V14,T06] (  3,  3   )   byref  ->  rbp         "CSE #02: aggressive"
+;  V13 cse1         [V13,T06] (  3,  3   )   byref  ->  rbp         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -117,13 +116,8 @@ G_M35765_IG06:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0020
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M35765_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0020 {rbp}, byref
-       movzx    rax, word  ptr [rbp]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbp], ax
-						;; size=23 bbWeight=1 PerfScore 4.00
+       and      word  ptr [rbp], 0xFFFE
+						;; size=6 bbWeight=1 PerfScore 3.00
 G_M35765_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -141,7 +135,7 @@ G_M35765_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00C8 {
        jmp      G_M35765_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 214, prolog size 8, PerfScore 44.00, instruction count 62, allocated bytes for code 214 (MethodHash=464d744a) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:.ctor(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[]):this (FullOpts)
+; Total bytes of code 197, prolog size 8, PerfScore 43.00, instruction count 57, allocated bytes for code 197 (MethodHash=464d744a) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:.ctor(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.DiagnosticInfo[],Microsoft.CodeAnalysis.SyntaxAnnotation[]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-7.24%) : 28135.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFactory:MissingToken(Microsoft.CodeAnalysis.SyntaxTriviaList,ushort,Microsoft.CodeAnalysis.SyntaxTriviaList):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
@@ -26,10 +26,9 @@
 ;* V15 tmp11        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V16 tmp12        [V16    ] (  0,  0   )     int  ->  zero-ref    "field V06.<Index>k__BackingField (fldOffset=0x10)" P-INDEP
 ;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V06.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
-;* V18 cse0         [V18,T12] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
+;* V18 cse0         [V18,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
 ;  V19 cse1         [V19,T10] (  3,  3   )     int  ->  rdx         "CSE #03: aggressive"
-;  V20 cse2         [V20,T11] (  3,  3   )     int  ->  rax         "CSE #05: aggressive"
-;  V21 cse3         [V21,T09] (  3,  3   )   byref  ->  rsi         "CSE #04: aggressive"
+;  V20 cse2         [V20,T09] (  3,  3   )   byref  ->  rsi         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -116,17 +115,12 @@ G_M13657_IG06:        ; bbWeight=0.50, gcrefRegs=4020 {rbp r14}, byrefRegs=0040
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M13657_IG07:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi}, byref
-       movzx    rax, word  ptr [rsi]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rsi], ax
+       and      word  ptr [rsi], 0xFFFE
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rbx], rax
        mov      gword ptr [rbx+0x08], r14
-						;; size=30 bbWeight=1 PerfScore 6.25
+						;; size=14 bbWeight=1 PerfScore 5.25
 G_M13657_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r14]
        ; byrRegs -[rsi]
@@ -150,7 +144,7 @@ G_M13657_IG10:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00A0 {
        jmp      G_M13657_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 221, prolog size 10, PerfScore 40.50, instruction count 64, allocated bytes for code 221 (MethodHash=353ccaa6) for method Microsoft.CodeAnalysis.CSharp.SyntaxFactory:MissingToken(Microsoft.CodeAnalysis.SyntaxTriviaList,ushort,Microsoft.CodeAnalysis.SyntaxTriviaList):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
+; Total bytes of code 205, prolog size 10, PerfScore 39.50, instruction count 59, allocated bytes for code 205 (MethodHash=353ccaa6) for method Microsoft.CodeAnalysis.CSharp.SyntaxFactory:MissingToken(Microsoft.CodeAnalysis.SyntaxTriviaList,ushort,Microsoft.CodeAnalysis.SyntaxTriviaList):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-18 (-6.79%) : 29377.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser:ParseLeadingTrivia():Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser+Result:this (FullOpts)
@@ -11,8 +11,8 @@
 ;  V00 this         [V00,T06] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser>
 ;  V01 RetBuf       [V01,T01] (  9,  9   )    long  ->  rbx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack>
-;  V03 loc1         [V03,T12] (  2,  2   )     int  ->  rbp         single-def
-;  V04 loc2         [V04,T13] (  2,  2   )  struct (40) [rsp+0x28]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <Microsoft.CodeAnalysis.SyntaxTriviaList>
+;  V03 loc1         [V03,T11] (  2,  2   )     int  ->  rbp         single-def
+;  V04 loc2         [V04,T12] (  2,  2   )  struct (40) [rsp+0x28]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <Microsoft.CodeAnalysis.SyntaxTriviaList>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxToken>
@@ -27,8 +27,8 @@
 ;  V16 tmp10        [V16,T04] (  3,  6   )   byref  ->  r13         single-def "dup spill"
 ;* V17 tmp11        [V17    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp12        [V18    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V19 tmp13        [V19,T11] (  2,  2   )     ref  ->  rsi         single-def "field V02._directives (fldOffset=0x0)" P-INDEP
-;  V20 tmp14        [V20,T14] (  2,  2   )   ubyte  ->  rdi         single-def "field V02._seenAnyIfDirectives (fldOffset=0x8)" P-INDEP
+;  V19 tmp13        [V19,T10] (  2,  2   )     ref  ->  rsi         single-def "field V02._directives (fldOffset=0x0)" P-INDEP
+;  V20 tmp14        [V20,T13] (  2,  2   )   ubyte  ->  rdi         single-def "field V02._seenAnyIfDirectives (fldOffset=0x8)" P-INDEP
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07.<Parent>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V23 tmp17        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07.<Index>k__BackingField (fldOffset=0x10)" P-INDEP
@@ -38,13 +38,12 @@
 ;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "V08.[016..020)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    single-def "V08.[020..024)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V08.[024..032)"
-;  V30 tmp24        [V30,T15] (  2,  2   )   ubyte  ->  rdi         single-def "V08.[032..033)"
+;  V30 tmp24        [V30,T14] (  2,  2   )   ubyte  ->  rdi         single-def "V08.[032..033)"
 ;  V31 tmp25        [V31,T05] (  3,  6   )     ref  ->  rdx         single-def "BlockOp address local"
-;* V32 cse0         [V32,T16] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
+;* V32 cse0         [V32,T15] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V33 cse1         [V33,T07] (  4,  4   )     ref  ->  rcx         "CSE #01: aggressive"
 ;  V34 cse2         [V34,T09] (  3,  3   )     int  ->  rdx         "CSE #04: aggressive"
-;  V35 cse3         [V35,T10] (  3,  3   )     int  ->  rax         "CSE #06: aggressive"
-;  V36 cse4         [V36,T08] (  3,  3   )   byref  ->  r13         "CSE #05: aggressive"
+;  V35 cse3         [V35,T08] (  3,  3   )   byref  ->  r13         "CSE #05: aggressive"
 ;
 ; Lcl frame size = 80
 
@@ -125,17 +124,12 @@ G_M51853_IG04:        ; bbWeight=0.50, gcrefRegs=C040 {rsi r14 r15}, byrefRegs=2
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M51853_IG05:        ; bbWeight=1, gcrefRegs=8040 {rsi r15}, byrefRegs=2000 {r13}, byref
-       movzx    rax, word  ptr [r13]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [r13], ax
+       and      word  ptr [r13], 0xFFFE
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rbx], rax
        mov      gword ptr [rbx+0x08], r15
-						;; size=34 bbWeight=1 PerfScore 6.25
+						;; size=16 bbWeight=1 PerfScore 5.25
 G_M51853_IG06:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
        ; byrRegs -[r13]
@@ -164,7 +158,7 @@ G_M51853_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4040 {
        jmp      G_M51853_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 265, prolog size 31, PerfScore 53.71, instruction count 72, allocated bytes for code 265 (MethodHash=25e03572) for method Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser:ParseLeadingTrivia():Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser+Result:this (FullOpts)
+; Total bytes of code 247, prolog size 31, PerfScore 52.71, instruction count 67, allocated bytes for code 247 (MethodHash=25e03572) for method Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser:ParseLeadingTrivia():Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser+Result:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-18 (-6.79%) : 29378.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser:ParseTrailingTrivia():Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser+Result:this (FullOpts)
@@ -11,8 +11,8 @@
 ;  V00 this         [V00,T06] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser>
 ;  V01 RetBuf       [V01,T01] (  9,  9   )    long  ->  rbx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack>
-;  V03 loc1         [V03,T12] (  2,  2   )     int  ->  rbp         single-def
-;  V04 loc2         [V04,T13] (  2,  2   )  struct (40) [rsp+0x28]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <Microsoft.CodeAnalysis.SyntaxTriviaList>
+;  V03 loc1         [V03,T11] (  2,  2   )     int  ->  rbp         single-def
+;  V04 loc2         [V04,T12] (  2,  2   )  struct (40) [rsp+0x28]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op <Microsoft.CodeAnalysis.SyntaxTriviaList>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxToken>
@@ -27,8 +27,8 @@
 ;  V16 tmp10        [V16,T04] (  3,  6   )   byref  ->  r13         single-def "dup spill"
 ;* V17 tmp11        [V17    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp12        [V18    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V19 tmp13        [V19,T11] (  2,  2   )     ref  ->  rsi         single-def "field V02._directives (fldOffset=0x0)" P-INDEP
-;  V20 tmp14        [V20,T14] (  2,  2   )   ubyte  ->  rdi         single-def "field V02._seenAnyIfDirectives (fldOffset=0x8)" P-INDEP
+;  V19 tmp13        [V19,T10] (  2,  2   )     ref  ->  rsi         single-def "field V02._directives (fldOffset=0x0)" P-INDEP
+;  V20 tmp14        [V20,T13] (  2,  2   )   ubyte  ->  rdi         single-def "field V02._seenAnyIfDirectives (fldOffset=0x8)" P-INDEP
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07.<Parent>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07.<Node>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V23 tmp17        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V07.<Index>k__BackingField (fldOffset=0x10)" P-INDEP
@@ -38,13 +38,12 @@
 ;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "V08.[016..020)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    single-def "V08.[020..024)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V08.[024..032)"
-;  V30 tmp24        [V30,T15] (  2,  2   )   ubyte  ->  rdi         single-def "V08.[032..033)"
+;  V30 tmp24        [V30,T14] (  2,  2   )   ubyte  ->  rdi         single-def "V08.[032..033)"
 ;  V31 tmp25        [V31,T05] (  3,  6   )     ref  ->  rdx         single-def "BlockOp address local"
-;* V32 cse0         [V32,T16] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
+;* V32 cse0         [V32,T15] (  0,  0   )   byref  ->  zero-ref    "CSE #03: aggressive"
 ;  V33 cse1         [V33,T07] (  4,  4   )     ref  ->  rcx         "CSE #01: aggressive"
 ;  V34 cse2         [V34,T09] (  3,  3   )     int  ->  rdx         "CSE #04: aggressive"
-;  V35 cse3         [V35,T10] (  3,  3   )     int  ->  rax         "CSE #06: aggressive"
-;  V36 cse4         [V36,T08] (  3,  3   )   byref  ->  r13         "CSE #05: aggressive"
+;  V35 cse3         [V35,T08] (  3,  3   )   byref  ->  r13         "CSE #05: aggressive"
 ;
 ; Lcl frame size = 80
 
@@ -125,17 +124,12 @@ G_M42883_IG04:        ; bbWeight=0.50, gcrefRegs=C040 {rsi r14 r15}, byrefRegs=2
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M42883_IG05:        ; bbWeight=1, gcrefRegs=8040 {rsi r15}, byrefRegs=2000 {r13}, byref
-       movzx    rax, word  ptr [r13]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [r13], ax
+       and      word  ptr [r13], 0xFFFE
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rbx], rax
        mov      gword ptr [rbx+0x08], r15
-						;; size=34 bbWeight=1 PerfScore 6.25
+						;; size=16 bbWeight=1 PerfScore 5.25
 G_M42883_IG06:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
        ; byrRegs -[r13]
@@ -164,7 +158,7 @@ G_M42883_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4040 {
        jmp      G_M42883_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 265, prolog size 31, PerfScore 53.71, instruction count 72, allocated bytes for code 265 (MethodHash=2566587c) for method Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser:ParseTrailingTrivia():Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser+Result:this (FullOpts)
+; Total bytes of code 247, prolog size 31, PerfScore 52.71, instruction count 67, allocated bytes for code 247 (MethodHash=2566587c) for method Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser:ParseTrailingTrivia():Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser+Result:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-6.61%) : 54893.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetDiagnostics(Microsoft.CodeAnalysis.DiagnosticInfo[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
@@ -26,8 +26,7 @@
 ;  V15 tmp13        [V15,T05] (  3,  6   )   byref  ->  rbx         single-def "dup spill"
 ;* V16 tmp14        [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V17 cse0         [V17,T10] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V18 cse1         [V18,T11] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V19 cse2         [V19,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
+;  V18 cse1         [V18,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -132,15 +131,10 @@ G_M59497_IG06:        ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0008
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M59497_IG07:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref
-       movzx    rax, word  ptr [rbx]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbx], ax
+       and      word  ptr [rbx], 0xFFFE
        mov      rax, r15
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M59497_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -160,7 +154,7 @@ G_M59497_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=C068 {
        jmp      G_M59497_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 12, PerfScore 47.25, instruction count 70, allocated bytes for code 242 (MethodHash=d2901796) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetDiagnostics(Microsoft.CodeAnalysis.DiagnosticInfo[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
+; Total bytes of code 226, prolog size 12, PerfScore 46.25, instruction count 65, allocated bytes for code 226 (MethodHash=d2901796) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetDiagnostics(Microsoft.CodeAnalysis.DiagnosticInfo[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-6.61%) : 54894.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetAnnotations(Microsoft.CodeAnalysis.SyntaxAnnotation[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
@@ -26,8 +26,7 @@
 ;  V15 tmp13        [V15,T05] (  3,  6   )   byref  ->  rbx         single-def "dup spill"
 ;* V16 tmp14        [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V17 cse0         [V17,T10] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V18 cse1         [V18,T11] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V19 cse2         [V19,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
+;  V18 cse1         [V18,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -132,15 +131,10 @@ G_M46254_IG06:        ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0008
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M46254_IG07:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref
-       movzx    rax, word  ptr [rbx]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbx], ax
+       and      word  ptr [rbx], 0xFFFE
        mov      rax, r15
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M46254_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -160,7 +154,7 @@ G_M46254_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=C068 {
        jmp      G_M46254_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 242, prolog size 12, PerfScore 47.25, instruction count 70, allocated bytes for code 242 (MethodHash=ad084b51) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetAnnotations(Microsoft.CodeAnalysis.SyntaxAnnotation[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
+; Total bytes of code 226, prolog size 12, PerfScore 46.25, instruction count 65, allocated bytes for code 226 (MethodHash=ad084b51) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetAnnotations(Microsoft.CodeAnalysis.SyntaxAnnotation[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-24 (-6.49%) : 72908.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:TryParseCrefReference():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax:this (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 loc1         [V02,T09] (  3,  2.50)     ref  ->  rdi         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefSignatureSyntax>
 ;  V03 loc2         [V03,T10] (  3,  2.50)     ref  ->  rbp         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SimpleAsClauseSyntax>
 ;  V04 loc3         [V04,T03] (  4,  3.50)     ref  ->  rax         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
-;  V05 loc4         [V05,T14] (  2,  1   )     ref  ->  rbp         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.KeywordSyntax>
-;  V06 loc5         [V06,T15] (  2,  1   )     ref  ->   r9         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.TypeSyntax>
+;  V05 loc4         [V05,T13] (  2,  1   )     ref  ->  rbp         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.KeywordSyntax>
+;  V06 loc5         [V06,T14] (  2,  1   )     ref  ->   r9         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.TypeSyntax>
 ;* V07 loc6         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.GreenNode]>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->  rcx         class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
@@ -29,9 +29,8 @@
 ;  V18 tmp10        [V18,T05] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
 ;* V19 tmp11        [V19    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._node (fldOffset=0x0)" P-INDEP
-;  V21 cse0         [V21,T12] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
-;  V22 rat0         [V22,T04] (  4,  3.50)     ref  ->  rbp         "replacement local"
-;  V23 rat1         [V23,T13] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
+;  V21 rat0         [V21,T04] (  4,  3.50)     ref  ->  rbp         "replacement local"
+;  V22 rat1         [V22,T12] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 32
 
@@ -146,11 +145,11 @@ G_M13379_IG07:        ; bbWeight=0.50, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRe
        test     rbp, rbp
        je       SHORT G_M13379_IG09
 						;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M13379_IG08:        ; bbWeight=0.25, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byrefRegs=0000 {}, byref
+G_M13379_IG08:        ; bbWeight=0.25, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byrefRegs=0000 {}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.KeywordSyntax
        cmp      qword ptr [rbp], rcx
-       jne      G_M13379_IG13
-						;; size=20 bbWeight=0.25 PerfScore 0.81
+       jne      SHORT G_M13379_IG13
+						;; size=16 bbWeight=0.25 PerfScore 0.81
 G_M13379_IG09:        ; bbWeight=0.50, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        xor      edx, edx
@@ -206,13 +205,8 @@ G_M13379_IG10:        ; bbWeight=1, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
 G_M13379_IG11:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
        lea      rdx, bword ptr [rax+0x0E]
        ; byrRegs +[rdx]
-       movzx    rcx, word  ptr [rdx]
-       mov      r8d, ecx
-       and      r8d, 0xF000
-       and      ecx, 0xF7F
-       or       ecx, r8d
-       mov      word  ptr [rdx], cx
-						;; size=29 bbWeight=0.50 PerfScore 2.25
+       and      word  ptr [rdx], 0xFF7F
+						;; size=9 bbWeight=0.50 PerfScore 1.75
 G_M13379_IG12:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; byrRegs -[rdx]
        add      rsp, 32
@@ -233,7 +227,7 @@ G_M13379_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=4000 {
        int3     
 						;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 370, prolog size 10, PerfScore 68.44, instruction count 104, allocated bytes for code 370 (MethodHash=d148cbbc) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:TryParseCrefReference():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax:this (FullOpts)
+; Total bytes of code 346, prolog size 10, PerfScore 67.94, instruction count 99, allocated bytes for code 346 (MethodHash=d148cbbc) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:TryParseCrefReference():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-6.42%) : 38232.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:TokenOrMissingToken(Microsoft.CodeAnalysis.GreenNode,ushort,System.String,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -14,16 +14,15 @@
 ;  V03 arg3         [V03,T03] (  6,  4   )     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V06 tmp2         [V06,T09] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V06 tmp2         [V06,T08] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;  V07 tmp3         [V07,T00] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;* V08 tmp4         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V09 tmp5         [V09,T05] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V10 tmp6         [V10    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V11 tmp7         [V11,T06] (  3,  3   )   byref  ->  rax         single-def "dup spill"
 ;* V12 tmp8         [V12    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V13 cse0         [V13,T10] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
+;* V13 cse0         [V13,T09] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
 ;  V14 cse1         [V14,T07] (  3,  1.50)     int  ->  rdx         "CSE #03: aggressive"
-;  V15 cse2         [V15,T08] (  3,  1.50)     int  ->  rdx         "CSE #05: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -119,16 +118,11 @@ G_M48880_IG07:        ; bbWeight=0.50, gcrefRegs=0060 {rbp rsi}, byrefRegs=0000
 G_M48880_IG08:        ; bbWeight=0.50, gcrefRegs=0020 {rbp}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rbp+0x0E]
        ; byrRegs +[rax]
-       movzx    rdx, word  ptr [rax]
-       mov      ecx, edx
-       and      ecx, 0xF000
-       and      edx, 0xFFE
-       or       edx, ecx
-       mov      word  ptr [rax], dx
+       and      word  ptr [rax], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
        ; byrRegs -[rax]
-						;; size=29 bbWeight=0.50 PerfScore 2.38
+						;; size=12 bbWeight=0.50 PerfScore 1.88
 G_M48880_IG09:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -167,7 +161,7 @@ G_M48880_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0048 {
        jmp      G_M48880_IG06
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 265, prolog size 8, PerfScore 27.56, instruction count 76, allocated bytes for code 265 (MethodHash=e9a5410f) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:TokenOrMissingToken(Microsoft.CodeAnalysis.GreenNode,ushort,System.String,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 248, prolog size 8, PerfScore 27.06, instruction count 71, allocated bytes for code 248 (MethodHash=e9a5410f) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:TokenOrMissingToken(Microsoft.CodeAnalysis.GreenNode,ushort,System.String,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-6.40%) : 54891.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:TokenWithLeadingTrivia(Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
@@ -26,8 +26,7 @@
 ;  V15 tmp13        [V15,T05] (  3,  6   )   byref  ->  rbx         single-def "dup spill"
 ;* V16 tmp14        [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V17 cse0         [V17,T10] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V18 cse1         [V18,T11] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V19 cse2         [V19,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
+;  V18 cse1         [V18,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -136,15 +135,10 @@ G_M49748_IG06:        ; bbWeight=0.50, gcrefRegs=8020 {rbp r15}, byrefRegs=0008
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M49748_IG07:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref
-       movzx    rax, word  ptr [rbx]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbx], ax
+       and      word  ptr [rbx], 0xFFFE
        mov      rax, r15
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M49748_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -164,7 +158,7 @@ G_M49748_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=C068 {
        jmp      G_M49748_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 250, prolog size 12, PerfScore 48.75, instruction count 72, allocated bytes for code 250 (MethodHash=241f3dab) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:TokenWithLeadingTrivia(Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
+; Total bytes of code 234, prolog size 12, PerfScore 47.75, instruction count 67, allocated bytes for code 234 (MethodHash=241f3dab) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:TokenWithLeadingTrivia(Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-6.40%) : 54892.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:TokenWithTrailingTrivia(Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
@@ -26,8 +26,7 @@
 ;  V15 tmp13        [V15,T05] (  3,  6   )   byref  ->  rbx         single-def "dup spill"
 ;* V16 tmp14        [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V17 cse0         [V17,T10] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V18 cse1         [V18,T11] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V19 cse2         [V19,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
+;  V18 cse1         [V18,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -136,15 +135,10 @@ G_M22714_IG06:        ; bbWeight=0.50, gcrefRegs=8040 {rsi r15}, byrefRegs=0008
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M22714_IG07:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref
-       movzx    rax, word  ptr [rbx]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbx], ax
+       and      word  ptr [rbx], 0xFFFE
        mov      rax, r15
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M22714_IG08:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -164,7 +158,7 @@ G_M22714_IG09:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=C068 {
        jmp      G_M22714_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 250, prolog size 12, PerfScore 48.75, instruction count 72, allocated bytes for code 250 (MethodHash=4f5ca745) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:TokenWithTrailingTrivia(Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
+; Total bytes of code 234, prolog size 12, PerfScore 47.75, instruction count 67, allocated bytes for code 234 (MethodHash=4f5ca745) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:TokenWithTrailingTrivia(Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-10 (-6.25%) : 81634.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyDirectCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 arg2         [V02,T03] (  3,  2.50)     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Binder>
 ;  V03 arg3         [V03,T02] (  4,  3   )   byref  ->  rdi         single-def
 ;  V04 loc0         [V04,T06] (  4,  2.50)     int  ->  rax        
-;  V05 loc1         [V05,T04] (  6,  3   )     int  ->  rax        
-;  V06 loc2         [V06,T05] (  5,  2.50)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+;  V05 loc1         [V05,T05] (  5,  2.50)     int  ->  rax        
+;  V06 loc2         [V06,T04] (  5,  2.50)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
 ; Lcl frame size = 40
@@ -70,13 +70,9 @@ G_M15230_IG04:        ; bbWeight=0.50, gcrefRegs=0068 {rbx rbp rsi}, byrefRegs=0
        ; gcrRegs -[rcx rdx rbp r8]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        je       SHORT G_M15230_IG06
-						;; size=35 bbWeight=0.50 PerfScore 3.12
+						;; size=25 bbWeight=0.50 PerfScore 2.62
 G_M15230_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        ; byrRegs -[rdi]
@@ -137,7 +133,7 @@ G_M15230_IG10:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=9 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 160, prolog size 8, PerfScore 34.88, instruction count 58, allocated bytes for code 160 (MethodHash=990ac481) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyDirectCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
+; Total bytes of code 150, prolog size 8, PerfScore 34.38, instruction count 54, allocated bytes for code 150 (MethodHash=990ac481) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyDirectCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-10 (-6.25%) : 81636.dasm - Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyTryCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
@@ -13,8 +13,8 @@
 ;  V02 arg2         [V02,T03] (  3,  2.50)     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Binder>
 ;  V03 arg3         [V03,T02] (  4,  3   )   byref  ->  rdi         single-def
 ;  V04 loc0         [V04,T06] (  4,  2.50)     int  ->  rax        
-;  V05 loc1         [V05,T04] (  6,  3   )     int  ->  rax        
-;  V06 loc2         [V06,T05] (  5,  2.50)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+;  V05 loc1         [V05,T05] (  5,  2.50)     int  ->  rax        
+;  V06 loc2         [V06,T04] (  5,  2.50)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
 ; Lcl frame size = 40
@@ -70,13 +70,9 @@ G_M14604_IG04:        ; bbWeight=0.50, gcrefRegs=0068 {rbx rbp rsi}, byrefRegs=0
        ; gcrRegs -[rcx rdx rbp r8]
        ; byrRegs -[r9]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 3
-       mov      edx, eax
-       and      edx, 0xD1FFAB1E
-       or       ecx, edx
+       test     eax, 0xD1FFAB1E
        je       SHORT G_M14604_IG06
-						;; size=35 bbWeight=0.50 PerfScore 3.12
+						;; size=25 bbWeight=0.50 PerfScore 2.62
 G_M14604_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        ; byrRegs -[rdi]
@@ -137,7 +133,7 @@ G_M14604_IG10:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=9 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 160, prolog size 8, PerfScore 34.88, instruction count 58, allocated bytes for code 160 (MethodHash=9bbec6f3) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyTryCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
+; Total bytes of code 150, prolog size 8, PerfScore 34.38, instruction count 54, allocated bytes for code 150 (MethodHash=9bbec6f3) for method Microsoft.CodeAnalysis.VisualBasic.Conversions:ClassifyTryCastConversion(Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Binder,byref):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-6.11%) : 28134.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFactory:MissingToken(ushort):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
@@ -26,12 +26,11 @@
 ;* V15 tmp12        [V15    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05.<Index>k__BackingField (fldOffset=0x10)" P-INDEP
 ;* V16 tmp13        [V16    ] (  0,  0   )     int  ->  zero-ref    single-def "field V05.<Position>k__BackingField (fldOffset=0x14)" P-INDEP
 ;  V17 tmp14        [V17,T06] (  4,  3   )     ref  ->  rdi         "V02.[000..008)"
-;* V18 cse0         [V18,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
-;* V19 cse1         [V19,T12] (  0,  0   )   byref  ->  zero-ref    "CSE #06: aggressive"
-;  V20 cse2         [V20,T10] (  2,  2   )     ref  ->  rdi         "CSE #04: aggressive"
+;* V18 cse0         [V18,T10] (  0,  0   )   byref  ->  zero-ref    "CSE #02: aggressive"
+;* V19 cse1         [V19,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #06: aggressive"
+;  V20 cse2         [V20,T09] (  2,  2   )     ref  ->  rdi         "CSE #04: aggressive"
 ;  V21 cse3         [V21,T08] (  3,  3   )     int  ->  rdx         "CSE #07: aggressive"
-;  V22 cse4         [V22,T09] (  3,  3   )     int  ->  rax         "CSE #09: aggressive"
-;  V23 cse5         [V23,T07] (  3,  3   )   byref  ->  rsi         "CSE #08: aggressive"
+;  V22 cse4         [V22,T07] (  3,  3   )   byref  ->  rsi         "CSE #08: aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -118,17 +117,12 @@ G_M50553_IG05:        ; bbWeight=0.50, gcrefRegs=40A0 {rbp rdi r14}, byrefRegs=0
        ; byrRegs -[rcx]
 						;; size=48 bbWeight=0.50 PerfScore 5.25
 G_M50553_IG06:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi}, byref
-       movzx    rax, word  ptr [rsi]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rsi], ax
+       and      word  ptr [rsi], 0xFFFE
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rbx], rax
        mov      gword ptr [rbx+0x08], r14
-						;; size=30 bbWeight=1 PerfScore 6.25
+						;; size=14 bbWeight=1 PerfScore 5.25
 G_M50553_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r14]
        ; byrRegs -[rsi]
@@ -158,7 +152,7 @@ G_M50553_IG10:        ; bbWeight=0, gcrefRegs=00A0 {rbp rdi}, byrefRegs=0000 {},
        jmp      G_M50553_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 262, prolog size 10, PerfScore 42.75, instruction count 69, allocated bytes for code 262 (MethodHash=6ca03a86) for method Microsoft.CodeAnalysis.CSharp.SyntaxFactory:MissingToken(ushort):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
+; Total bytes of code 246, prolog size 10, PerfScore 41.75, instruction count 64, allocated bytes for code 246 (MethodHash=6ca03a86) for method Microsoft.CodeAnalysis.CSharp.SyntaxFactory:MissingToken(ushort):Microsoft.CodeAnalysis.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-24 (-4.35%) : 38326.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:<ParseInterpolation>g__getInterpolationCloseToken|444_2(Microsoft.CodeAnalysis.GreenNode,byref):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
@@ -23,17 +23,17 @@
 ;  V12 tmp4         [V12,T18] (  3,  1.50)     ref  ->  rdi         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V13 tmp5         [V13,T00] ( 14, 14.02)     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V14 tmp6         [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V15 tmp7         [V15,T26] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V15 tmp7         [V15,T25] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V17 tmp9         [V17,T07] (  7,  3.07)     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V18 tmp10        [V18,T24] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V18 tmp10        [V18,T23] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V19 tmp11        [V19,T15] (  2,  2   )   byref  ->  rcx         single-def "impAppendStmt"
 ;* V20 tmp12        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp13        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp14        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp15        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp16        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V25 tmp17        [V25,T25] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V25 tmp17        [V25,T24] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V26 tmp18        [V26,T16] (  2,  2   )   byref  ->  rcx         single-def "impAppendStmt"
 ;* V27 tmp19        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp20        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -53,11 +53,10 @@
 ;  V42 tmp34        [V42,T12] (  3,  3   )     int  ->  rdx         single-def "field V03.<Start>k__BackingField (fldOffset=0x0)" P-INDEP
 ;  V43 tmp35        [V43,T14] (  3,  2   )     int  ->   r8         single-def "field V03.<End>k__BackingField (fldOffset=0x4)" P-INDEP
 ;* V44 tmp36        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V07._value (fldOffset=0x0)" P-INDEP
-;* V45 cse0         [V45,T23] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #10: moderate"
+;* V45 cse0         [V45,T22] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #10: moderate"
 ;  V46 cse1         [V46,T19] (  3,  1.50)    long  ->  rbp         "CSE #07: moderate"
 ;  V47 cse2         [V47,T20] (  3,  1.50)     int  ->  rdx         "CSE #11: conservative"
 ;  V48 cse3         [V48,T21] (  3,  1.50)     int  ->  rdx         "CSE #12: conservative"
-;  V49 cse4         [V49,T22] (  3,  1.50)     int  ->  rax         "CSE #14: conservative"
 ;
 ; Lcl frame size = 40
 
@@ -100,15 +99,15 @@ G_M45816_IG03:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {},
        cmp      rsi, rcx
        je       SHORT G_M45816_IG06
 						;; size=33 bbWeight=1 PerfScore 5.50
-G_M45816_IG04:        ; bbWeight=0.25, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M45816_IG04:        ; bbWeight=0.25, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rcx]
        test     rsi, rsi
-       je       G_M45816_IG09
-						;; size=9 bbWeight=0.25 PerfScore 0.31
-G_M45816_IG05:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       je       SHORT G_M45816_IG09
+						;; size=5 bbWeight=0.25 PerfScore 0.31
+G_M45816_IG05:        ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rsi+0x08], 0
-       jne      G_M45816_IG09
-						;; size=10 bbWeight=0.12 PerfScore 0.38
+       jne      SHORT G_M45816_IG09
+						;; size=6 bbWeight=0.12 PerfScore 0.38
 G_M45816_IG06:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
        test     byte  ptr [(reloc)], 1      ; global ptr
@@ -155,14 +154,9 @@ G_M45816_IG07:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 G_M45816_IG08:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        lea      rcx, bword ptr [rdi+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      G_M45816_IG18
-						;; size=30 bbWeight=0.50 PerfScore 3.25
+						;; size=14 bbWeight=0.50 PerfScore 2.75
 G_M45816_IG09:        ; bbWeight=0.44, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi] +[rbx rsi]
        ; byrRegs -[rcx]
@@ -324,7 +318,7 @@ G_M45816_IG24:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      G_M45816_IG07
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 552, prolog size 8, PerfScore 64.13, instruction count 145, allocated bytes for code 552 (MethodHash=25554d07) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:<ParseInterpolation>g__getInterpolationCloseToken|444_2(Microsoft.CodeAnalysis.GreenNode,byref):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
+; Total bytes of code 528, prolog size 8, PerfScore 63.63, instruction count 140, allocated bytes for code 528 (MethodHash=25554d07) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:<ParseInterpolation>g__getInterpolationCloseToken|444_2(Microsoft.CodeAnalysis.GreenNode,byref):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-4.05%) : 38570.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -45,19 +45,18 @@
 ;  V34 tmp30        [V34,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V35 tmp31        [V35    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V03._node (fldOffset=0x0)" P-INDEP
-;  V37 tmp33        [V37,T19] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
-;  V38 tmp34        [V38,T20] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
+;  V37 tmp33        [V37,T18] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
+;  V38 tmp34        [V38,T19] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
 ;  V39 tmp35        [V39,T11] (  4,  2   )     ref  ->  rdi         single-def "field V18._node (fldOffset=0x0)" P-INDEP
 ;  V40 tmp36        [V40,T12] (  4,  2   )     ref  ->  rsi         single-def "field V20._node (fldOffset=0x0)" P-INDEP
 ;  V41 tmp37        [V41,T09] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
-;* V42 cse0         [V42,T21] (  0,  0   )   byref  ->  zero-ref    "CSE #06: moderate"
+;* V42 cse0         [V42,T20] (  0,  0   )   byref  ->  zero-ref    "CSE #06: moderate"
 ;  V43 cse1         [V43,T04] (  4,  3   )    long  ->  rbp         "CSE #02: aggressive"
 ;  V44 cse2         [V44,T03] (  6,  3   )    long  ->  rsi         multi-def "CSE #03: aggressive"
 ;  V45 cse3         [V45,T16] (  3,  1.50)     int  ->  rdx         "CSE #07: conservative"
-;  V46 cse4         [V46,T17] (  3,  1.50)     int  ->  rax         "CSE #09: conservative"
-;  V47 cse5         [V47,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
-;  V48 rat0         [V48,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
-;  V49 rat1         [V49,T18] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V46 cse4         [V46,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
+;  V47 rat0         [V47,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
+;  V48 rat1         [V48,T17] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 32
 
@@ -184,14 +183,9 @@ G_M12665_IG07:        ; bbWeight=0.50, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0
 G_M12665_IG08:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        lea      rcx, bword ptr [r14+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      SHORT G_M12665_IG10
-						;; size=27 bbWeight=0.50 PerfScore 3.25
+						;; size=11 bbWeight=0.50 PerfScore 2.75
 G_M12665_IG09:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        ; byrRegs -[rcx]
@@ -290,7 +284,7 @@ G_M12665_IG15:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00C8 {
        jmp      G_M12665_IG06
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 395, prolog size 10, PerfScore 61.00, instruction count 120, allocated bytes for code 395 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 379, prolog size 10, PerfScore 60.50, instruction count 115, allocated bytes for code 379 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-24 (-3.72%) : 38322.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:<ParseInterpolatedStringToken>g__getCloseQuote|438_5(byref):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
@@ -18,7 +18,7 @@
 ;* V07 loc5         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc6         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Index>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V10 tmp1         [V10,T30] (  3,  0   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V10 tmp1         [V10,T29] (  3,  0   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
 ;  V11 tmp2         [V11,T06] (  3,  6   )     ref  ->  rcx         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V12 tmp3         [V12,T00] ( 14, 14.14)     ref  ->  rdi         class-hnd exact single-def "non-inline candidate call" <System.String>
 ;  V13 tmp4         [V13,T05] (  6,  6   )     int  ->  r10         "Inline stloc first use temp"
@@ -26,17 +26,17 @@
 ;  V15 tmp6         [V15,T21] (  3,  1.50)     ref  ->  rbp         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V16 tmp7         [V16,T03] (  8,  9   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V18 tmp9         [V18,T29] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V18 tmp9         [V18,T28] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V19 tmp10        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V20 tmp11        [V20,T10] (  7,  3.20)     ref  ->  rbp         class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V21 tmp12        [V21,T27] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V21 tmp12        [V21,T26] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V22 tmp13        [V22,T18] (  2,  2   )   byref  ->  rcx         single-def "impAppendStmt"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp15        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp16        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V28 tmp19        [V28,T28] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V28 tmp19        [V28,T27] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V29 tmp20        [V29,T19] (  2,  2   )   byref  ->  rcx         single-def "impAppendStmt"
 ;* V30 tmp21        [V30    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp22        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -57,12 +57,11 @@
 ;  V46 tmp37        [V46,T17] (  3,  2   )     int  ->  rdx         single-def "field V04.<End>k__BackingField (fldOffset=0x4)" P-INDEP
 ;* V47 tmp38        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V08._value (fldOffset=0x0)" P-INDEP
 ;  V48 tmp39        [V48,T07] (  3,  6   )     ref  ->  rcx         single-def "argument with side effect"
-;* V49 cse0         [V49,T26] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #11: moderate"
+;* V49 cse0         [V49,T25] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #11: moderate"
 ;  V50 cse1         [V50,T22] (  3,  1.50)    long  ->  r14         "CSE #08: moderate"
 ;  V51 cse2         [V51,T23] (  3,  1.50)     int  ->  rdx         "CSE #12: conservative"
 ;  V52 cse3         [V52,T24] (  3,  1.50)     int  ->  rdx         "CSE #13: conservative"
-;  V53 cse4         [V53,T25] (  3,  1.50)     int  ->  rax         "CSE #15: conservative"
-;  V54 rat0         [V54,T08] (  3,  5.60)     int  ->   r8         "ReplaceWithLclVar is creating a new local variable"
+;  V53 rat0         [V53,T08] (  3,  5.60)     int  ->   r8         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 32
 
@@ -131,15 +130,15 @@ G_M51556_IG07:        ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx},
        cmp      rdi, rcx
        je       SHORT G_M51556_IG10
 						;; size=47 bbWeight=1 PerfScore 14.50
-G_M51556_IG08:        ; bbWeight=0.25, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+G_M51556_IG08:        ; bbWeight=0.25, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rcx]
        test     rdi, rdi
-       je       G_M51556_IG13
-						;; size=9 bbWeight=0.25 PerfScore 0.31
-G_M51556_IG09:        ; bbWeight=0.12, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+       je       SHORT G_M51556_IG13
+						;; size=5 bbWeight=0.25 PerfScore 0.31
+G_M51556_IG09:        ; bbWeight=0.12, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rdi+0x08], 0
-       jne      G_M51556_IG13
-						;; size=10 bbWeight=0.12 PerfScore 0.38
+       jne      SHORT G_M51556_IG13
+						;; size=6 bbWeight=0.12 PerfScore 0.38
 G_M51556_IG10:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        test     byte  ptr [(reloc)], 1      ; global ptr
@@ -186,14 +185,9 @@ G_M51556_IG11:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 G_M51556_IG12:        ; bbWeight=0.50, gcrefRegs=0020 {rbp}, byrefRegs=0000 {}, byref
        lea      rcx, bword ptr [rbp+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      G_M51556_IG22
-						;; size=30 bbWeight=0.50 PerfScore 3.25
+						;; size=14 bbWeight=0.50 PerfScore 2.75
 G_M51556_IG13:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbp] +[rbx rdi]
        ; byrRegs -[rcx]
@@ -383,7 +377,7 @@ G_M51556_IG29:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      G_M51556_IG11
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 645, prolog size 10, PerfScore 81.45, instruction count 172, allocated bytes for code 645 (MethodHash=718b369b) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:<ParseInterpolatedStringToken>g__getCloseQuote|438_5(byref):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
+; Total bytes of code 621, prolog size 10, PerfScore 80.95, instruction count 167, allocated bytes for code 621 (MethodHash=718b369b) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:<ParseInterpolatedStringToken>g__getCloseQuote|438_5(byref):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-43 (-3.21%) : 39518.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
-;  V07 tmp6         [V07,T36] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
+;  V07 tmp6         [V07,T35] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V08 tmp7         [V08,T04] (  6, 96   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V09 tmp8         [V09,T22] (  2, 32   )   byref  ->  [rsp+0x68]  spill-single-def "impAppendStmt"
 ;  V10 tmp9         [V10,T01] ( 13,112   )     ref  ->  [rsp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
@@ -27,9 +27,9 @@
 ;  V16 tmp15        [V16,T05] (  5, 80   )     ref  ->  rax         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V17 tmp16        [V17,T26] (  2, 32   )   byref  ->  rcx         "impAppendStmt"
 ;* V18 tmp17        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V19 tmp18        [V19,T53] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V19 tmp18        [V19,T52] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V20 tmp19        [V20    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V21 tmp20        [V21,T54] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V21 tmp20        [V21,T53] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V22 tmp21        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp22        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp23        [V24,T06] (  3, 48   )   byref  ->  rcx         "dup spill"
@@ -40,28 +40,28 @@
 ;  V29 tmp28        [V29,T07] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V30 tmp29        [V30    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp30        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V32 tmp31        [V32,T37] (  3, 12   )   byref  ->  rdx         "dup spill"
-;  V33 tmp32        [V33,T47] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
+;  V32 tmp31        [V32,T36] (  3, 12   )   byref  ->  rdx         "dup spill"
+;  V33 tmp32        [V33,T46] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
 ;* V34 tmp33        [V34    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp34        [V35    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V36 tmp35        [V36,T38] (  3, 12   )   byref  ->  rdx         "dup spill"
-;  V37 tmp36        [V37,T48] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
+;  V36 tmp35        [V36,T37] (  3, 12   )   byref  ->  rdx         "dup spill"
+;  V37 tmp36        [V37,T47] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
 ;* V38 tmp37        [V38    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V39 tmp38        [V39,T18] (  5, 44   )     ref  ->  [rsp+0x28]  class-hnd spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;* V40 tmp39        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V41 tmp40        [V41,T08] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V42 tmp41        [V42    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V43 tmp42        [V43    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V44 tmp43        [V44,T39] (  3, 12   )   byref  ->  rdx         "dup spill"
-;  V45 tmp44        [V45,T49] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
+;  V44 tmp43        [V44,T38] (  3, 12   )   byref  ->  rdx         "dup spill"
+;  V45 tmp44        [V45,T48] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
 ;* V46 tmp45        [V46    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V47 tmp46        [V47,T19] (  5, 44   )     ref  ->  [rsp+0x20]  class-hnd spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;* V48 tmp47        [V48    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V49 tmp48        [V49,T09] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V50 tmp49        [V50    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp50        [V51    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V52 tmp51        [V52,T40] (  3, 12   )   byref  ->  rdx         "dup spill"
-;  V53 tmp52        [V53,T50] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
+;  V52 tmp51        [V52,T39] (  3, 12   )   byref  ->  rdx         "dup spill"
+;  V53 tmp52        [V53,T49] (  2,  8   )  ushort  ->  rcx         "Inlining Arg"
 ;* V54 tmp53        [V54    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V55 tmp54        [V55    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V56 tmp55        [V56,T10] (  3, 48   )   byref  ->   r8         "dup spill"
@@ -73,30 +73,28 @@
 ;  V62 tmp61        [V62,T14] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V63 tmp62        [V63,T15] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V64 tmp63        [V64,T16] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V65 cse0         [V65,T28] (  3, 24   )     ref  ->   r8         "CSE #13: moderate"
-;* V66 cse1         [V66,T51] (  0,  0   )   byref  ->  zero-ref    "CSE #10: moderate"
-;  V67 cse2         [V67,T20] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #14: moderate"
-;  V68 cse3         [V68,T30] (  3, 24   )     int  ->  rdx         "CSE #06: moderate"
-;  V69 cse4         [V69,T31] (  3, 24   )     int  ->  rdx         "CSE #15: moderate"
-;  V70 cse5         [V70,T32] (  3, 24   )     int  ->  rdx         "CSE #21: moderate"
-;  V71 cse6         [V71,T33] (  3, 24   )     int  ->  rdx         "CSE #25: moderate"
-;  V72 cse7         [V72,T34] (  3, 24   )     int  ->  r10         "CSE #30: moderate"
-;  V73 cse8         [V73,T35] (  3, 24   )     int  ->   r8         "CSE #32: moderate"
-;  V74 cse9         [V74,T55] (  3,  6   )     int  ->   r8         "CSE #17: moderate"
-;  V75 cse10        [V75,T56] (  3,  6   )     int  ->  r10         "CSE #18: moderate"
-;  V76 cse11        [V76,T57] (  3,  6   )     int  ->  r10         "CSE #23: moderate"
-;  V77 cse12        [V77,T58] (  3,  6   )     int  ->   r8         "CSE #27: moderate"
-;  V78 cse13        [V78,T59] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
-;  V79 cse14        [V79,T60] (  3,  3   )     int  ->  rdx         "CSE #04: moderate"
-;  V80 cse15        [V80,T21] (  4, 32   )    long  ->  r12         "CSE #19: moderate"
-;  V81 cse16        [V81,T41] (  3, 10   )    long  ->  rsi         "CSE #05: moderate"
-;  V82 cse17        [V82,T42] (  3, 10   )    long  ->  rdi         "CSE #07: moderate"
-;  V83 cse18        [V83,T43] (  3, 10   )    long  ->  rbp         "CSE #20: moderate"
-;  V84 cse19        [V84,T44] (  3, 10   )    long  ->  r14         "CSE #24: moderate"
-;  V85 cse20        [V85,T45] (  3, 10   )    long  ->  r15         "CSE #28: moderate"
-;  V86 cse21        [V86,T46] (  3, 10   )    long  ->  rbx         "CSE #29: moderate"
-;  V87 cse22        [V87,T29] (  3, 24   )   byref  ->  rdx         "CSE #31: moderate"
-;  V88 cse23        [V88,T52] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
+;  V65 cse0         [V65,T28] (  3, 24   )     ref  ->   r8         "CSE #12: moderate"
+;* V66 cse1         [V66,T50] (  0,  0   )   byref  ->  zero-ref    "CSE #09: moderate"
+;  V67 cse2         [V67,T20] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #13: moderate"
+;  V68 cse3         [V68,T30] (  3, 24   )     int  ->  rdx         "CSE #05: moderate"
+;  V69 cse4         [V69,T31] (  3, 24   )     int  ->  rdx         "CSE #14: moderate"
+;  V70 cse5         [V70,T32] (  3, 24   )     int  ->  rdx         "CSE #20: moderate"
+;  V71 cse6         [V71,T33] (  3, 24   )     int  ->  rdx         "CSE #24: moderate"
+;  V72 cse7         [V72,T34] (  3, 24   )     int  ->  r10         "CSE #29: moderate"
+;  V73 cse8         [V73,T54] (  3,  6   )     int  ->   r8         "CSE #16: moderate"
+;  V74 cse9         [V74,T55] (  3,  6   )     int  ->  r10         "CSE #17: moderate"
+;  V75 cse10        [V75,T56] (  3,  6   )     int  ->  r10         "CSE #22: moderate"
+;  V76 cse11        [V76,T57] (  3,  6   )     int  ->   r8         "CSE #26: moderate"
+;  V77 cse12        [V77,T58] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
+;  V78 cse13        [V78,T21] (  4, 32   )    long  ->  r12         "CSE #18: moderate"
+;  V79 cse14        [V79,T40] (  3, 10   )    long  ->  rsi         "CSE #04: moderate"
+;  V80 cse15        [V80,T41] (  3, 10   )    long  ->  rdi         "CSE #06: moderate"
+;  V81 cse16        [V81,T42] (  3, 10   )    long  ->  rbp         "CSE #19: moderate"
+;  V82 cse17        [V82,T43] (  3, 10   )    long  ->  r14         "CSE #23: moderate"
+;  V83 cse18        [V83,T44] (  3, 10   )    long  ->  r15         "CSE #27: moderate"
+;  V84 cse19        [V84,T45] (  3, 10   )    long  ->  rbx         "CSE #28: moderate"
+;  V85 cse20        [V85,T29] (  3, 24   )   byref  ->  rdx         "CSE #30: moderate"
+;  V86 cse21        [V86,T51] (  6,  6   )    long  ->  rbx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 120
 
@@ -186,23 +184,16 @@ G_M32365_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        or       edx, 1
        mov      word  ptr [rcx], dx
        lea      rcx, bword ptr [rax+0x0E]
-       movzx    rdx, word  ptr [rcx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
+       and      word  ptr [rcx], 0xFFFE
        mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
        ; byrRegs -[rcx]
        mov      rdx, rax
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-						;; size=288 bbWeight=1 PerfScore 31.00
-G_M32365_IG03:        ; bbWeight=1, extend
        mov      r13d, 0x2001
-						;; size=6 bbWeight=1 PerfScore 0.25
-G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+						;; size=274 bbWeight=1 PerfScore 30.25
+G_M32365_IG03:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -212,7 +203,7 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rsi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG14
+       jae      G_M32365_IG13
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -257,16 +248,16 @@ G_M32365_IG04:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rdi]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG14
+       jae      G_M32365_IG13
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
        mov      bword ptr [rsp+0x58], rdx
        ; GC ptr vars +{V11}
        test     byte  ptr [(reloc)], 1      ; global ptr
-       je       G_M32365_IG13
+       je       G_M32365_IG12
 						;; size=180 bbWeight=8 PerfScore 310.00
-G_M32365_IG05:        ; bbWeight=8, gcVars=0000000000800002 {V10 V11}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M32365_IG04:        ; bbWeight=8, gcVars=0000000000800002 {V10 V11}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rcx]
        ; byrRegs -[rdx]
        mov      rcx, 0xD1FFAB1E      ; data for Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory:ElasticZeroSpace
@@ -298,9 +289,9 @@ G_M32365_IG05:        ; bbWeight=8, gcVars=0000000000800002 {V10 V11}, gcrefRegs
        mov      r10, gword ptr [rsp+0x38]
        ; gcrRegs +[r10]
        test     r10, r10
-       je       G_M32365_IG07
+       je       G_M32365_IG06
 						;; size=100 bbWeight=8 PerfScore 170.00
-G_M32365_IG06:        ; bbWeight=2, gcrefRegs=0401 {rax r10}, byrefRegs=0000 {}, byref
+G_M32365_IG05:        ; bbWeight=2, gcrefRegs=0401 {rax r10}, byrefRegs=0000 {}, byref
        ; byrRegs -[rcx]
        movzx    rcx, word  ptr [r10+0x0E]
        and      ecx, 0x7E1
@@ -355,7 +346,7 @@ G_M32365_IG06:        ; bbWeight=2, gcrefRegs=0401 {rax r10}, byrefRegs=0000 {},
        mov      rax, gword ptr [rsp+0x60]
        ; gcrRegs +[rax]
 						;; size=149 bbWeight=2 PerfScore 62.00
-G_M32365_IG07:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+G_M32365_IG06:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rcx, bword ptr [rsp+0x58]
        ; byrRegs +[rcx]
        mov      rdx, rax
@@ -373,7 +364,7 @@ G_M32365_IG07:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        mov      rcx, gword ptr [rbp]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG14
+       jae      G_M32365_IG13
        mov      edx, r13d
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
        ; byrRegs +[rdx]
@@ -406,9 +397,9 @@ G_M32365_IG07:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        mov      r8, gword ptr [rsp+0x28]
        ; gcrRegs +[r8]
        test     r8, r8
-       je       SHORT G_M32365_IG09
+       je       SHORT G_M32365_IG08
 						;; size=139 bbWeight=8 PerfScore 248.00
-G_M32365_IG08:        ; bbWeight=2, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, byref
+G_M32365_IG07:        ; bbWeight=2, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, byref
        ; byrRegs -[rcx]
        movzx    rcx, word  ptr [r8+0x0E]
        and      ecx, 0x7E1
@@ -436,7 +427,7 @@ G_M32365_IG08:        ; bbWeight=2, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {},
        mov      rax, gword ptr [rsp+0x50]
        ; gcrRegs +[rax]
 						;; size=72 bbWeight=2 PerfScore 30.00
-G_M32365_IG09:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
+G_M32365_IG08:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        mov      rcx, bword ptr [rsp+0x48]
        ; byrRegs +[rcx]
        mov      rdx, rax
@@ -454,7 +445,7 @@ G_M32365_IG09:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        mov      rcx, gword ptr [r14]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG14
+       jae      G_M32365_IG13
        mov      eax, r13d
        ; gcrRegs -[rax]
        lea      rax, bword ptr [rcx+8*rax+0x10]
@@ -488,9 +479,9 @@ G_M32365_IG09:        ; bbWeight=8, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byr
        mov      rax, gword ptr [rsp+0x20]
        ; gcrRegs +[rax]
        test     rax, rax
-       je       SHORT G_M32365_IG11
+       je       SHORT G_M32365_IG10
 						;; size=131 bbWeight=8 PerfScore 234.00
-G_M32365_IG10:        ; bbWeight=2, gcrefRegs=1001 {rax r12}, byrefRegs=0000 {}, byref
+G_M32365_IG09:        ; bbWeight=2, gcrefRegs=1001 {rax r12}, byrefRegs=0000 {}, byref
        ; byrRegs -[rcx]
        movzx    rcx, word  ptr [rax+0x0E]
        and      ecx, 0x7E1
@@ -516,7 +507,7 @@ G_M32365_IG10:        ; bbWeight=2, gcrefRegs=1001 {rax r12}, byrefRegs=0000 {},
        ; gcrRegs -[rax rdx]
        ; byrRegs -[rcx]
 						;; size=69 bbWeight=2 PerfScore 28.00
-G_M32365_IG11:        ; bbWeight=8, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byref
+G_M32365_IG10:        ; bbWeight=8, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byref
        mov      rcx, bword ptr [rsp+0x40]
        ; byrRegs +[rcx]
        mov      rdx, r12
@@ -532,7 +523,7 @@ G_M32365_IG11:        ; bbWeight=8, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byr
        mov      rcx, gword ptr [rbx]
        ; gcrRegs +[rcx]
        cmp      r13d, dword ptr [rcx+0x08]
-       jae      G_M32365_IG14
+       jae      G_M32365_IG13
        mov      edx, r13d
        lea      rcx, bword ptr [rcx+8*rdx+0x10]
        ; gcrRegs -[rcx]
@@ -551,25 +542,19 @@ G_M32365_IG11:        ; bbWeight=8, gcrefRegs=1000 {r12}, byrefRegs=0000 {}, byr
        or       r10d, r9d
        or       r10d, 1
        mov      word  ptr [r8], r10w
-       movzx    r8, word  ptr [rdx]
-       ; byrRegs -[r8]
-       mov      r10d, r8d
-       and      r10d, 0xF000
-       and      r8d, 0xFFE
-       or       r8d, r10d
-       mov      word  ptr [rdx], r8w
+       and      word  ptr [rdx], 0xFFFE
        mov      rdx, rax
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx r8]
        inc      r13d
        movzx    r13, r13w
        cmp      r13d, 0x2130
-       jle      G_M32365_IG04
-						;; size=147 bbWeight=8 PerfScore 192.00
-G_M32365_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jle      G_M32365_IG03
+						;; size=124 bbWeight=8 PerfScore 184.00
+G_M32365_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        add      rsp, 120
        pop      rbx
        pop      rbp
@@ -581,21 +566,21 @@ G_M32365_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        pop      r15
        ret      
 						;; size=17 bbWeight=1 PerfScore 5.25
-G_M32365_IG13:        ; bbWeight=0, gcVars=0000000000800002 {V10 V11}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M32365_IG12:        ; bbWeight=0, gcVars=0000000000800002 {V10 V11}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V10 V11}
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        ; gcr arg pop 0
-       jmp      G_M32365_IG05
+       jmp      G_M32365_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M32365_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M32365_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V10 V11}
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1340, prolog size 16, PerfScore 1318.75, instruction count 311, allocated bytes for code 1340 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
+; Total bytes of code 1297, prolog size 16, PerfScore 1309.75, instruction count 301, allocated bytes for code 1297 (MethodHash=55c88192) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
 ; ============================================================
 
 Unwind Info:
-17 (-2.27%) : 39457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -13,9 +13,9 @@
 ;  V02 arg2         [V02,T02] ( 12,  7   )     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.GreenNode>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V04 tmp1         [V04,T00] ( 10, 10   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
-;  V05 tmp2         [V05,T19] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V06 tmp3         [V06,T21] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
-;  V07 tmp4         [V07,T20] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V05 tmp2         [V05,T18] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V06 tmp3         [V06,T20] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V07 tmp4         [V07,T19] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V08 tmp5         [V08,T01] ( 10, 10   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V10 tmp7         [V10,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
@@ -30,13 +30,12 @@
 ;  V19 tmp16        [V19,T11] (  3,  3   )     ref  ->  rcx         single-def "arr expr"
 ;  V20 tmp17        [V20,T12] (  3,  3   )     ref  ->  rcx         single-def "arr expr"
 ;  V21 tmp18        [V21,T13] (  3,  3   )     ref  ->  rcx         single-def "arr expr"
-;  V22 tmp19        [V22,T22] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rcx         "CSE #10: moderate"
-;* V24 cse1         [V24,T18] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #07: moderate"
+;  V22 tmp19        [V22,T21] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V23 cse0         [V23,T14] (  3,  1.50)     ref  ->  rcx         "CSE #09: moderate"
+;* V24 cse1         [V24,T17] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #06: moderate"
 ;  V25 cse2         [V25,T15] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
-;  V26 cse3         [V26,T16] (  3,  1.50)     int  ->  rcx         "CSE #04: moderate"
-;  V27 cse4         [V27,T17] (  3,  1.50)     int  ->  rdx         "CSE #11: moderate"
-;  V28 cse5         [V28,T05] ( 11,  6.50)     int  ->  rbp         "CSE #01: aggressive"
+;  V26 cse3         [V26,T16] (  3,  1.50)     int  ->  rdx         "CSE #10: moderate"
+;  V27 cse4         [V27,T05] ( 11,  6.50)     int  ->  rbp         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -269,16 +268,11 @@ G_M22584_IG16:        ; bbWeight=0.50, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000
 G_M22584_IG17:        ; bbWeight=0.50, gcrefRegs=0020 {rbp}, byrefRegs=0000 {}, byref
        lea      rax, bword ptr [rbp+0x0E]
        ; byrRegs +[rax]
-       movzx    rcx, word  ptr [rax]
-       mov      edx, ecx
-       and      edx, 0xF000
-       and      ecx, 0xFFE
-       or       ecx, edx
-       mov      word  ptr [rax], cx
+       and      word  ptr [rax], 0xFFFE
        mov      rax, rbp
        ; gcrRegs +[rax]
        ; byrRegs -[rax]
-						;; size=29 bbWeight=0.50 PerfScore 2.38
+						;; size=12 bbWeight=0.50 PerfScore 1.88
 G_M22584_IG18:        ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbp]
        add      rsp, 32
@@ -357,7 +351,7 @@ G_M22584_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 749, prolog size 10, PerfScore 73.75, instruction count 175, allocated bytes for code 749 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 732, prolog size 10, PerfScore 73.25, instruction count 170, allocated bytes for code 732 (MethodHash=d91fa7c7) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:Create(ushort,Microsoft.CodeAnalysis.GreenNode,Microsoft.CodeAnalysis.GreenNode):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-2.20%) : 215571.dasm - System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
@@ -12,15 +12,15 @@
 ;  V01 arg1         [V01,T02] (  5,  4.50)     ref  ->  rdi         class-hnd single-def <System.Xml.XmlNameTable>
 ;  V02 arg2         [V02,T01] (  8,  5.50)     ref  ->  rsi         class-hnd single-def <System.Xml.Schema.XmlSchemaSet>
 ;  V03 arg3         [V03,T03] (  4,  4   )     ref  ->  rbp         class-hnd single-def <System.Xml.IXmlNamespaceResolver>
-;  V04 arg4         [V04,T07] (  3,  3   )     int  ->  r14         single-def
+;  V04 arg4         [V04,T09] (  2,  2   )     int  ->  r14         single-def
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V06 tmp1         [V06,T05] (  3,  3   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaSet>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
-;  V09 tmp4         [V09,T08] (  2,  2   )     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
+;  V09 tmp4         [V09,T07] (  2,  2   )     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;  V10 tmp5         [V10,T06] (  3,  3   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Schema.XmlSchemaCompilationSettings>
-;  V12 tmp7         [V12,T09] (  2,  2   )     ref  ->  rbp         class-hnd single-def "Inlining Arg" <System.Xml.XmlResolver>
+;  V12 tmp7         [V12,T08] (  2,  2   )     ref  ->  rbp         class-hnd single-def "Inlining Arg" <System.Xml.XmlResolver>
 ;  V13 tmp8         [V13,T04] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Xml.XmlReaderSettings>
 ;  V14 cse0         [V14,T10] (  3,  1.50)     ref  ->  rdi         "CSE #01: aggressive"
 ;
@@ -67,12 +67,9 @@ G_M31695_IG02:        ; bbWeight=1, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        ; gcrRegs -[rdx rbp]
        ; byrRegs -[rcx]
        mov      dword ptr [rbx+0xF0], r14d
-       mov      ecx, r14d
-       and      ecx, 1
-       and      r14d, 2
-       or       ecx, r14d
+       test     r14b, 3
        jne      SHORT G_M31695_IG04
-						;; size=99 bbWeight=1 PerfScore 12.25
+						;; size=90 bbWeight=1 PerfScore 11.50
 G_M31695_IG03:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        lea      rcx, bword ptr [rbx+0x08]
@@ -218,7 +215,7 @@ G_M31695_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 RWD00  	dd	3F800000h		;         1
 
 
-; Total bytes of code 409, prolog size 27, PerfScore 53.75, instruction count 96, allocated bytes for code 409 (MethodHash=d5398430) for method System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
+; Total bytes of code 400, prolog size 27, PerfScore 53.00, instruction count 93, allocated bytes for code 400 (MethodHash=d5398430) for method System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-15 (-1.69%) : 233264.dasm - System.Speech.Internal.SrgsCompiler.Backend:CreateRule(System.String,int):System.Speech.Internal.SrgsCompiler.Rule:this (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 this         [V00,T01] ( 16, 17   )     ref  ->  rbx         this class-hnd single-def <System.Speech.Internal.SrgsCompiler.Backend>
 ;  V01 arg1         [V01,T05] ( 13, 12.19)     ref  ->  rdi         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T02] ( 21, 16.50)     int  ->  rsi        
+;  V02 arg2         [V02,T03] ( 19, 15.50)     int  ->  rsi        
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V04 loc1         [V04    ] (  1,  1   )     int  ->  [rsp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V05 loc2         [V05    ] (  2,  2   )     int  ->  [rsp+0x50]  do-not-enreg[X] must-init addr-exposed ld-addr-op
@@ -71,7 +71,7 @@
 ;  V60 tmp49        [V60,T33] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V61 cse0         [V61,T26] (  2,  1   )     int  ->  r15         "CSE #07: moderate"
 ;  V62 cse1         [V62,T12] (  5,  6.19)     int  ->  rbp         multi-def "CSE #08: moderate"
-;  V63 rat0         [V63,T03] (  6, 18.50)    long  ->  r13         "Widened IV V46"
+;  V63 rat0         [V63,T02] (  6, 18.50)    long  ->  r13         "Widened IV V46"
 ;
 ; Lcl frame size = 96
 
@@ -111,17 +111,10 @@ G_M53126_IG04:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M53126_IG05:        ; bbWeight=0.50, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        mov      ecx, esi
-       and      ecx, 1
-       mov      edx, esi
-       and      edx, 2
-       or       ecx, edx
-       mov      edx, esi
-       and      edx, 64
-       mov      eax, esi
-       and      eax, -68
-       or       ecx, edx
-       cmovne   esi, eax
-						;; size=27 bbWeight=0.50 PerfScore 1.50
+       and      ecx, -68
+       test     sil, 67
+       cmovne   esi, ecx
+						;; size=12 bbWeight=0.50 PerfScore 0.62
 G_M53126_IG06:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        test     sil, 8
        je       SHORT G_M53126_IG08
@@ -462,7 +455,7 @@ G_M53126_IG32:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 889, prolog size 26, PerfScore 228.20, instruction count 230, allocated bytes for code 889 (MethodHash=7b3d3079) for method System.Speech.Internal.SrgsCompiler.Backend:CreateRule(System.String,int):System.Speech.Internal.SrgsCompiler.Rule:this (FullOpts)
+; Total bytes of code 874, prolog size 26, PerfScore 227.33, instruction count 223, allocated bytes for code 874 (MethodHash=7b3d3079) for method System.Speech.Internal.SrgsCompiler.Backend:CreateRule(System.String,int):System.Speech.Internal.SrgsCompiler.Rule:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-1.67%) : 73289.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:TryScanXmlDocComment(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):bool:this (FullOpts)
@@ -13,7 +13,7 @@
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (96) zero-ref    do-not-enreg[SF] ld-addr-op <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+RestorePoint>
 ;  V03 loc1         [V03,T13] (  4,  2.50)     ref  ->  r13         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.DocumentationCommentTriviaSyntax>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode>
-;  V05 loc3         [V05,T26] (  3,  0   )     ref  ->  [rbp-0xA0]  class-hnd exact EH-live single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser>
+;  V05 loc3         [V05,T25] (  3,  0   )     ref  ->  [rbp-0xA0]  class-hnd exact EH-live single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser>
 ;* V06 loc4         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNodeSyntax]>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V08 tmp1         [V08,T08] (  4,  5.50)     ref  ->  r13         single-def "ISINST eval op1"
@@ -25,7 +25,7 @@
 ;  V14 tmp7         [V14,T11] (  3,  3   )     int  ->  rax         "Inlining Arg"
 ;  V15 tmp8         [V15,T17] (  3,  1.50)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.VisualBasicSyntaxNode>
 ;  V16 tmp9         [V16,T01] (  7, 12   )  struct (96) [rbp-0x98]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+RestorePoint>
-;  V17 tmp10        [V17,T24] (  2,  1   )     int  ->  rax         "Inline return value spill temp"
+;  V17 tmp10        [V17,T23] (  2,  1   )     int  ->  rax         "Inline return value spill temp"
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;  V19 tmp12        [V19,T18] (  3,  1.50)     int  ->  rax         "Inline return value spill temp"
 ;* V20 tmp13        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
@@ -49,7 +49,7 @@
 ;* V38 tmp31        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.GreenNode]>
 ;  V39 tmp32        [V39,T04] (  7,  7   )     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.DocumentationCommentTriviaSyntax>
 ;* V40 tmp33        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-;* V41 tmp34        [V41,T25] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V41 tmp34        [V41,T24] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V42 tmp35        [V42,T09] (  3,  3   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V43 tmp36        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions>
 ;  V44 tmp37        [V44,T10] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
@@ -82,7 +82,6 @@
 ;  V71 tmp64        [V71,T16] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V72 cse0         [V72,T21] (  3,  1.50)     int  ->  rax         "CSE #02: moderate"
 ;  V73 cse1         [V73,T22] (  3,  1.50)     int  ->  rcx         "CSE #05: moderate"
-;  V74 cse2         [V74,T23] (  3,  1.50)     int  ->  rax         "CSE #08: moderate"
 ;
 ; Lcl frame size = 136
 
@@ -238,7 +237,7 @@ G_M3143_IG12:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=00
        mov      gword ptr [rbp-0xA0], r12
        ; GC ptr vars +{V05}
 						;; size=37 bbWeight=0.50 PerfScore 3.00
-G_M3143_IG13:        ; bbWeight=0.50, gcVars=0000000004000000 {V05}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M3143_IG13:        ; bbWeight=0.50, gcVars=0000000002000000 {V05}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      byte  ptr [rbx+0xC3], 1
        mov      word  ptr [rbx+0xC4], 257
        mov      rcx, r12
@@ -396,13 +395,8 @@ G_M3143_IG20:        ; bbWeight=0.50, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byre
        lea      rcx, bword ptr [r13+0x0E]
        ; gcrRegs -[rcx]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xF7F
-       or       eax, edx
-       mov      word  ptr [rcx], ax
-						;; size=38 bbWeight=0.50 PerfScore 4.88
+       and      word  ptr [rcx], 0xFF7F
+						;; size=22 bbWeight=0.50 PerfScore 4.38
 G_M3143_IG21:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rsi]
        ; byrRegs -[rcx]
@@ -486,11 +480,11 @@ G_M3143_IG27:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
 						;; size=23 bbWeight=1 PerfScore 6.25
-G_M3143_IG28:        ; bbWeight=0, gcVars=0000000004000000 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M3143_IG28:        ; bbWeight=0, gcVars=0000000002000000 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V05}
        sub      rsp, 40
 						;; size=4 bbWeight=0 PerfScore 0.00
-G_M3143_IG29:        ; bbWeight=0, gcVars=0000000004000000 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M3143_IG29:        ; bbWeight=0, gcVars=0000000002000000 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rdx, gword ptr [rbp-0xA0]
        ; gcrRegs +[rdx]
        cmp      byte  ptr [rdx+0x3C], 0
@@ -512,7 +506,7 @@ G_M3143_IG31:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 960, prolog size 68, PerfScore 166.23, instruction count 242, allocated bytes for code 960 (MethodHash=3bfcf3b8) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:TryScanXmlDocComment(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):bool:this (FullOpts)
+; Total bytes of code 944, prolog size 68, PerfScore 165.73, instruction count 237, allocated bytes for code 944 (MethodHash=3bfcf3b8) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:TryScanXmlDocComment(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):bool:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-0.53%) : 72907.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:TryParseXmlCrefAttributeValue(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax,byref):bool:this (FullOpts)
@@ -9,193 +9,192 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 64, 58.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser>
-;  V01 arg1         [V01,T16] (  5,  3.25)     ref  ->  rdx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNodeSyntax>
-;  V02 arg2         [V02,T13] (  7,  4.50)     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
-;  V03 arg3         [V03,T17] (  4,  3   )   byref  ->  rdi         single-def
-;  V04 loc0         [V04,T66] (  3,  2   )   ubyte  ->  rax        
-;  V05 loc1         [V05,T19] (  9,  4.50)     ref  ->  rbp         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNameSyntax>
-;  V06 loc2         [V06,T14] (  5,  6   )     int  ->  r14        
-;  V07 loc3         [V07,T20] (  8,  4   )     ref  ->  r13         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
+;  V01 arg1         [V01,T15] (  5,  3.25)     ref  ->  rdx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNodeSyntax>
+;  V02 arg2         [V02,T12] (  7,  4.50)     ref  ->  rsi         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
+;  V03 arg3         [V03,T16] (  4,  3   )   byref  ->  rdi         single-def
+;  V04 loc0         [V04,T65] (  3,  2   )   ubyte  ->  rax        
+;  V05 loc1         [V05,T18] (  9,  4.50)     ref  ->  rbp         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNameSyntax>
+;  V06 loc2         [V06,T13] (  5,  6   )     int  ->  r14        
+;  V07 loc3         [V07,T19] (  8,  4   )     ref  ->  r13         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
 ;  V08 loc4         [V08    ] (  7,  3.50)  struct (96) [rsp+0xA8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+RestorePoint>
-;  V09 loc5         [V09,T87] (  3,  1.50)     ref  ->  rax         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V10 loc6         [V10,T60] (  4,  2   )     ref  ->  r15         class-hnd exact single-def <System.String>
+;  V09 loc5         [V09,T86] (  3,  1.50)     ref  ->  rax         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V10 loc6         [V10,T59] (  4,  2   )     ref  ->  r15         class-hnd exact single-def <System.String>
 ;  V11 loc7         [V11,T04] ( 14, 20.50)     ref  ->  r15         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
-;  V12 loc8         [V12,T18] ( 10,  4.53)     ref  ->  r12         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PredefinedTypeSyntax>
+;  V12 loc8         [V12,T17] ( 10,  4.53)     ref  ->  r12         class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PredefinedTypeSyntax>
 ;  V13 loc9         [V13,T03] (  7, 21   )  ushort  ->  r12        
-;  V14 loc10        [V14,T61] (  4,  2   )     ref  ->  r12         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
+;  V14 loc10        [V14,T60] (  4,  2   )     ref  ->  r12         class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
 ;* V15 loc11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V16 loc12        [V16,T88] (  3,  1.50)     ref  ->  r14         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
+;  V16 loc12        [V16,T87] (  3,  1.50)     ref  ->  r14         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax>
 ;  V17 OutArgs      [V17    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V18 tmp1         [V18,T113] (  2,  1   )     int  ->  r14        
-;  V19 tmp2         [V19,T67] (  2,  2   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
-;  V20 tmp3         [V20,T114] (  2,  1   )     int  ->  r14        
+;  V18 tmp1         [V18,T112] (  2,  1   )     int  ->  r14        
+;  V19 tmp2         [V19,T66] (  2,  2   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
+;  V20 tmp3         [V20,T113] (  2,  1   )     int  ->  r14        
 ;* V21 tmp4         [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNameTokenSyntax>
 ;* V22 tmp5         [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V23 tmp6         [V23,T50] (  5,  2.88)     ref  ->  rcx         single-def "spilling varStr"
+;  V23 tmp6         [V23,T49] (  5,  2.88)     ref  ->  rcx         single-def "spilling varStr"
 ;* V24 tmp7         [V24    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V25 tmp8         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V26 tmp9         [V26,T55] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V26 tmp9         [V26,T54] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V27 tmp10        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V28 tmp11        [V28,T56] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V28 tmp11        [V28,T55] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V29 tmp12        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V30 tmp13        [V30,T51] (  6,  2.62)     ref  ->  r13         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V30 tmp13        [V30,T50] (  6,  2.62)     ref  ->  r13         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V31 tmp14        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V32 tmp15        [V32,T57] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V32 tmp15        [V32,T56] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V33 tmp16        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V34 tmp17        [V34,T58] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V34 tmp17        [V34,T57] (  5,  2.50)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V35 tmp18        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V36 tmp19        [V36,T52] (  6,  2.62)     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V37 tmp20        [V37,T11] (  8,  8   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner>
-;  V38 tmp21        [V38,T21] (  4,  4   )  struct (96) [rsp+0x48]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+RestorePoint>
-;  V39 tmp22        [V39,T74] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;  V36 tmp19        [V36,T51] (  6,  2.62)     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V37 tmp20        [V37,T10] (  8,  8   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner>
+;  V38 tmp21        [V38,T20] (  4,  4   )  struct (96) [rsp+0x48]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner+RestorePoint>
+;  V39 tmp22        [V39,T73] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V40 tmp23        [V40    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V41 tmp24        [V41,T75] (  2,  2   )  ushort  ->  r12         "Inlining Arg"
-;  V42 tmp25        [V42,T33] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.String>
+;  V41 tmp24        [V41,T74] (  2,  2   )  ushort  ->  r12         "Inlining Arg"
+;  V42 tmp25        [V42,T32] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.String>
 ;* V43 tmp26        [V43    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;* V44 tmp27        [V44    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
 ;* V45 tmp28        [V45    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp29        [V46    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V47 tmp30        [V47,T76] (  2,  2   )  ushort  ->  r15         "Inlining Arg"
-;  V48 tmp31        [V48,T34] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.String>
+;  V47 tmp30        [V47,T75] (  2,  2   )  ushort  ->  r15         "Inlining Arg"
+;  V48 tmp31        [V48,T33] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.String>
 ;* V49 tmp32        [V49    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;* V50 tmp33        [V50    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
 ;* V51 tmp34        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V52 tmp35        [V52,T22] (  4,  4   )     int  ->  rdx         "Inlining Arg"
+;  V52 tmp35        [V52,T21] (  4,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V53 tmp36        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V54 tmp37        [V54,T62] (  3,  1.50)     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V54 tmp37        [V54,T61] (  3,  1.50)     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V55 tmp38        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V56 tmp39        [V56,T54] (  6,  2.50)     ref  ->  r12         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V57 tmp40        [V57,T23] (  4,  4   )     int  ->  rdx         "Inlining Arg"
+;  V56 tmp39        [V56,T53] (  6,  2.50)     ref  ->  r12         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V57 tmp40        [V57,T22] (  4,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V58 tmp41        [V58    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
-;  V59 tmp42        [V59,T35] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
-;  V60 tmp43        [V60,T30] (  7,  3.50)     int  ->  [rsp+0x44]  ld-addr-op "Inline ldloca(s) first use temp"
+;  V59 tmp42        [V59,T34] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
+;  V60 tmp43        [V60,T29] (  7,  3.50)     int  ->  [rsp+0x44]  ld-addr-op "Inline ldloca(s) first use temp"
 ;* V61 tmp44        [V61    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V62 tmp45        [V62,T10] ( 10, 10   )     ref  ->  [rsp+0x28]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
+;  V62 tmp45        [V62,T09] ( 10, 10   )     ref  ->  [rsp+0x28]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
 ;* V63 tmp46        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
-;  V64 tmp47        [V64,T89] (  3,  1.50)     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
+;  V64 tmp47        [V64,T88] (  3,  1.50)     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
 ;* V65 tmp48        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
-;  V66 tmp49        [V66,T86] (  5,  1.75)     ref  ->  rdx         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.GreenNode>
-;  V67 tmp50        [V67,T49] (  3,  3   )  ushort  ->  [rsp+0x40]  spill-single-def "Inlining Arg"
-;  V68 tmp51        [V68,T77] (  2,  2   )     int  ->  rax         "dup spill"
+;  V66 tmp49        [V66,T85] (  5,  1.75)     ref  ->  rdx         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V67 tmp50        [V67,T48] (  3,  3   )  ushort  ->  [rsp+0x40]  spill-single-def "Inlining Arg"
+;  V68 tmp51        [V68,T76] (  2,  2   )     int  ->  rax         "dup spill"
 ;* V69 tmp52        [V69    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
 ;* V70 tmp53        [V70    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
 ;* V71 tmp54        [V71    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V72 tmp55        [V72    ] (  0,  0   )  struct (16) zero-ref    "Inline stloc first use temp" <Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxNodeCache+Entry>
 ;* V73 tmp56        [V73    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V74 tmp57        [V74,T115] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V74 tmp57        [V74,T114] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V75 tmp58        [V75    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V76 tmp59        [V76    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V77 tmp60        [V77,T63] (  4,  2   )     int  ->  [rsp+0x3C]  "Inline stloc first use temp"
-;  V78 tmp61        [V78,T107] (  3,  1   )     int  ->  rax         "Inline return value spill temp"
-;  V79 tmp62        [V79,T102] (  3,  1.47)     int  ->  rax         single-def "Inline stloc first use temp"
-;* V80 tmp63        [V80,T123] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V77 tmp60        [V77,T62] (  4,  2   )     int  ->  [rsp+0x3C]  "Inline stloc first use temp"
+;  V78 tmp61        [V78,T106] (  3,  1   )     int  ->  rax         "Inline return value spill temp"
+;  V79 tmp62        [V79,T101] (  3,  1.47)     int  ->  rax         single-def "Inline stloc first use temp"
+;* V80 tmp63        [V80,T122] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V81 tmp64        [V81    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
 ;* V82 tmp65        [V82    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V83 tmp66        [V83,T90] (  3,  1.50)     int  ->  registers   "Inline return value spill temp"
-;  V84 tmp67        [V84,T91] (  3,  1.50)   ubyte  ->  rdx         single-def "Inline stloc first use temp"
+;  V83 tmp66        [V83,T89] (  3,  1.50)     int  ->  registers   "Inline return value spill temp"
+;  V84 tmp67        [V84,T90] (  3,  1.50)   ubyte  ->  rdx         single-def "Inline stloc first use temp"
 ;* V85 tmp68        [V85    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V86 tmp69        [V86,T68] (  2,  2   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
-;* V87 tmp70        [V87,T120] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V88 tmp71        [V88,T36] (  3,  3   )   byref  ->  rcx         single-def "Inlining Arg"
+;  V86 tmp69        [V86,T67] (  2,  2   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
+;* V87 tmp70        [V87,T119] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;  V88 tmp71        [V88,T35] (  3,  3   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V89 tmp72        [V89    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V90 tmp73        [V90,T37] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
-;  V91 tmp74        [V91,T78] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V90 tmp73        [V90,T36] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
+;  V91 tmp74        [V91,T77] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V92 tmp75        [V92    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp76        [V93    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;  V94 tmp77        [V94,T07] (  3, 12   )     ref  ->  r12         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V95 tmp78        [V95    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
-;  V96 tmp79        [V96,T53] (  6,  2.62)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
+;  V96 tmp79        [V96,T52] (  6,  2.62)     ref  ->  r14         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V97 tmp80        [V97    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V98 tmp81        [V98,T69] (  2,  2   )     ref  ->  rbx         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
+;  V98 tmp81        [V98,T68] (  2,  2   )     ref  ->  rbx         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
 ;  V99 tmp82        [V99,T05] ( 20, 20   )     ref  ->  r14         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlCrefAttributeSyntax>
-;  V100 tmp83       [V100,T70] (  2,  2   )     ref  ->  rdx         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
-;* V101 tmp84       [V101,T121] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V102 tmp85       [V102,T38] (  3,  3   )   byref  ->  rcx         "Inlining Arg"
+;  V100 tmp83       [V100,T69] (  2,  2   )     ref  ->  rdx         class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
+;* V101 tmp84       [V101,T120] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;  V102 tmp85       [V102,T37] (  3,  3   )   byref  ->  rcx         "Inlining Arg"
 ;* V103 tmp86       [V103    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V104 tmp87       [V104,T39] (  3,  3   )   byref  ->  rdx         "dup spill"
-;  V105 tmp88       [V105,T79] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V104 tmp87       [V104,T38] (  3,  3   )   byref  ->  rdx         "dup spill"
+;  V105 tmp88       [V105,T78] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V106 tmp89       [V106    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V107 tmp90       [V107    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V108 tmp91       [V108,T40] (  3,  3   )   byref  ->  rdx         "dup spill"
-;  V109 tmp92       [V109,T80] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V108 tmp91       [V108,T39] (  3,  3   )   byref  ->  rdx         "dup spill"
+;  V109 tmp92       [V109,T79] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V110 tmp93       [V110    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V111 tmp94       [V111    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V112 tmp95       [V112,T41] (  3,  3   )   byref  ->  rdx         "dup spill"
-;  V113 tmp96       [V113,T81] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V112 tmp95       [V112,T40] (  3,  3   )   byref  ->  rdx         "dup spill"
+;  V113 tmp96       [V113,T80] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V114 tmp97       [V114    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V115 tmp98       [V115    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V116 tmp99       [V116,T42] (  3,  3   )   byref  ->  rdx         "dup spill"
-;  V117 tmp100      [V117,T82] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V116 tmp99       [V116,T41] (  3,  3   )   byref  ->  rdx         "dup spill"
+;  V117 tmp100      [V117,T81] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V118 tmp101      [V118    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V119 tmp102      [V119    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V120 tmp103      [V120,T43] (  3,  3   )   byref  ->  rbx         "dup spill"
-;  V121 tmp104      [V121,T83] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V120 tmp103      [V120,T42] (  3,  3   )   byref  ->  rbx         "dup spill"
+;  V121 tmp104      [V121,T82] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V122 tmp105      [V122    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V123 tmp106      [V123    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;  V124 tmp107      [V124,T02] (  7, 22   )     ref  ->  r12         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxToken>
 ;* V125 tmp108      [V125    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
-;  V126 tmp109      [V126,T12] (  3,  8   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
+;  V126 tmp109      [V126,T11] (  3,  8   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax>
 ;* V127 tmp110      [V127    ] (  0,  0   )  struct ( 8) zero-ref    "Inline stloc first use temp" <Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[Microsoft.CodeAnalysis.GreenNode]>
 ;  V128 tmp111      [V128,T01] (  3, 24   )   byref  ->  rcx         "dup spill"
 ;* V129 tmp112      [V129    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V130 tmp113      [V130,T08] (  2, 16   )     int  ->  rdx         "Inlining Arg"
-;  V131 tmp114      [V131,T71] (  2,  2   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
+;  V131 tmp114      [V131,T70] (  2,  2   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ContextAwareSyntaxFactory>
 ;  V132 tmp115      [V132,T06] ( 19, 19   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlCrefAttributeSyntax>
-;  V133 tmp116      [V133,T72] (  2,  2   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
-;* V134 tmp117      [V134,T122] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V135 tmp118      [V135,T44] (  3,  3   )   byref  ->  rcx         single-def "Inlining Arg"
+;  V133 tmp116      [V133,T71] (  2,  2   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ISyntaxFactoryContext>
+;* V134 tmp117      [V134,T121] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;  V135 tmp118      [V135,T43] (  3,  3   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V136 tmp119      [V136    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V137 tmp120      [V137,T45] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
-;  V138 tmp121      [V138,T84] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V137 tmp120      [V137,T44] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
+;  V138 tmp121      [V138,T83] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V139 tmp122      [V139    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V140 tmp123      [V140    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V141 tmp124      [V141,T46] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
-;  V142 tmp125      [V142,T85] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
+;  V141 tmp124      [V141,T45] (  3,  3   )   byref  ->  rdx         single-def "dup spill"
+;  V142 tmp125      [V142,T84] (  2,  2   )  ushort  ->  rcx         "Inlining Arg"
 ;* V143 tmp126      [V143    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V144 tmp127      [V144    ] (  0,  0   )    long  ->  zero-ref    single-def "field V43.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V145 tmp128      [V145    ] (  0,  0   )    long  ->  zero-ref    single-def "field V44.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V146 tmp129      [V146    ] (  0,  0   )    long  ->  zero-ref    single-def "field V49.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V147 tmp130      [V147    ] (  0,  0   )    long  ->  zero-ref    single-def "field V50.m_asTAddr (fldOffset=0x0)" P-INDEP
-;  V148 tmp131      [V148,T15] ( 11,  5.50)     ref  ->  [rsp+0x20]  spill-single-def "field V72.node (fldOffset=0x0)" P-INDEP
-;  V149 tmp132      [V149,T116] (  2,  1   )     int  ->  rcx         single-def "field V72.hash (fldOffset=0x8)" P-INDEP
-;  V150 tmp133      [V150,T24] (  2,  4   )     ref  ->   r8         "field V127._node (fldOffset=0x0)" P-INDEP
+;  V148 tmp131      [V148,T14] ( 11,  5.50)     ref  ->  [rsp+0x20]  spill-single-def "field V72.node (fldOffset=0x0)" P-INDEP
+;  V149 tmp132      [V149,T115] (  2,  1   )     int  ->  rcx         single-def "field V72.hash (fldOffset=0x8)" P-INDEP
+;  V150 tmp133      [V150,T23] (  2,  4   )     ref  ->   r8         "field V127._node (fldOffset=0x0)" P-INDEP
 ;* V151 tmp134      [V151    ] (  0,  0   )     ref  ->  zero-ref    single-def "V38.[000..008)"
-;  V152 tmp135      [V152,T111] (  2,  1   )     ref  ->  rax         single-def "V38.[008..016)"
-;  V153 tmp136      [V153,T112] (  2,  1   )     ref  ->   r8         single-def "V38.[016..024)"
-;  V154 tmp137      [V154,T117] (  2,  1   )     int  ->  rcx         single-def "V38.[024..028)"
-;  V155 tmp138      [V155,T118] (  2,  1   )     int  ->  rdx         single-def "V38.[028..032)"
-;  V156 tmp139      [V156,T73] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
-;  V157 tmp140      [V157,T47] (  3,  3   )     ref  ->  rcx         single-def "arr expr"
-;  V158 tmp141      [V158,T48] (  3,  3   )   byref  ->  rcx         single-def "BlockOp address local"
-;  V159 tmp142      [V159,T59] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
-;  V160 cse0        [V160,T92] (  3,  1.50)     int  ->  rcx         "CSE #03: conservative"
-;  V161 cse1        [V161,T32] (  6,  3   )    long  ->  [rsp+0x30]  multi-def "CSE #10: conservative"
-;  V162 cse2        [V162,T93] (  3,  1.50)     int  ->  rcx         "CSE #08: conservative"
-;  V163 cse3        [V163,T09] (  3, 12   )     int  ->  rdx         "CSE #14: aggressive"
-;  V164 cse4        [V164,T94] (  3,  1.50)     int  ->  rax         "CSE #12: conservative"
+;  V152 tmp135      [V152,T110] (  2,  1   )     ref  ->  rax         single-def "V38.[008..016)"
+;  V153 tmp136      [V153,T111] (  2,  1   )     ref  ->   r8         single-def "V38.[016..024)"
+;  V154 tmp137      [V154,T116] (  2,  1   )     int  ->  rcx         single-def "V38.[024..028)"
+;  V155 tmp138      [V155,T117] (  2,  1   )     int  ->  rdx         single-def "V38.[028..032)"
+;  V156 tmp139      [V156,T72] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
+;  V157 tmp140      [V157,T46] (  3,  3   )     ref  ->  rcx         single-def "arr expr"
+;  V158 tmp141      [V158,T47] (  3,  3   )   byref  ->  rcx         single-def "BlockOp address local"
+;  V159 tmp142      [V159,T58] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
+;  V160 cse0        [V160,T91] (  3,  1.50)     int  ->  rcx         "CSE #03: conservative"
+;  V161 cse1        [V161,T31] (  6,  3   )    long  ->  [rsp+0x30]  multi-def "CSE #10: conservative"
+;  V162 cse2        [V162,T92] (  3,  1.50)     int  ->  rcx         "CSE #08: conservative"
+;  V163 cse3        [V163,T93] (  3,  1.50)     int  ->  rax         "CSE #12: conservative"
+;  V164 cse4        [V164,T94] (  3,  1.50)     int  ->  rax         "CSE #17: conservative"
 ;  V165 cse5        [V165,T95] (  3,  1.50)     int  ->  rax         "CSE #18: conservative"
 ;  V166 cse6        [V166,T96] (  3,  1.50)     int  ->  rax         "CSE #19: conservative"
 ;  V167 cse7        [V167,T97] (  3,  1.50)     int  ->  rax         "CSE #20: conservative"
-;  V168 cse8        [V168,T98] (  3,  1.50)     int  ->  rax         "CSE #21: conservative"
-;  V169 cse9        [V169,T99] (  3,  1.50)     int  ->  rdx         "CSE #22: conservative"
+;  V168 cse8        [V168,T98] (  3,  1.50)     int  ->  rdx         "CSE #21: conservative"
+;  V169 cse9        [V169,T99] (  3,  1.50)     int  ->  rax         "CSE #24: conservative"
 ;  V170 cse10       [V170,T100] (  3,  1.50)     int  ->  rax         "CSE #25: conservative"
-;  V171 cse11       [V171,T101] (  3,  1.50)     int  ->  rax         "CSE #26: conservative"
-;  V172 cse12       [V172,T29] (  7,  3.50)   byref  ->  rbx         "CSE #17: moderate"
-;  V173 cse13       [V173,T119] (  2,  1   )     int  ->  rcx         "CSE #04: conservative"
-;  V174 rat0        [V174,T64] (  3,  2   )     ref  ->  rbp         "replacement local"
-;  V175 rat1        [V175,T108] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
-;  V176 rat2        [V176,T25] (  5,  3.75)     ref  ->  rax         "replacement local"
-;  V177 rat3        [V177,T103] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
-;  V178 rat4        [V178,T26] (  5,  3.75)     ref  ->  r13         "replacement local"
-;  V179 rat5        [V179,T104] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
-;  V180 rat6        [V180,T31] (  4,  3.50)     ref  ->  rdx         "replacement local"
-;  V181 rat7        [V181,T109] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
-;  V182 rat8        [V182,T65] (  3,  2   )     ref  ->  r15         "replacement local"
-;  V183 rat9        [V183,T110] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
-;  V184 rat10       [V184,T27] (  5,  3.75)     ref  ->  r12         "replacement local"
-;  V185 rat11       [V185,T105] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
-;  V186 rat12       [V186,T28] (  5,  3.75)     ref  ->  r14         "replacement local"
-;  V187 rat13       [V187,T106] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V171 cse11       [V171,T28] (  7,  3.50)   byref  ->  rbx         "CSE #16: moderate"
+;  V172 cse12       [V172,T118] (  2,  1   )     int  ->  rcx         "CSE #04: conservative"
+;  V173 rat0        [V173,T63] (  3,  2   )     ref  ->  rbp         "replacement local"
+;  V174 rat1        [V174,T107] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
+;  V175 rat2        [V175,T24] (  5,  3.75)     ref  ->  rax         "replacement local"
+;  V176 rat3        [V176,T102] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V177 rat4        [V177,T25] (  5,  3.75)     ref  ->  r13         "replacement local"
+;  V178 rat5        [V178,T103] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V179 rat6        [V179,T30] (  4,  3.50)     ref  ->  rdx         "replacement local"
+;  V180 rat7        [V180,T108] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
+;  V181 rat8        [V181,T64] (  3,  2   )     ref  ->  r15         "replacement local"
+;  V182 rat9        [V182,T109] (  3,  1   )    long  ->  rcx         "CSE for expectedClsNode"
+;  V183 rat10       [V183,T26] (  5,  3.75)     ref  ->  r12         "replacement local"
+;  V184 rat11       [V184,T104] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V185 rat12       [V185,T27] (  5,  3.75)     ref  ->  r14         "replacement local"
+;  V186 rat13       [V186,T105] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 264
 
@@ -776,9 +775,9 @@ G_M43187_IG39:        ; bbWeight=0.03, gcrefRegs=B068 {rbx rbp rsi r12 r13 r15},
        ; gcr arg pop 0
        jmp      G_M43187_IG36
 						;; size=14 bbWeight=0.03 PerfScore 0.13
-G_M43187_IG40:        ; bbWeight=0.50, gcVars=00000000000000000000000000008000 {V148}, gcrefRegs=B168 {rbx rbp rsi r8 r12 r13 r15}, byrefRegs=0080 {rdi}, gcvars, byref
+G_M43187_IG40:        ; bbWeight=0.50, gcVars=00000000000000000000000000004000 {V148}, gcrefRegs=B168 {rbx rbp rsi r8 r12 r13 r15}, byrefRegs=0080 {rdi}, gcvars, byref
        ; gcrRegs +[r8]
-       ; GC ptr vars +{V148}
+       ; GC ptr vars +{V14 V148}
        mov      rcx, r8
        ; gcrRegs +[rcx]
        mov      rdx, qword ptr [r8]
@@ -831,7 +830,7 @@ G_M43187_IG41:        ; bbWeight=0.50, gcrefRegs=B168 {rbx rbp rsi r8 r12 r13 r1
 						;; size=101 bbWeight=0.50 PerfScore 12.62
 G_M43187_IG42:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}, gcrefRegs=B06C {rdx rbx rbp rsi r12 r13 r15}, byrefRegs=0080 {rdi}, gcvars, byref, isz
        ; gcrRegs -[rax r8]
-       ; GC ptr vars -{V148}
+       ; GC ptr vars -{V14 V148}
        test     rdx, rdx
        jne      G_M43187_IG44
        mov      rcx, 0xD1FFAB1E      ; Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CrefReferenceSyntax
@@ -918,12 +917,7 @@ G_M43187_IG46:        ; bbWeight=4, gcrefRegs=A068 {rbx rbp rsi r13 r15}, byrefR
        cmp      byte  ptr [r15], r15b
        lea      rcx, bword ptr [r15+0x0E]
        ; byrRegs +[rcx]
-       movzx    rdx, word  ptr [rcx]
-       mov      eax, edx
-       and      eax, 0xF000
-       and      edx, 0xF7F
-       or       edx, eax
-       mov      word  ptr [rcx], dx
+       and      word  ptr [rcx], 0xFF7F
        mov      edx, r14d
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
@@ -932,7 +926,7 @@ G_M43187_IG46:        ; bbWeight=4, gcrefRegs=A068 {rbx rbp rsi r13 r15}, byrefR
        call     [Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Scanner:GetNextTokenInState(int):this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-						;; size=43 bbWeight=4 PerfScore 55.00
+						;; size=27 bbWeight=4 PerfScore 51.00
 G_M43187_IG47:        ; bbWeight=4, gcrefRegs=A068 {rbx rbp rsi r13 r15}, byrefRegs=0080 {rdi}, byref, isz
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -1450,7 +1444,7 @@ G_M43187_IG71:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3009, prolog size 85, PerfScore 536.31, instruction count 707, allocated bytes for code 3009 (MethodHash=e5aa574c) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:TryParseXmlCrefAttributeValue(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax,byref):bool:this (FullOpts)
+; Total bytes of code 2993, prolog size 85, PerfScore 532.31, instruction count 702, allocated bytes for code 2993 (MethodHash=e5aa574c) for method Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:TryParseXmlCrefAttributeValue(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.PunctuationSyntax,byref):bool:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-9 (-0.34%) : 59017.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReclassifyArrayLiteralExpression(ushort,Microsoft.CodeAnalysis.SyntaxNode,int,bool,Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
@@ -11,7 +11,7 @@
 ;  V00 this         [V00,T05] ( 13,  7.50)     ref  ->  rsi         this class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Binder>
 ;  V01 arg1         [V01,T15] (  6,  3   )  ushort  ->  r13         single-def
 ;  V02 arg2         [V02,T09] (  8,  5   )     ref  ->  r14         class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
-;  V03 arg3         [V03,T06] ( 11,  7.50)     int  ->  registers  
+;  V03 arg3         [V03,T06] ( 10,  6.50)     int  ->  registers  
 ;  V04 arg4         [V04,T43] (  3,  1.50)   ubyte  ->  [rbp+0x30]  single-def
 ;  V05 arg5         [V05,T03] ( 21, 10.50)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral>
 ;  V06 arg6         [V06,T12] ( 11,  5.50)     ref  ->  r15         class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
@@ -317,13 +317,9 @@ G_M11402_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[r12]
 						;; size=51 bbWeight=1 PerfScore 12.75
 G_M11402_IG02:        ; bbWeight=1, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref
-       mov      edx, edi
-       and      edx, 3
-       mov      ecx, edi
-       and      ecx, 0xD1FFAB1E
-       or       edx, ecx
+       test     edi, 0xD1FFAB1E
        je       G_M11402_IG30
-						;; size=21 bbWeight=1 PerfScore 2.25
+						;; size=12 bbWeight=1 PerfScore 1.25
 G_M11402_IG03:        ; bbWeight=0.50, gcrefRegs=D048 {rbx rsi r12 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      r8, gword ptr [rbx+0x20]
        ; gcrRegs +[r8]
@@ -1401,7 +1397,7 @@ G_M11402_IG67:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2623, prolog size 27, PerfScore 295.62, instruction count 592, allocated bytes for code 2623 (MethodHash=359ad375) for method Microsoft.CodeAnalysis.VisualBasic.Binder:ReclassifyArrayLiteralExpression(ushort,Microsoft.CodeAnalysis.SyntaxNode,int,bool,Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
+; Total bytes of code 2614, prolog size 27, PerfScore 294.62, instruction count 588, allocated bytes for code 2614 (MethodHash=359ad375) for method Microsoft.CodeAnalysis.VisualBasic.Binder:ReclassifyArrayLiteralExpression(ushort,Microsoft.CodeAnalysis.SyntaxNode,int,bool,Microsoft.CodeAnalysis.VisualBasic.BoundArrayLiteral,Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
libraries_tests.run.windows.x64.Release.mch
-3 (-18.75%) : 55671.dasm - Xunit.Sdk.Sha1Digest:G(uint,uint,uint):uint (Tier1)
@@ -9,9 +9,9 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  4,  4   )     int  ->  rcx         single-def
-;  V01 arg1         [V01,T01] (  4,  4   )     int  ->  rdx         single-def
-;  V02 arg2         [V02,T02] (  4,  4   )     int  ->   r8         single-def
+;  V00 arg0         [V00,T02] (  3,  3   )     int  ->  rcx         single-def
+;  V01 arg1         [V01,T00] (  4,  4   )     int  ->  rdx         single-def
+;  V02 arg2         [V02,T01] (  4,  4   )     int  ->   r8         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;
 ; Lcl frame size = 0
@@ -19,18 +19,17 @@
 G_M45053_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
 						;; size=0 bbWeight=1 PerfScore 0.00
 G_M45053_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      eax, ecx
-       and      eax, edx
-       and      ecx, r8d
+       mov      eax, edx
+       and      eax, r8d
+       or       edx, r8d
+       and      ecx, edx
        or       eax, ecx
-       and      r8d, edx
-       or       eax, r8d
-						;; size=15 bbWeight=1 PerfScore 1.50
+						;; size=12 bbWeight=1 PerfScore 1.25
 G_M45053_IG03:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=1 bbWeight=1 PerfScore 1.00
 
-; Total bytes of code 16, prolog size 0, PerfScore 2.50, instruction count 7, allocated bytes for code 16 (MethodHash=10e45002) for method Xunit.Sdk.Sha1Digest:G(uint,uint,uint):uint (Tier1)
+; Total bytes of code 13, prolog size 0, PerfScore 2.25, instruction count 6, allocated bytes for code 13 (MethodHash=10e45002) for method Xunit.Sdk.Sha1Digest:G(uint,uint,uint):uint (Tier1)
 ; ============================================================
 
 Unwind Info:
-32 (-3.59%) : 392565.dasm - Xunit.Sdk.AsyncUtility:TryConvertToTask(System.Object):System.Threading.Tasks.Task (Tier1)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  7,  4.04)     ref  ->  rbx         class-hnd single-def <System.Object>
-;  V01 loc0         [V01,T03] (  4,  3.48)     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
+;  V01 loc0         [V01,T02] (  4,  3.48)     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T05] (  4,  0   )     ref  ->  rsi         class-hnd exact single-def <System.RuntimeType>
 ;  V03 loc2         [V03,T04] (  5,  0   )     ref  ->  rdi         class-hnd single-def <System.Reflection.TypeInfo>
 ;  V04 loc3         [V04,T09] (  3,  0   )     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
@@ -30,7 +30,7 @@
 ;  V18 tmp13        [V18,T16] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V19 tmp14        [V19,T07] (  4,  0   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.MethodInfo,bool]>
 ;  V20 tmp15        [V20,T17] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V21 tmp16        [V21,T02] (  8,  4.88)     int  ->  rcx         single-def "Inline stloc first use temp"
+;  V21 tmp16        [V21,T03] (  6,  3.14)     int  ->  rcx         single-def "Inline stloc first use temp"
 ;* V22 tmp17        [V22,T08] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp18        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V24 tmp19        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.Reflection.MethodInfo]>
@@ -58,10 +58,10 @@ G_M3689_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rcx
        ; gcrRegs +[rbx]
 						;; size=18 bbWeight=1 PerfScore 5.75
-G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
-       je       G_M3689_IG08
-						;; size=9 bbWeight=1 PerfScore 1.25
+       je       SHORT G_M3689_IG08
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M3689_IG03:        ; bbWeight=0.87, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rax, rbx
        ; gcrRegs +[rax]
@@ -73,16 +73,9 @@ G_M3689_IG04:        ; bbWeight=0.87, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {
        test     rax, rax
        je       G_M3689_IG11
        mov      ecx, dword ptr [rax+0x34]
-       mov      edx, ecx
-       and      edx, 0xD1FFAB1E
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       or       edx, r8d
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       or       edx, r8d
+       test     ecx, 0xD1FFAB1E
        jne      SHORT G_M3689_IG06
-						;; size=48 bbWeight=0.87 PerfScore 5.44
+						;; size=20 bbWeight=0.87 PerfScore 3.92
 G_M3689_IG05:        ; bbWeight=0.35, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        test     ecx, 0xD1FFAB1E
@@ -423,7 +416,7 @@ G_M3689_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 892, prolog size 15, PerfScore 21.10, instruction count 205, allocated bytes for code 892 (MethodHash=6785f196) for method Xunit.Sdk.AsyncUtility:TryConvertToTask(System.Object):System.Threading.Tasks.Task (Tier1)
+; Total bytes of code 860, prolog size 15, PerfScore 19.57, instruction count 198, allocated bytes for code 860 (MethodHash=6785f196) for method Xunit.Sdk.AsyncUtility:TryConvertToTask(System.Object):System.Threading.Tasks.Task (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-2.74%) : 242261.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
@@ -14,7 +14,7 @@
 ;  V02 loc1         [V02,T11] (  6,  0   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T16] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T12] (  5,  0   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T15] (  3,  0   )     int  ->  rax        
+;  V05 loc4         [V05,T15] (  2,  0   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V08 tmp2         [V08,T10] (  3,  2   )     int  ->  rcx        
@@ -178,12 +178,9 @@ G_M56028_IG14:        ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG16
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M56028_IG15:        ; bbWeight=0, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -224,7 +221,7 @@ G_M56028_IG19:        ; bbWeight=0, epilog, nogc, extend
        ret      
 						;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 292, prolog size 10, PerfScore 32.94, instruction count 99, allocated bytes for code 292 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
+; Total bytes of code 284, prolog size 10, PerfScore 32.94, instruction count 96, allocated bytes for code 284 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-11 (-1.84%) : 399940.dasm - System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (Tier1)
@@ -18,10 +18,10 @@
 ;* V06 tmp2         [V06    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V07 tmp3         [V07    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V08 tmp4         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V09 tmp5         [V09,T04] (  4,  3.94)     int  ->  rcx         "Inline stloc first use temp"
+;  V09 tmp5         [V09,T06] (  3,  2.94)     int  ->  rcx         "Inline stloc first use temp"
 ;* V10 tmp6         [V10,T11] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V11 tmp7         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V12 tmp8         [V12,T05] (  8,  4.17)     int  ->  rcx         "Inline stloc first use temp"
+;  V12 tmp8         [V12,T04] (  8,  4.17)     int  ->  rcx         "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T07] (  8,  3.00)     int  ->  rdx         "Inline stloc first use temp"
 ;  V14 tmp10        [V14,T09] (  3,  2.00)     int  ->  rcx        
 ;  V15 tmp11        [V15,T10] (  3,  2.00)   ubyte  ->  rcx         "Inline return value spill temp"
@@ -34,7 +34,7 @@
 ;* V22 tmp18        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp19        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp20        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V25 tmp21        [V25,T06] (  2,  3.94)   byref  ->  rcx         single-def "Inlining Arg"
+;  V25 tmp21        [V25,T05] (  2,  3.94)   byref  ->  rcx         single-def "Inlining Arg"
 ;  V26 tmp22        [V26,T03] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
 ;
 ; Lcl frame size = 32
@@ -62,13 +62,9 @@ G_M30140_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 						;; size=26 bbWeight=0.50 PerfScore 1.75
 G_M30140_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x34]
-       mov      edx, ecx
-       and      edx, 0xD1FFAB1E
-       mov      eax, ecx
-       and      eax, 0xD1FFAB1E
-       or       edx, eax
+       test     ecx, 0xD1FFAB1E
        jne      SHORT G_M30140_IG07
-						;; size=22 bbWeight=1 PerfScore 4.25
+						;; size=11 bbWeight=1 PerfScore 3.25
 G_M30140_IG05:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     ecx, 0xD1FFAB1E
        je       SHORT G_M30140_IG07
@@ -308,7 +304,7 @@ G_M30140_IG34:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 598, prolog size 7, PerfScore 78.63, instruction count 133, allocated bytes for code 598 (MethodHash=74148a43) for method System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (Tier1)
+; Total bytes of code 587, prolog size 7, PerfScore 77.63, instruction count 129, allocated bytes for code 587 (MethodHash=74148a43) for method System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-1.43%) : 671002.dasm - System.Runtime.CompilerServices.CallSite`1[System.__Canon]:Create(System.Runtime.CompilerServices.CallSiteBinder):System.Runtime.CompilerServices.CallSite`1[System.__Canon] (Tier1)
@@ -22,7 +22,7 @@
 ;  V09 tmp7         [V09,T24] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V10 tmp8         [V10,T29] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V11 tmp9         [V11,T25] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V12 tmp10        [V12,T28] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V12 tmp10        [V12,T28] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V13 tmp11        [V13    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V14 tmp12        [V14,T21] (  3,  2   )     int  ->  rcx        
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -294,12 +294,9 @@ G_M44890_IG20:        ; bbWeight=0, gcrefRegs=40E0 {rbp rsi rdi r14}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M44890_IG22
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M44890_IG21:        ; bbWeight=0, gcrefRegs=20E0 {rbp rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -359,7 +356,7 @@ G_M44890_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=17 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 560, prolog size 19, PerfScore 69.39, instruction count 151, allocated bytes for code 560 (MethodHash=82b350a5) for method System.Runtime.CompilerServices.CallSite`1[System.__Canon]:Create(System.Runtime.CompilerServices.CallSiteBinder):System.Runtime.CompilerServices.CallSite`1[System.__Canon] (Tier1)
+; Total bytes of code 552, prolog size 19, PerfScore 69.39, instruction count 148, allocated bytes for code 552 (MethodHash=82b350a5) for method System.Runtime.CompilerServices.CallSite`1[System.__Canon]:Create(System.Runtime.CompilerServices.CallSiteBinder):System.Runtime.CompilerServices.CallSite`1[System.__Canon] (Tier1)
 ; ============================================================
 
 Unwind Info:
-11 (-1.39%) : 399939.dasm - System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int) (Tier1)
@@ -23,10 +23,10 @@
 ;* V11 tmp8         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp9         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp10        [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp11        [V14,T05] (  4,  3.94)     int  ->  rcx         "Inline stloc first use temp"
+;  V14 tmp11        [V14,T07] (  3,  2.94)     int  ->  rcx         "Inline stloc first use temp"
 ;* V15 tmp12        [V15,T12] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp13        [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp14        [V17,T06] (  8,  4.17)     int  ->  rcx         "Inline stloc first use temp"
+;  V17 tmp14        [V17,T05] (  8,  4.17)     int  ->  rcx         "Inline stloc first use temp"
 ;  V18 tmp15        [V18,T08] (  8,  3   )     int  ->  rdx         "Inline stloc first use temp"
 ;  V19 tmp16        [V19,T10] (  3,  2   )     int  ->  rcx        
 ;  V20 tmp17        [V20,T11] (  3,  2   )   ubyte  ->  rcx         "Inline return value spill temp"
@@ -39,7 +39,7 @@
 ;* V27 tmp24        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp25        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp26        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V30 tmp27        [V30,T07] (  2,  3.94)   byref  ->  rcx         single-def "Inlining Arg"
+;  V30 tmp27        [V30,T06] (  2,  3.94)   byref  ->  rcx         single-def "Inlining Arg"
 ;  V31 tmp28        [V31,T16] (  3,  0   )     ref  ->  rcx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V32 tmp29        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V33 tmp30        [V33,T13] (  6,  0   )     ref  ->  rbx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.TaskExceptionHolder>
@@ -110,13 +110,9 @@ G_M42179_IG07:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
 						;; size=26 bbWeight=0.50 PerfScore 1.75
 G_M42179_IG08:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x34]
-       mov      edx, ecx
-       and      edx, 0xD1FFAB1E
-       mov      eax, ecx
-       and      eax, 0xD1FFAB1E
-       or       edx, eax
+       test     ecx, 0xD1FFAB1E
        jne      SHORT G_M42179_IG11
-						;; size=22 bbWeight=1 PerfScore 4.25
+						;; size=11 bbWeight=1 PerfScore 3.25
 G_M42179_IG09:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     ecx, 0xD1FFAB1E
        je       SHORT G_M42179_IG11
@@ -396,7 +392,7 @@ G_M42179_IG41:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 790, prolog size 7, PerfScore 93.14, instruction count 176, allocated bytes for code 790 (MethodHash=b4495b3c) for method System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int) (Tier1)
+; Total bytes of code 779, prolog size 7, PerfScore 92.14, instruction count 172, allocated bytes for code 779 (MethodHash=b4495b3c) for method System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int) (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-1.28%) : 397640.dasm - System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.Assembly):System.__Canon (Tier1)
@@ -25,7 +25,7 @@
 ;  V12 tmp10        [V12,T27] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V13 tmp11        [V13,T34] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V14 tmp12        [V14,T28] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V15 tmp13        [V15,T32] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V15 tmp13        [V15,T33] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V16 tmp14        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V17 tmp15        [V17,T25] (  3,  2   )     int  ->  rcx        
 ;* V18 tmp16        [V18    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -49,7 +49,7 @@
 ;  V36 tmp34        [V36,T11] (  2,  3.55)    long  ->  rax         "Cast away GC"
 ;  V37 tmp35        [V37,T08] (  2,  4.00)     ref  ->  rdx         single-def "argument with side effect"
 ;  V38 tmp36        [V38,T05] (  3,  4.50)     ref  ->  rax         single-def "argument with side effect"
-;  V39 tmp37        [V39,T33] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V39 tmp37        [V39,T32] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V40 cse0         [V40,T03] (  9,  6.89)     ref  ->  rdi         "CSE #03: aggressive"
 ;  V41 cse1         [V41,T18] (  4,  2.50)    long  ->  rsi         "CSE #02: moderate"
 ;  V42 cse2         [V42,T15] (  3,  3.00)     int  ->  rcx         "CSE #08: moderate"
@@ -284,12 +284,9 @@ G_M12223_IG22:        ; bbWeight=0, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M12223_IG24
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M12223_IG23:        ; bbWeight=0, gcrefRegs=20A8 {rbx rbp rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -384,7 +381,7 @@ G_M12223_IG31:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 626, prolog size 19, PerfScore 67.78, instruction count 164, allocated bytes for code 626 (MethodHash=40b9d040) for method System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.Assembly):System.__Canon (Tier1)
+; Total bytes of code 618, prolog size 19, PerfScore 67.78, instruction count 161, allocated bytes for code 618 (MethodHash=40b9d040) for method System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.Assembly):System.__Canon (Tier1)
 ; ============================================================
 
 Unwind Info:
-5 (-1.09%) : 694563.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (Tier1)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T21] (  4,  8   )   byref  ->  rcx         ld-addr-op single-def
 ;  V01 loc0         [V01,T05] ( 14,254.00)     int  ->  registers  
-;  V02 loc1         [V02,T02] ( 16,296.00)     int  ->  registers  
+;  V02 loc1         [V02,T02] ( 15,275.00)     int  ->  registers  
 ;  V03 loc2         [V03,T03] ( 15,275.00)     int  ->  registers  
 ;  V04 loc3         [V04,T04] ( 15,275.00)     int  ->  registers  
 ;  V05 loc4         [V05,T07] ( 10,170.00)     int  ->  registers  
@@ -148,13 +148,11 @@ G_M28360_IG08:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0001 {rax},
        mov      ebx, 40
 						;; size=5 bbWeight=1.00 PerfScore 0.25
 G_M28360_IG09:        ; bbWeight=21.00, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref, isz
-       mov      esi, r8d
-       and      esi, r10d
-       mov      edi, r8d
-       and      edi, r9d
-       or       esi, edi
+       mov      esi, r10d
+       and      esi, r9d
        mov      edi, r10d
-       and      edi, r9d
+       or       edi, r9d
+       and      edi, r8d
        or       esi, edi
        mov      edi, edx
        rol      edi, 5
@@ -172,7 +170,7 @@ G_M28360_IG09:        ; bbWeight=21.00, gcrefRegs=0000 {}, byrefRegs=0001 {rax},
        mov      r10d, r8d
        mov      r8d, ebp
        jl       SHORT G_M28360_IG09
-						;; size=72 bbWeight=21.00 PerfScore 204.75
+						;; size=67 bbWeight=21.00 PerfScore 194.25
 G_M28360_IG10:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
        mov      ebx, 60
 						;; size=5 bbWeight=1.00 PerfScore 0.25
@@ -227,7 +225,7 @@ G_M28360_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 459, prolog size 8, PerfScore 1749.50, instruction count 137, allocated bytes for code 459 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (Tier1)
+; Total bytes of code 454, prolog size 8, PerfScore 1739.00, instruction count 135, allocated bytes for code 454 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (Tier1)
 ; ============================================================
 
 Unwind Info:
-9 (-1.02%) : 475360.dasm - System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (Tier1)
@@ -13,14 +13,14 @@
 ;  V01 arg1         [V01,T03] (  5,  4.56)     ref  ->  rdi         class-hnd single-def <System.Xml.XmlNameTable>
 ;  V02 arg2         [V02,T02] (  8,  5.67)     ref  ->  rsi         class-hnd single-def <System.Xml.Schema.XmlSchemaSet>
 ;  V03 arg3         [V03,T04] (  4,  4   )     ref  ->  rbp         class-hnd single-def <System.Xml.IXmlNamespaceResolver>
-;  V04 arg4         [V04,T13] (  3,  3   )     int  ->  r14         single-def
+;  V04 arg4         [V04,T16] (  2,  2   )     int  ->  r14         single-def
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V06 tmp1         [V06,T11] (  3,  3.35)     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaSet>
 ;  V07 tmp2         [V07,T05] (  7,  5.58)     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
-;  V09 tmp4         [V09,T16] (  2,  2.23)     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
+;  V09 tmp4         [V09,T15] (  2,  2.23)     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;  V10 tmp5         [V10,T01] (  8,  8.93)     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
-;  V11 tmp6         [V11,T14] (  3,  2.23)     ref  ->  rbp         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
+;  V11 tmp6         [V11,T13] (  3,  2.23)     ref  ->  rbp         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
 ;  V12 tmp7         [V12,T21] (  5,  1.12)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.Delegate>
 ;  V13 tmp8         [V13,T10] (  4,  3.35)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
 ;  V14 tmp9         [V14,T12] (  3,  3.35)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
@@ -30,7 +30,7 @@
 ;* V18 tmp13        [V18    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V19 tmp14        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V20 tmp15        [V20,T22] (  4,  1.12)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Delegate>
-;  V21 tmp16        [V21,T15] (  3,  2.23)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
+;  V21 tmp16        [V21,T14] (  3,  2.23)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
 ;* V22 tmp17        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Schema.XmlSchemaCompilationSettings>
 ;  V23 tmp18        [V23,T23] (  3,  1.12)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Xml.XmlResolver>
 ;  V24 tmp19        [V24,T09] (  4,  3.51)     ref  ->  rbp         class-hnd exact single-def "Inlining Arg" <System.Xml.XmlReaderSettings>
@@ -102,12 +102,9 @@ G_M31695_IG02:        ; bbWeight=1, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        ; gcrRegs -[rdx rbp]
        ; byrRegs -[rcx]
        mov      dword ptr [rbx+0xF0], r14d
-       mov      ecx, r14d
-       and      ecx, 1
-       and      r14d, 2
-       or       ecx, r14d
+       test     r14b, 3
        je       G_M31695_IG19
-						;; size=103 bbWeight=1 PerfScore 12.25
+						;; size=94 bbWeight=1 PerfScore 11.50
 G_M31695_IG03:        ; bbWeight=0.56, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaSet
        call     CORINFO_HELP_NEWSFAST
@@ -474,7 +471,7 @@ RWD04  	dd	40400000h		;         3
 RWD08  	dd	4F000000h		; 2.14748e+09
 
 
-; Total bytes of code 884, prolog size 27, PerfScore 82.55, instruction count 196, allocated bytes for code 884 (MethodHash=d5398430) for method System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (Tier1)
+; Total bytes of code 875, prolog size 27, PerfScore 81.80, instruction count 193, allocated bytes for code 875 (MethodHash=d5398430) for method System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-1.00%) : 312000.dasm - Xunit.Internal.ArgumentFormatter:IsAnonymousType(System.Reflection.TypeInfo):bool (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 arg0         [V00,T00] ( 16,  6.58)     ref  ->  rbx         class-hnd single-def <System.Reflection.TypeInfo>
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V02 tmp1         [V02,T27] (  2,  0   )     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.Attribute>
+;  V02 tmp1         [V02,T26] (  2,  0   )     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.Attribute>
 ;* V03 tmp2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Attribute[]>
 ;  V04 tmp3         [V04,T23] (  3,  0   )     ref  ->  rcx         class-hnd single-def "Inline stloc first use temp" <System.Attribute>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Attribute[]>
@@ -31,7 +31,7 @@
 ;  V19 tmp18        [V19,T20] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V20 tmp19        [V20,T32] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V21 tmp20        [V21,T21] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V22 tmp21        [V22,T26] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V22 tmp21        [V22,T29] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V23 tmp22        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V24 tmp23        [V24,T15] (  2,  2   )     int  ->  rcx        
 ;* V25 tmp24        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -59,8 +59,8 @@
 ;  V47 tmp46        [V47,T07] (  2,  3.66)    long  ->  rax         "Cast away GC"
 ;* V48 tmp47        [V48,T30] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V49 tmp48        [V49,T31] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V50 tmp49        [V50,T28] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V51 tmp50        [V51,T29] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V50 tmp49        [V50,T27] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V51 tmp50        [V51,T28] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V52 tmp51        [V52    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V53 cse0         [V53,T02] (  9,  4.24)     ref  ->  rsi         "CSE #01: aggressive"
 ;  V54 rat0         [V54,T22] (  5,  0   )    long  ->  r14         "Widened IV V20"
@@ -301,12 +301,9 @@ G_M15962_IG24:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M15962_IG26
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M15962_IG25:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -457,7 +454,7 @@ G_M15962_IG36:        ; bbWeight=0, epilog, nogc, extend
        tail.jmp [System.String:Contains(System.String):bool:this]
 						;; size=18 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 798, prolog size 12, PerfScore 56.66, instruction count 196, allocated bytes for code 798 (MethodHash=36a8c1a5) for method Xunit.Internal.ArgumentFormatter:IsAnonymousType(System.Reflection.TypeInfo):bool (Tier1)
+; Total bytes of code 790, prolog size 12, PerfScore 56.66, instruction count 193, allocated bytes for code 790 (MethodHash=36a8c1a5) for method Xunit.Internal.ArgumentFormatter:IsAnonymousType(System.Reflection.TypeInfo):bool (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.92%) : 53558.dasm - System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.MemberInfo,bool):System.__Canon (Tier1)
@@ -34,7 +34,7 @@
 ;  V21 tmp18        [V21,T27] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V22 tmp19        [V22,T39] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V23 tmp20        [V23,T28] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V24 tmp21        [V24,T33] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V24 tmp21        [V24,T38] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V25 tmp22        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V26 tmp23        [V26,T24] (  3,  2   )     int  ->  rcx        
 ;* V27 tmp24        [V27    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -60,11 +60,11 @@
 ;* V47 tmp44        [V47    ] (  0,  0   )    long  ->  zero-ref    "field V32.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V48 tmp45        [V48,T15] (  3,  3   )    long  ->  rcx         "field V35.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V49 tmp46        [V49,T11] (  2,  3.11)    long  ->  rax         "Cast away GC"
-;  V50 tmp47        [V50,T34] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V51 tmp48        [V51,T35] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V52 tmp49        [V52,T36] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V53 tmp50        [V53,T37] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V54 tmp51        [V54,T38] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V50 tmp47        [V50,T33] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V51 tmp48        [V51,T34] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V52 tmp49        [V52,T35] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V53 tmp50        [V53,T36] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V54 tmp51        [V54,T37] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V55 tmp52        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V56 cse0         [V56,T03] ( 11,  6.78)     ref  ->  rbp         "CSE #03: aggressive"
 ;  V57 cse1         [V57,T16] (  4,  2.83)    long  ->  rdi         "CSE #02: moderate"
@@ -339,12 +339,9 @@ G_M2461_IG28:        ; bbWeight=0, gcrefRegs=C028 {rbx rbp r14 r15}, byrefRegs=0
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M2461_IG30
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M2461_IG29:        ; bbWeight=0, gcrefRegs=5028 {rbx rbp r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -503,7 +500,7 @@ G_M2461_IG41:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byre
        int3     
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 873, prolog size 21, PerfScore 75.95, instruction count 217, allocated bytes for code 873 (MethodHash=b8cdf662) for method System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.MemberInfo,bool):System.__Canon (Tier1)
+; Total bytes of code 865, prolog size 21, PerfScore 75.95, instruction count 214, allocated bytes for code 865 (MethodHash=b8cdf662) for method System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.MemberInfo,bool):System.__Canon (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.89%) : 650269.dasm - System.Reflection.CustomAttributeExtensions:GetCustomAttributes[System.__Canon](System.Reflection.MemberInfo,bool):System.Collections.Generic.IEnumerable`1[System.__Canon] (Tier1)
@@ -32,7 +32,7 @@
 ;  V19 tmp16        [V19,T31] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V20 tmp17        [V20,T40] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V21 tmp18        [V21,T32] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V22 tmp19        [V22,T36] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V22 tmp19        [V22,T39] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V23 tmp20        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V24 tmp21        [V24,T25] (  3,  2   )     int  ->  rcx        
 ;* V25 tmp22        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -58,11 +58,11 @@
 ;* V45 tmp42        [V45    ] (  0,  0   )    long  ->  zero-ref    "field V30.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V46 tmp43        [V46,T15] (  3,  3   )    long  ->  rcx         "field V33.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V47 tmp44        [V47,T13] (  2,  3.02)    long  ->  rax         "Cast away GC"
-;  V48 tmp45        [V48,T37] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V49 tmp46        [V49,T38] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V48 tmp45        [V48,T36] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V49 tmp46        [V49,T37] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V50 tmp47        [V50,T26] (  2,  1.60)     ref  ->  rcx         single-def "argument with side effect"
 ;  V51 tmp48        [V51,T27] (  2,  1.60)     ref  ->  rdx         single-def "argument with side effect"
-;  V52 tmp49        [V52,T39] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V52 tmp49        [V52,T38] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V53 tmp50        [V53,T16] (  3,  3   )    long  ->  rcx         "argument with side effect"
 ;* V54 tmp51        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V55 cse0         [V55,T03] ( 11,  6.75)     ref  ->  rbp         "CSE #03: aggressive"
@@ -414,12 +414,9 @@ G_M56609_IG39:        ; bbWeight=0, gcrefRegs=C028 {rbx rbp r14 r15}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56609_IG41
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M56609_IG40:        ; bbWeight=0, gcrefRegs=5028 {rbx rbp r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -512,7 +509,7 @@ G_M56609_IG46:        ; bbWeight=0, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000 {},
        jmp      G_M56609_IG18
 						;; size=42 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 897, prolog size 21, PerfScore 84.24, instruction count 219, allocated bytes for code 897 (MethodHash=800022de) for method System.Reflection.CustomAttributeExtensions:GetCustomAttributes[System.__Canon](System.Reflection.MemberInfo,bool):System.Collections.Generic.IEnumerable`1[System.__Canon] (Tier1)
+; Total bytes of code 889, prolog size 21, PerfScore 84.24, instruction count 216, allocated bytes for code 889 (MethodHash=800022de) for method System.Reflection.CustomAttributeExtensions:GetCustomAttributes[System.__Canon](System.Reflection.MemberInfo,bool):System.Collections.Generic.IEnumerable`1[System.__Canon] (Tier1)
 ; ============================================================
 
 Unwind Info:
-24 (-0.83%) : 248582.dasm - Xunit.Sdk.XunitTestCaseRunner:get_BeforeAfterAttributes():System.Collections.Generic.IReadOnlyList`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
@@ -53,7 +53,7 @@
 ;  V41 tmp40        [V41,T80] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V42 tmp41        [V42,T108] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V43 tmp42        [V43,T83] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V44 tmp43        [V44,T97] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V44 tmp43        [V44,T105] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V45 tmp44        [V45    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V46 tmp45        [V46,T63] (  2,  2   )     int  ->  rcx        
 ;* V47 tmp46        [V47    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -98,7 +98,7 @@
 ;  V86 tmp85        [V86,T81] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V87 tmp86        [V87,T109] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V88 tmp87        [V88,T84] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V89 tmp88        [V89,T98] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V89 tmp88        [V89,T106] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V90 tmp89        [V90    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V91 tmp90        [V91,T64] (  2,  2   )     int  ->  rcx        
 ;* V92 tmp91        [V92    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -151,7 +151,7 @@
 ;  V139 tmp138      [V139,T82] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V140 tmp139      [V140,T110] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V141 tmp140      [V141,T85] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V142 tmp141      [V142,T99] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V142 tmp141      [V142,T107] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V143 tmp142      [V143    ] (  0,  0   )    long  ->  zero-ref    "field V45.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V144 tmp143      [V144,T72] (  0,  0   )    long  ->  zero-ref    "field V47.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V145 tmp144      [V145    ] (  0,  0   )    long  ->  zero-ref    "field V52.m_asTAddr (fldOffset=0x0)" P-INDEP
@@ -160,21 +160,21 @@
 ;* V148 tmp147      [V148,T74] (  0,  0   )    long  ->  zero-ref    "field V92.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V149 tmp148      [V149    ] (  0,  0   )    long  ->  zero-ref    "field V97.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V150 tmp149      [V150,T75] (  0,  0   )    long  ->  zero-ref    "field V100.m_asTAddr (fldOffset=0x0)" P-INDEP
-;  V151 tmp150      [V151,T100] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V151 tmp150      [V151,T97] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V152 tmp151      [V152,T31] (  2,  3.88)    long  ->  rax         "Cast away GC"
-;  V153 tmp152      [V153,T101] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V153 tmp152      [V153,T98] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V154 tmp153      [V154    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V155 tmp154      [V155,T102] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V155 tmp154      [V155,T99] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V156 tmp155      [V156,T32] (  2,  3.88)    long  ->  rax         "Cast away GC"
-;  V157 tmp156      [V157,T103] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V157 tmp156      [V157,T100] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V158 tmp157      [V158    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V159 tmp158      [V159,T104] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V160 tmp159      [V160,T105] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V161 tmp160      [V161,T106] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V159 tmp158      [V159,T101] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V160 tmp159      [V160,T102] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V161 tmp160      [V161,T103] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V162 tmp161      [V162,T23] (  2,  4   )     ref  ->   r8         single-def "argument with side effect"
 ;  V163 tmp162      [V163,T24] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V164 tmp163      [V164,T25] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
-;  V165 tmp164      [V165,T107] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V165 tmp164      [V165,T104] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V166 cse0        [V166,T00] ( 26, 11.94)     ref  ->  registers   multi-def "CSE #01: aggressive"
 ;  V167 rat0        [V167,T86] (  5,  0   )    long  ->  r13         "Widened IV V42"
 ;  V168 rat1        [V168,T87] (  5,  0   )    long  ->  r13         "Widened IV V87"
@@ -955,12 +955,9 @@ G_M8802_IG70:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, byr
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M8802_IG72
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M8802_IG71:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -1135,12 +1132,9 @@ G_M8802_IG83:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, byr
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M8802_IG85
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M8802_IG84:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -1405,12 +1399,9 @@ G_M8802_IG105:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, by
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M8802_IG107
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M8802_IG106:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -1513,7 +1504,7 @@ G_M8802_IG114:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        jmp      G_M8802_IG59
 						;; size=18 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2894, prolog size 16, PerfScore 235.10, instruction count 643, allocated bytes for code 2894 (MethodHash=7c50dd9d) for method Xunit.Sdk.XunitTestCaseRunner:get_BeforeAfterAttributes():System.Collections.Generic.IReadOnlyList`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
+; Total bytes of code 2870, prolog size 16, PerfScore 235.10, instruction count 634, allocated bytes for code 2870 (MethodHash=7c50dd9d) for method Xunit.Sdk.XunitTestCaseRunner:get_BeforeAfterAttributes():System.Collections.Generic.IReadOnlyList`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-24 (-0.82%) : 650536.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyPolicies(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo) (Tier1)
@@ -48,7 +48,7 @@
 ;  V36 tmp29        [V36,T109] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V37 tmp30        [V37,T133] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V38 tmp31        [V38,T112] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V39 tmp32        [V39,T124] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V39 tmp32        [V39,T128] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V40 tmp33        [V40    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V41 tmp34        [V41,T75] (  2,  2   )     int  ->  rcx        
 ;* V42 tmp35        [V42    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -113,7 +113,7 @@
 ;  V101 tmp94       [V101,T110] (  6,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V102 tmp95       [V102,T134] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V103 tmp96       [V103,T113] (  5,  0   )     ref  ->  [rsp+0x40]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V104 tmp97       [V104,T125] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V104 tmp97       [V104,T129] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V105 tmp98       [V105    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V106 tmp99       [V106,T76] (  2,  2   )     int  ->  rcx        
 ;* V107 tmp100      [V107    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -172,7 +172,7 @@
 ;  V160 tmp153      [V160,T111] (  6,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V161 tmp154      [V161,T135] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V162 tmp155      [V162,T114] (  5,  0   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V163 tmp156      [V163,T126] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V163 tmp156      [V163,T130] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V164 tmp157      [V164    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V165 tmp158      [V165,T77] (  2,  2   )     int  ->  rcx        
 ;* V166 tmp159      [V166    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -253,12 +253,12 @@
 ;* V241 tmp234      [V241,T132] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V242 tmp235      [V242    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V243 tmp236      [V243,T97] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V244 tmp237      [V244,T127] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V245 tmp238      [V245,T128] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V244 tmp237      [V244,T124] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V245 tmp238      [V245,T125] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V246 tmp239      [V246,T30] (  2,  3.02)    long  ->  rax         "Cast away GC"
-;  V247 tmp240      [V247,T129] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V247 tmp240      [V247,T126] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V248 tmp241      [V248,T81] (  2,  1.54)     ref  ->  rcx         single-def "argument with side effect"
-;  V249 tmp242      [V249,T130] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V249 tmp242      [V249,T127] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V250 tmp243      [V250    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V251 cse0        [V251,T10] (  9,  4.20)     ref  ->  rdi         "CSE #01: aggressive"
 ;  V252 cse1        [V252,T11] (  9,  4.20)     ref  ->  rdi         "CSE #12: moderate"
@@ -1153,12 +1153,9 @@ G_M35855_IG103:        ; bbWeight=0, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byref
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M35855_IG105
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M35855_IG104:        ; bbWeight=0, gcrefRegs=20E8 {rbx rbp rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -1346,12 +1343,9 @@ G_M35855_IG119:        ; bbWeight=0, gcrefRegs=A0C8 {rbx rsi rdi r13 r15}, byref
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M35855_IG121
-						;; size=77 bbWeight=0 PerfScore 0.00
+						;; size=69 bbWeight=0 PerfScore 0.00
 G_M35855_IG120:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rsp+0x40]
@@ -1531,12 +1525,9 @@ G_M35855_IG134:        ; bbWeight=0, gcrefRegs=A0C8 {rbx rsi rdi r13 r15}, byref
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M35855_IG136
-						;; size=77 bbWeight=0 PerfScore 0.00
+						;; size=69 bbWeight=0 PerfScore 0.00
 G_M35855_IG135:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rsp+0x38]
@@ -1699,7 +1690,7 @@ G_M35855_IG149:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2920, prolog size 38, PerfScore 207.99, instruction count 675, allocated bytes for code 2920 (MethodHash=afd073f0) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyPolicies(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo) (Tier1)
+; Total bytes of code 2896, prolog size 38, PerfScore 207.99, instruction count 666, allocated bytes for code 2896 (MethodHash=afd073f0) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyPolicies(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo) (Tier1)
 ; ============================================================
 
 Unwind Info:
-7 (-0.82%) : 721018.dasm - Microsoft.CodeAnalysis.CSharp.BuiltInOperators:IsValidObjectEquality(Microsoft.CodeAnalysis.CSharp.Conversions,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,bool,bool,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,bool,bool,byref):bool (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 arg0         [V00,T03] (  4,  2   )     ref  ->  rbp         class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Conversions>
 ;  V01 arg1         [V01,T00] ( 20,  8.46)     ref  ->  rbx         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
 ;  V02 arg2         [V02,T01] (  6,  3   )   ubyte  ->  rsi         single-def
-;  V03 arg3         [V03,T02] (  6,  3   )   ubyte  ->  rdi         single-def
+;  V03 arg3         [V03,T02] (  5,  3   )   ubyte  ->  rdi         single-def
 ;  V04 arg4         [V04,T04] ( 16,  3.46)     ref  ->  r14         class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
 ;  V05 arg5         [V05,T11] (  4,  0   )   ubyte  ->  [rsp+0xC8]  single-def
 ;  V06 arg6         [V06,T12] (  4,  0   )   ubyte  ->  [rsp+0xD0]  single-def
@@ -285,15 +285,13 @@ G_M30363_IG22:        ; bbWeight=0, gcrefRegs=4028 {rbx rbp r14}, byrefRegs=0000
        je       G_M30363_IG13
 						;; size=50 bbWeight=0 PerfScore 0.00
 G_M30363_IG23:        ; bbWeight=0, gcrefRegs=4028 {rbx rbp r14}, byrefRegs=0000 {}, byref
-       movzx    rdx, dil
        movzx    r13, byte  ptr [rsp+0xD0]
-       movzx    rcx, r13b
-       and      edx, ecx
-       movzx    rcx, dil
+       movzx    rdx, r13b
        movzx    r15, byte  ptr [rsp+0xC8]
-       movzx    r8, r15b
-       and      ecx, r8d
+       movzx    rcx, r15b
        or       edx, ecx
+       movzx    rcx, dil
+       and      edx, ecx
        movzx    rcx, sil
        movzx    r8, r13b
        and      ecx, r8d
@@ -313,7 +311,7 @@ G_M30363_IG23:        ; bbWeight=0, gcrefRegs=4028 {rbx rbp r14}, byrefRegs=0000
        ; byrRegs +[rsi]
        mov      bword ptr [rsp+0x28], rsi
        ; byr arg write
-						;; size=107 bbWeight=0 PerfScore 0.00
+						;; size=100 bbWeight=0 PerfScore 0.00
 G_M30363_IG24:        ; bbWeight=0, gcrefRegs=4028 {rbx rbp r14}, byrefRegs=0040 {rsi}, byref, isz
        mov      dword ptr [rsp+0x30], edx
        lea      rdx, [rsp+0x50]
@@ -379,7 +377,7 @@ G_M30363_IG27:        ; bbWeight=0, epilog, nogc, extend
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 857, prolog size 24, PerfScore 53.87, instruction count 214, allocated bytes for code 857 (MethodHash=f1078964) for method Microsoft.CodeAnalysis.CSharp.BuiltInOperators:IsValidObjectEquality(Microsoft.CodeAnalysis.CSharp.Conversions,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,bool,bool,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,bool,bool,byref):bool (Tier1)
+; Total bytes of code 850, prolog size 24, PerfScore 53.87, instruction count 212, allocated bytes for code 850 (MethodHash=f1078964) for method Microsoft.CodeAnalysis.CSharp.BuiltInOperators:IsValidObjectEquality(Microsoft.CodeAnalysis.CSharp.Conversions,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,bool,bool,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,bool,bool,byref):bool (Tier1)
 ; ============================================================
 
 Unwind Info:
-16 (-0.77%) : 650268.dasm - System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions:CreateFromAttributeDeclarations(System.Type):System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions (Tier1)
@@ -22,7 +22,7 @@
 ;* V10 tmp5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Text.Json.Serialization.Metadata.JsonDerivedType>
 ;  V11 tmp6         [V11,T52] (  4,  1.22)     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions>
 ;  V12 tmp7         [V12,T63] (  8,  0.05)     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions>
-;  V13 tmp8         [V13,T81] (  2,  0   )   byref  ->  rcx         single-def "guarded devirt return temp"
+;  V13 tmp8         [V13,T79] (  2,  0   )   byref  ->  rcx         single-def "guarded devirt return temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Text.Json.Serialization.JsonDerivedTypeAttribute[]>
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    "guarded devirt return temp"
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.SZGenericArrayEnumerator`1[System.Text.Json.Serialization.JsonDerivedTypeAttribute]>
@@ -50,7 +50,7 @@
 ;  V38 tmp33        [V38,T69] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V39 tmp34        [V39,T86] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V40 tmp35        [V40,T71] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V41 tmp36        [V41,T79] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V41 tmp36        [V41,T83] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V42 tmp37        [V42    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V43 tmp38        [V43,T46] (  2,  2   )     int  ->  rcx        
 ;* V44 tmp39        [V44    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -91,7 +91,7 @@
 ;  V79 tmp74        [V79,T70] (  6,  0   )     ref  ->  r12         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V80 tmp75        [V80,T87] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V81 tmp76        [V81,T72] (  5,  0   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V82 tmp77        [V82,T80] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V82 tmp77        [V82,T84] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V83 tmp78        [V83    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V84 tmp79        [V84,T47] (  2,  2.00)     int  ->  rcx        
 ;* V85 tmp80        [V85    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -140,11 +140,11 @@
 ;* V128 tmp123      [V128,T85] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V129 tmp124      [V129    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V130 tmp125      [V130,T60] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V131 tmp126      [V131,T82] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V131 tmp126      [V131,T80] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V132 tmp127      [V132,T29] (  2,  3.02)    long  ->  rax         "Cast away GC"
-;  V133 tmp128      [V133,T83] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V133 tmp128      [V133,T81] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V134 tmp129      [V134,T49] (  2,  1.60)     ref  ->  rcx         single-def "argument with side effect"
-;  V135 tmp130      [V135,T84] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V135 tmp130      [V135,T82] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V136 tmp131      [V136    ] ( 12, 10.18)  struct (16) [rbp-0x48]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Text.Json.Serialization.Metadata.JsonDerivedType>
 ;* V137 tmp132      [V137    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V138 cse0        [V138,T12] (  9,  4.28)     ref  ->  rdi         "CSE #01: aggressive"
@@ -723,12 +723,9 @@ G_M47957_IG63:        ; bbWeight=0, gcrefRegs=C0C8 {rbx rsi rdi r14 r15}, byrefR
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M47957_IG65
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M47957_IG64:        ; bbWeight=0, gcrefRegs=50C8 {rbx rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -939,12 +936,9 @@ G_M47957_IG78:        ; bbWeight=0, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, byrefR
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M47957_IG80
-						;; size=78 bbWeight=0 PerfScore 0.00
+						;; size=70 bbWeight=0 PerfScore 0.00
 G_M47957_IG79:        ; bbWeight=0, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r12]
        mov      r12, gword ptr [rbp-0x60]
@@ -1174,7 +1168,7 @@ G_M47957_IG97:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 2086, prolog size 37, PerfScore 160.14, instruction count 488, allocated bytes for code 2086 (MethodHash=24ac44aa) for method System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions:CreateFromAttributeDeclarations(System.Type):System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions (Tier1)
+; Total bytes of code 2070, prolog size 37, PerfScore 160.14, instruction count 482, allocated bytes for code 2070 (MethodHash=24ac44aa) for method System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions:CreateFromAttributeDeclarations(System.Type):System.Text.Json.Serialization.Metadata.JsonPolymorphismOptions (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.73%) : 650507.dasm - System.Text.Json.Reflection.ReflectionExtensions:HasJsonConstructorAttribute(System.Reflection.ConstructorInfo):bool (Tier1)
@@ -32,7 +32,7 @@
 ;  V19 tmp18        [V19,T34] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V20 tmp19        [V20,T42] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V21 tmp20        [V21,T35] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V22 tmp21        [V22,T39] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V22 tmp21        [V22,T41] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V23 tmp22        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V24 tmp23        [V24,T21] (  2,  2   )     int  ->  rcx        
 ;* V25 tmp24        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -82,9 +82,9 @@
 ;  V69 tmp68        [V69    ] (  6,  2.38)     int  ->  [rsp+0x60]  do-not-enreg[X] addr-exposed "field V57._count (fldOffset=0x10)" P-DEP
 ;  V70 tmp69        [V70    ] (  2,  1.11)     int  ->  [rsp+0x64]  do-not-enreg[X] addr-exposed "field V57._capacity (fldOffset=0x14)" P-DEP
 ;  V71 tmp70        [V71,T08] (  2,  3.02)    long  ->  rax         "Cast away GC"
-;  V72 tmp71        [V72,T40] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V72 tmp71        [V72,T39] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V73 tmp72        [V73,T23] (  2,  1.54)     ref  ->  rcx         single-def "argument with side effect"
-;  V74 tmp73        [V74,T41] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V74 tmp73        [V74,T40] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V75 tmp74        [V75    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V76 cse0         [V76,T02] (  9,  4.20)     ref  ->  rsi         "CSE #01: aggressive"
 ;  V77 rat0         [V77,T36] (  5,  0   )    long  ->  r14         "Widened IV V20"
@@ -466,12 +466,9 @@ G_M19341_IG38:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M19341_IG40
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M19341_IG39:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -612,7 +609,7 @@ G_M19341_IG51:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1092, prolog size 34, PerfScore 77.67, instruction count 255, allocated bytes for code 1092 (MethodHash=0b3eb472) for method System.Text.Json.Reflection.ReflectionExtensions:HasJsonConstructorAttribute(System.Reflection.ConstructorInfo):bool (Tier1)
+; Total bytes of code 1084, prolog size 34, PerfScore 77.67, instruction count 252, allocated bytes for code 1084 (MethodHash=0b3eb472) for method System.Text.Json.Reflection.ReflectionExtensions:HasJsonConstructorAttribute(System.Reflection.ConstructorInfo):bool (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.73%) : 409713.dasm - Xunit.Sdk.ReflectionAttributeInfo+<>c:<GetAttributeUsage>b__12_0(System.Type):System.AttributeUsageAttribute:this (Tier1)
@@ -36,7 +36,7 @@
 ;  V24 tmp22        [V24,T32] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V25 tmp23        [V25,T42] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V26 tmp24        [V26,T33] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V27 tmp25        [V27,T38] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V27 tmp25        [V27,T41] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V28 tmp26        [V28    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V29 tmp27        [V29,T24] (  2,  2   )     int  ->  rcx        
 ;* V30 tmp28        [V30    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -72,10 +72,10 @@
 ;* V60 tmp58        [V60    ] (  0,  0   )    long  ->  zero-ref    "field V35.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V61 tmp59        [V61,T29] (  0,  0   )    long  ->  zero-ref    "field V38.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V62 tmp60        [V62,T13] (  2,  3.71)    long  ->  rax         "Cast away GC"
-;  V63 tmp61        [V63,T39] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V63 tmp61        [V63,T38] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V64 tmp62        [V64    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V65 tmp63        [V65,T40] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V66 tmp64        [V66,T41] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V65 tmp63        [V65,T39] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V66 tmp64        [V66,T40] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V67 cse0         [V67,T06] (  9,  4.28)     ref  ->  rbx         "CSE #01: aggressive"
 ;  V68 rat0         [V68,T34] (  5,  0   )    long  ->  r15         "Widened IV V25"
 ;  V69 rat1         [V69,T04] (  4,  6   )     ref  ->  rcx         "replacement local"
@@ -447,12 +447,9 @@ G_M35716_IG38:        ; bbWeight=0, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M35716_IG40
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M35716_IG39:        ; bbWeight=0, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -595,7 +592,7 @@ G_M35716_IG50:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1100, prolog size 22, PerfScore 83.71, instruction count 249, allocated bytes for code 1100 (MethodHash=c896747b) for method Xunit.Sdk.ReflectionAttributeInfo+<>c:<GetAttributeUsage>b__12_0(System.Type):System.AttributeUsageAttribute:this (Tier1)
+; Total bytes of code 1092, prolog size 22, PerfScore 83.71, instruction count 246, allocated bytes for code 1092 (MethodHash=c896747b) for method Xunit.Sdk.ReflectionAttributeInfo+<>c:<GetAttributeUsage>b__12_0(System.Type):System.AttributeUsageAttribute:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.72%) : 650508.dasm - System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.MemberInfo):System.__Canon (Tier1)
@@ -33,7 +33,7 @@
 ;  V20 tmp18        [V20,T38] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V21 tmp19        [V21,T47] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V22 tmp20        [V22,T39] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V23 tmp21        [V23,T43] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V23 tmp21        [V23,T46] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V25 tmp23        [V25,T26] (  3,  2   )     int  ->  rcx        
 ;* V26 tmp24        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -83,11 +83,11 @@
 ;  V70 tmp68        [V70    ] (  6,  2.38)     int  ->  [rsp+0x60]  do-not-enreg[X] addr-exposed "field V58._count (fldOffset=0x10)" P-DEP
 ;  V71 tmp69        [V71    ] (  2,  1.11)     int  ->  [rsp+0x64]  do-not-enreg[X] addr-exposed "field V58._capacity (fldOffset=0x14)" P-DEP
 ;  V72 tmp70        [V72,T09] (  2,  3.02)    long  ->  rax         "Cast away GC"
-;  V73 tmp71        [V73,T44] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V74 tmp72        [V74,T45] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V73 tmp71        [V73,T43] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V74 tmp72        [V74,T44] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V75 tmp73        [V75,T29] (  2,  1.54)     ref  ->  rcx         single-def "argument with side effect"
 ;  V76 tmp74        [V76,T30] (  2,  1.54)     ref  ->  rdx         single-def "argument with side effect"
-;  V77 tmp75        [V77,T46] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V77 tmp75        [V77,T45] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V78 tmp76        [V78    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V79 cse0         [V79,T02] ( 11,  6.75)     ref  ->  rdi         "CSE #03: aggressive"
 ;  V80 cse1         [V80,T16] (  4,  2.50)    long  ->  rsi         "CSE #02: moderate"
@@ -494,12 +494,9 @@ G_M63423_IG42:        ; bbWeight=0, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M63423_IG44
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M63423_IG43:        ; bbWeight=0, gcrefRegs=20A8 {rbx rbp rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -636,7 +633,7 @@ G_M63423_IG54:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1115, prolog size 41, PerfScore 91.17, instruction count 269, allocated bytes for code 1115 (MethodHash=c16b0840) for method System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.MemberInfo):System.__Canon (Tier1)
+; Total bytes of code 1107, prolog size 41, PerfScore 91.17, instruction count 266, allocated bytes for code 1107 (MethodHash=c16b0840) for method System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.MemberInfo):System.__Canon (Tier1)
 ; ============================================================
 
 Unwind Info:
-16 (-0.70%) : 650540.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyName(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy) (Tier1)
@@ -48,7 +48,7 @@
 ;  V36 tmp30        [V36,T81] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V37 tmp31        [V37,T97] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V38 tmp32        [V38,T83] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V39 tmp33        [V39,T91] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V39 tmp33        [V39,T93] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V40 tmp34        [V40    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V41 tmp35        [V41,T50] (  2,  2   )     int  ->  rcx        
 ;* V42 tmp36        [V42    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -109,7 +109,7 @@
 ;  V97 tmp91        [V97,T82] (  6,  0   )     ref  ->  r12         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V98 tmp92        [V98,T98] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V99 tmp93        [V99,T84] (  5,  0   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V100 tmp94       [V100,T92] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V100 tmp94       [V100,T94] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V101 tmp95       [V101    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V102 tmp96       [V102,T55] (  2,  1.98)     int  ->  rcx        
 ;* V103 tmp97       [V103    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -174,11 +174,11 @@
 ;* V162 tmp156      [V162,T95] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V163 tmp157      [V163    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V164 tmp158      [V164,T69] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V165 tmp159      [V165,T93] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V165 tmp159      [V165,T91] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V166 tmp160      [V166,T27] (  2,  2.98)    long  ->  rax         "Cast away GC"
 ;* V167 tmp161      [V167,T96] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V168 tmp162      [V168,T70] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V169 tmp163      [V169,T94] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V169 tmp163      [V169,T92] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V170 tmp164      [V170    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V171 cse0        [V171,T75] (  3,  0.02)    long  ->  rbx         "CSE #21: conservative"
 ;  V172 cse1        [V172,T08] (  9,  4.20)     ref  ->  rbp         "CSE #01: aggressive"
@@ -855,12 +855,9 @@ G_M51670_IG74:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, by
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M51670_IG76
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M51670_IG75:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -1051,12 +1048,9 @@ G_M51670_IG90:        ; bbWeight=0, gcrefRegs=30E8 {rbx rbp rsi rdi r12 r13}, by
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M51670_IG92
-						;; size=82 bbWeight=0 PerfScore 0.00
+						;; size=74 bbWeight=0 PerfScore 0.00
 G_M51670_IG91:        ; bbWeight=0, gcrefRegs=20E8 {rbx rbp rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r12]
        mov      r12, gword ptr [rsp+0x38]
@@ -1294,7 +1288,7 @@ G_M51670_IG112:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2273, prolog size 44, PerfScore 152.50, instruction count 523, allocated bytes for code 2273 (MethodHash=c45f3629) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyName(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy) (Tier1)
+; Total bytes of code 2257, prolog size 44, PerfScore 152.50, instruction count 517, allocated bytes for code 2257 (MethodHash=c45f3629) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyName(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy) (Tier1)
 ; ============================================================
 
 Unwind Info:
-17 (-0.69%) : 134572.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
@@ -27,7 +27,7 @@
 ;* V15 loc13        [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;  V16 loc14        [V16,T36] (  2,  2.00)     int  ->  r12        
 ;  V17 loc15        [V17,T03] ( 10, 22.58)    long  ->  [rbp+0x60]  ld-addr-op
-;  V18 loc16        [V18,T42] ( 11,  0.67)     int  ->  [rbp+0x5C] 
+;  V18 loc16        [V18,T42] ( 10,  0.67)     int  ->  [rbp+0x5C] 
 ;  V19 loc17        [V19,T50] (  3,  0.25)     int  ->  [rbp+0x58] 
 ;  V20 loc18        [V20,T54] (  4,  0.17)   ubyte  ->  r10        
 ;  V21 loc19        [V21,T56] (  6,  0.08)     int  ->  [rbp+0x54]  ptr
@@ -976,13 +976,7 @@ G_M27271_IG76:        ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rb
        jmp      G_M27271_IG25
 						;; size=14 bbWeight=0 PerfScore 0.00
 G_M27271_IG77:        ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref, isz
-       mov      eax, dword ptr [rbp+0x5C]
-       mov      ecx, eax
-       and      ecx, 0x400
-       mov      dword ptr [rbp+0x5C], eax
-       mov      r10d, eax
-       and      r10d, 64
-       or       ecx, r10d
+       test     dword ptr [rbp+0x5C], 0x440
        jne      SHORT G_M27271_IG78
        mov      dword ptr [rbp+0x54], r9d
        mov      qword ptr [rbp+0x60], rdx
@@ -997,7 +991,7 @@ G_M27271_IG77:        ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rb
        je       SHORT G_M27271_IG79
        mov      rdx, qword ptr [rbp+0x60]
        mov      r9d, dword ptr [rbp+0x54]
-						;; size=64 bbWeight=0 PerfScore 0.00
+						;; size=47 bbWeight=0 PerfScore 0.00
 G_M27271_IG78:        ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref, isz
        ; gcrRegs -[rax]
        cmp      r9d, r15d
@@ -1166,7 +1160,7 @@ G_M27271_IG94:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2456, prolog size 62, PerfScore 481.46, instruction count 564, allocated bytes for code 2456 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
+; Total bytes of code 2439, prolog size 62, PerfScore 481.46, instruction count 558, allocated bytes for code 2439 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.67%) : 269942.dasm - System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (Tier1)
@@ -16,13 +16,13 @@
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V06 tmp1         [V06,T37] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V07 tmp2         [V07,T44] (  2,  0   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V07 tmp2         [V07,T43] (  2,  0   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.String>
 ;  V08 tmp3         [V08,T38] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V09 tmp4         [V09,T33] (  5,  0.00)     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V10 tmp5         [V10,T45] (  2,  0.00)     ref  ->  rsi         class-hnd exact single-def "non-inline candidate call" <System.String>
+;  V10 tmp5         [V10,T44] (  2,  0.00)     ref  ->  rsi         class-hnd exact single-def "non-inline candidate call" <System.String>
 ;  V11 tmp6         [V11,T39] (  3,  0.00)     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp8         [V13,T46] (  2,  0.00)     ref  ->  rsi         single-def
+;  V13 tmp8         [V13,T45] (  2,  0.00)     ref  ->  rsi         single-def
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp11        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def
@@ -46,7 +46,7 @@
 ;  V34 tmp29        [V34,T32] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V35 tmp30        [V35,T52] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V36 tmp31        [V36,T34] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V37 tmp32        [V37,T43] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V37 tmp32        [V37,T50] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V38 tmp33        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V39 tmp34        [V39,T26] (  2,  2   )     int  ->  rax        
 ;* V40 tmp35        [V40    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -86,10 +86,10 @@
 ;* V74 tmp69        [V74    ] (  0,  0   )    long  ->  zero-ref    "field V45.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V75 tmp70        [V75,T31] (  0,  0   )    long  ->  zero-ref    "field V48.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V76 tmp71        [V76,T11] (  2,  3.89)    long  ->  rax         "Cast away GC"
-;  V77 tmp72        [V77,T47] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V78 tmp73        [V78,T48] (  2,  0.00)     ref  ->   r8         single-def "argument with side effect"
-;  V79 tmp74        [V79,T49] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
-;  V80 tmp75        [V80,T50] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V77 tmp72        [V77,T46] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V78 tmp73        [V78,T47] (  2,  0.00)     ref  ->   r8         single-def "argument with side effect"
+;  V79 tmp74        [V79,T48] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
+;  V80 tmp75        [V80,T49] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V81 tmp76        [V81    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V82 cse0         [V82,T04] (  7,  3.97)     ref  ->  rsi         "CSE #02: aggressive"
 ;  V83 cse1         [V83,T18] (  3,  3   )     int  ->  rcx         "CSE #08: moderate"
@@ -377,12 +377,9 @@ G_M33009_IG26:        ; bbWeight=0, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0008
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M33009_IG28
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M33009_IG27:        ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -722,7 +719,7 @@ G_M33009_IG52:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 1193, prolog size 26, PerfScore 84.93, instruction count 292, allocated bytes for code 1193 (MethodHash=abb37f0e) for method System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (Tier1)
+; Total bytes of code 1185, prolog size 26, PerfScore 84.93, instruction count 289, allocated bytes for code 1185 (MethodHash=abb37f0e) for method System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.67%) : 650543.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyIsRequired(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,bool) (Tier1)
@@ -37,7 +37,7 @@
 ;  V25 tmp22        [V25,T38] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V26 tmp23        [V26,T46] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V27 tmp24        [V27,T39] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V28 tmp25        [V28,T43] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V28 tmp25        [V28,T44] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V29 tmp26        [V29    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V30 tmp27        [V30,T25] (  2,  2   )     int  ->  rcx        
 ;* V31 tmp28        [V31    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -94,7 +94,7 @@
 ;  V82 tmp79        [V82,T11] (  2,  3.02)    long  ->  rax         "Cast away GC"
 ;* V83 tmp80        [V83,T45] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V84 tmp81        [V84,T33] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V85 tmp82        [V85,T44] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V85 tmp82        [V85,T43] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V86 tmp83        [V86    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V87 cse0         [V87,T05] (  9,  4.20)     ref  ->  rbp         "CSE #01: aggressive"
 ;  V88 rat0         [V88,T40] (  5,  0   )    long  ->  r13         "Widened IV V26"
@@ -506,12 +506,9 @@ G_M5912_IG43:        ; bbWeight=0, gcrefRegs=C068 {rbx rbp rsi r14 r15}, byrefRe
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M5912_IG45
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M5912_IG44:        ; bbWeight=0, gcrefRegs=5068 {rbx rbp rsi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -673,7 +670,7 @@ G_M5912_IG59:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1203, prolog size 38, PerfScore 91.29, instruction count 281, allocated bytes for code 1203 (MethodHash=f36be8e7) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyIsRequired(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,bool) (Tier1)
+; Total bytes of code 1195, prolog size 38, PerfScore 91.29, instruction count 278, allocated bytes for code 1195 (MethodHash=f36be8e7) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyIsRequired(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,bool) (Tier1)
 ; ============================================================
 
 Unwind Info:
-32 (-0.61%) : 512583.dasm - Xunit.Sdk.XunitTestCaseRunner:GetBeforeAfterTestAttributes():System.Collections.Generic.List`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
@@ -52,7 +52,7 @@
 ;  V40 tmp37        [V40,T150] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V41 tmp38        [V41,T197] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V42 tmp39        [V42,T154] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V43 tmp40        [V43,T179] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V43 tmp40        [V43,T193] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V44 tmp41        [V44    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V45 tmp42        [V45,T115] (  2,  2   )     int  ->  rcx        
 ;* V46 tmp43        [V46    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -96,7 +96,7 @@
 ;  V84 tmp81        [V84,T151] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V85 tmp82        [V85,T198] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V86 tmp83        [V86,T155] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V87 tmp84        [V87,T180] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V87 tmp84        [V87,T194] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V88 tmp85        [V88    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V89 tmp86        [V89,T116] (  2,  2.00)     int  ->  rcx        
 ;* V90 tmp87        [V90    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -141,7 +141,7 @@
 ;  V129 tmp126      [V129,T152] (  6,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V130 tmp127      [V130,T199] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V131 tmp128      [V131,T156] (  5,  0   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V132 tmp129      [V132,T181] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V132 tmp129      [V132,T195] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V133 tmp130      [V133    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V134 tmp131      [V134,T117] (  2,  2.00)     int  ->  rcx        
 ;* V135 tmp132      [V135    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -194,7 +194,7 @@
 ;  V182 tmp179      [V182,T153] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V183 tmp180      [V183,T200] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V184 tmp181      [V184,T157] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V185 tmp182      [V185,T182] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V185 tmp182      [V185,T196] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V186 tmp183      [V186    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V187 tmp184      [V187,T118] (  2,  2.00)     int  ->  rcx        
 ;* V188 tmp185      [V188    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -321,27 +321,27 @@
 ;  V309 tmp306      [V309,T120] (  2,  2.00)    long  ->  rcx         "field V249.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V310 tmp307      [V310    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V251.m_type (fldOffset=0x0)" P-INDEP
 ;  V311 tmp308      [V311,T51] (  2,  3.88)    long  ->  rax         "Cast away GC"
-;  V312 tmp309      [V312,T183] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V312 tmp309      [V312,T179] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V313 tmp310      [V313    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V314 tmp311      [V314,T184] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V314 tmp311      [V314,T180] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V315 tmp312      [V315,T52] (  2,  3.88)    long  ->  rax         "Cast away GC"
-;  V316 tmp313      [V316,T185] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V316 tmp313      [V316,T181] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V317 tmp314      [V317    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V318 tmp315      [V318,T186] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V318 tmp315      [V318,T182] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V319 tmp316      [V319,T53] (  2,  3.88)    long  ->  rax         "Cast away GC"
-;  V320 tmp317      [V320,T187] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V320 tmp317      [V320,T183] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V321 tmp318      [V321    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V322 tmp319      [V322,T188] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V323 tmp320      [V323,T189] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V324 tmp321      [V324,T190] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V325 tmp322      [V325,T191] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V322 tmp319      [V322,T184] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V323 tmp320      [V323,T185] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V324 tmp321      [V324,T186] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V325 tmp322      [V325,T187] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V326 tmp323      [V326,T54] (  2,  3.88)    long  ->  rax         "Cast away GC"
-;  V327 tmp324      [V327,T192] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
-;  V328 tmp325      [V328,T193] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V329 tmp326      [V329,T194] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V330 tmp327      [V330,T195] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V327 tmp324      [V327,T188] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V328 tmp325      [V328,T189] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V329 tmp326      [V329,T190] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V330 tmp327      [V330,T191] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;* V331 tmp328      [V331    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V332 tmp329      [V332,T196] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V332 tmp329      [V332,T192] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V333 cse0        [V333,T65] (  6,  3.00)    long  ->  r13         "CSE #23: conservative"
 ;  V334 cse1        [V334,T148] (  3,  0.26)    long  ->  rsi         "CSE #28: conservative"
 ;  V335 cse2        [V335,T00] ( 32, 14.89)     ref  ->  rsi         multi-def "CSE #01: aggressive"
@@ -1610,12 +1610,9 @@ G_M61572_IG125:        ; bbWeight=0, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byref
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M61572_IG127
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M61572_IG126:        ; bbWeight=0, gcrefRegs=20E8 {rbx rbp rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -1847,12 +1844,9 @@ G_M61572_IG143:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, b
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M61572_IG145
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M61572_IG144:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -2038,12 +2032,9 @@ G_M61572_IG157:        ; bbWeight=0, gcrefRegs=E068 {rbx rbp rsi r13 r14 r15}, b
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M61572_IG159
-						;; size=77 bbWeight=0 PerfScore 0.00
+						;; size=69 bbWeight=0 PerfScore 0.00
 G_M61572_IG158:        ; bbWeight=0, gcrefRegs=C068 {rbx rbp rsi r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rsp+0x38]
@@ -2306,12 +2297,9 @@ G_M61572_IG178:        ; bbWeight=0, gcrefRegs=C068 {rbx rbp rsi r14 r15}, byref
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M61572_IG180
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M61572_IG179:        ; bbWeight=0, gcrefRegs=5068 {rbx rbp rsi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -2724,7 +2712,7 @@ G_M61572_IG210:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 5210, prolog size 41, PerfScore 371.72, instruction count 1143, allocated bytes for code 5210 (MethodHash=2b1d0f7b) for method Xunit.Sdk.XunitTestCaseRunner:GetBeforeAfterTestAttributes():System.Collections.Generic.List`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
+; Total bytes of code 5178, prolog size 41, PerfScore 371.72, instruction count 1131, allocated bytes for code 5178 (MethodHash=2b1d0f7b) for method Xunit.Sdk.XunitTestCaseRunner:GetBeforeAfterTestAttributes():System.Collections.Generic.List`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.61%) : 177703.dasm - System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,bool):System.Attribute[] (Tier1)
@@ -41,7 +41,7 @@
 ;  V29 tmp25        [V29,T43] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V30 tmp26        [V30,T57] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V31 tmp27        [V31,T45] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V32 tmp28        [V32,T53] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V32 tmp28        [V32,T56] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V33 tmp29        [V33    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V34 tmp30        [V34,T34] (  2,  2   )     int  ->  rcx        
 ;* V35 tmp31        [V35    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -133,13 +133,13 @@
 ;* V121 tmp117      [V121    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V84.m_type (fldOffset=0x0)" P-INDEP
 ;* V122 tmp118      [V122    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V85.m_type (fldOffset=0x0)" P-INDEP
 ;* V123 tmp119      [V123    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V87.m_type (fldOffset=0x0)" P-INDEP
-;  V124 tmp120      [V124,T54] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V125 tmp121      [V125,T55] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V124 tmp120      [V124,T53] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V125 tmp121      [V125,T54] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V126 tmp122      [V126,T20] (  2,  3   )    long  ->  rax         "Cast away GC"
 ;* V127 tmp123      [V127    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V128 tmp124      [V128    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V129 tmp125      [V129    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V130 tmp126      [V130,T56] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V130 tmp126      [V130,T55] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V131 tmp127      [V131    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V132 cse0        [V132,T08] ( 13,  3.75)     ref  ->  rbp         multi-def "CSE #02: aggressive"
 ;  V133 rat0        [V133,T46] (  5,  0   )    long  ->  r15         "Widened IV V30"
@@ -513,12 +513,9 @@ G_M17769_IG37:        ; bbWeight=0, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M17769_IG39
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M17769_IG38:        ; bbWeight=0, gcrefRegs=20A8 {rbx rbp rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -760,7 +757,7 @@ G_M17769_IG52:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1320, prolog size 35, PerfScore 110.56, instruction count 306, allocated bytes for code 1320 (MethodHash=f911ba96) for method System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,bool):System.Attribute[] (Tier1)
+; Total bytes of code 1312, prolog size 35, PerfScore 110.56, instruction count 303, allocated bytes for code 1312 (MethodHash=f911ba96) for method System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,bool):System.Attribute[] (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.60%) : 748204.dasm - System.Runtime.InteropServices.Marshalling.DefaultIUnknownInterfaceDetailsStrategy:GetIUnknownDerivedDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails:this (Tier1)
@@ -31,7 +31,7 @@
 ;  V18 tmp16        [V18,T40] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V19 tmp17        [V19,T49] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V20 tmp18        [V20,T41] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V21 tmp19        [V21,T45] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V21 tmp19        [V21,T48] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V22 tmp20        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V23 tmp21        [V23,T27] (  2,  2   )     int  ->  rcx        
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -90,9 +90,9 @@
 ;  V77 tmp75        [V77,T16] (  2,  2.67)    long  ->  rax         "Cast away GC"
 ;* V78 tmp76        [V78    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V79 tmp77        [V79    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V80 tmp78        [V80,T46] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V81 tmp79        [V81,T47] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V82 tmp80        [V82,T48] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V80 tmp78        [V80,T45] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V81 tmp79        [V81,T46] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V82 tmp80        [V82,T47] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V83 tmp81        [V83    ] (  2,  3.72)  struct (24) [rsp+0x30]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V84 tmp82        [V84,T09] (  2,  3.72)     int  ->   r8         "argument with side effect"
 ;  V85 tmp83        [V85,T33] (  2,  1   )     int  ->  rdx         "argument with side effect"
@@ -509,12 +509,9 @@ G_M363_IG34:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=00
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M363_IG36
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M363_IG35:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -701,7 +698,7 @@ G_M363_IG50:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1326, prolog size 35, PerfScore 120.41, instruction count 300, allocated bytes for code 1326 (MethodHash=7ed6fe94) for method System.Runtime.InteropServices.Marshalling.DefaultIUnknownInterfaceDetailsStrategy:GetIUnknownDerivedDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails:this (Tier1)
+; Total bytes of code 1318, prolog size 35, PerfScore 120.41, instruction count 297, allocated bytes for code 1318 (MethodHash=7ed6fe94) for method System.Runtime.InteropServices.Marshalling.DefaultIUnknownInterfaceDetailsStrategy:GetIUnknownDerivedDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.60%) : 748511.dasm - System.Runtime.InteropServices.Marshalling.DefaultIUnknownInterfaceDetailsStrategy:GetComExposedTypeDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails:this (Tier1)
@@ -31,7 +31,7 @@
 ;  V18 tmp16        [V18,T40] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V19 tmp17        [V19,T49] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V20 tmp18        [V20,T41] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V21 tmp19        [V21,T45] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V21 tmp19        [V21,T48] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V22 tmp20        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V23 tmp21        [V23,T27] (  2,  2   )     int  ->  rcx        
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -90,9 +90,9 @@
 ;  V77 tmp75        [V77,T16] (  2,  2.67)    long  ->  rax         "Cast away GC"
 ;* V78 tmp76        [V78    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V79 tmp77        [V79    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V80 tmp78        [V80,T46] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V81 tmp79        [V81,T47] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V82 tmp80        [V82,T48] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V80 tmp78        [V80,T45] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V81 tmp79        [V81,T46] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V82 tmp80        [V82,T47] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V83 tmp81        [V83    ] (  2,  3.72)  struct (24) [rsp+0x30]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V84 tmp82        [V84,T09] (  2,  3.72)     int  ->   r8         "argument with side effect"
 ;  V85 tmp83        [V85,T33] (  2,  1   )     int  ->  rdx         "argument with side effect"
@@ -509,12 +509,9 @@ G_M56115_IG34:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56115_IG36
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M56115_IG35:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -701,7 +698,7 @@ G_M56115_IG50:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1326, prolog size 35, PerfScore 120.41, instruction count 300, allocated bytes for code 1326 (MethodHash=a0d824cc) for method System.Runtime.InteropServices.Marshalling.DefaultIUnknownInterfaceDetailsStrategy:GetComExposedTypeDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails:this (Tier1)
+; Total bytes of code 1318, prolog size 35, PerfScore 120.41, instruction count 297, allocated bytes for code 1318 (MethodHash=a0d824cc) for method System.Runtime.InteropServices.Marshalling.DefaultIUnknownInterfaceDetailsStrategy:GetComExposedTypeDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.60%) : 700337.dasm - System.Composition.TypedParts.Util.DirectAttributeContext:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (Tier1)
@@ -13,8 +13,8 @@
 ;  V01 arg1         [V01,T03] (  6,  4.15)     ref  ->  rsi         class-hnd single-def <System.Type>
 ;  V02 arg2         [V02,T00] ( 17,  7.69)     ref  ->  rbx         class-hnd single-def <System.Reflection.MemberInfo>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V04 tmp1         [V04,T47] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-;  V05 tmp2         [V05,T48] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;  V04 tmp1         [V04,T49] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;  V05 tmp2         [V05,T50] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
 ;  V06 tmp3         [V06,T18] (  7,  2.51)     ref  ->  rcx         "guarded devirt return temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimePropertyInfo>
 ;* V08 tmp5         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -41,11 +41,11 @@
 ;* V29 tmp26        [V29,T31] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
 ;  V30 tmp27        [V30,T16] (  6,  2.77)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;  V31 tmp28        [V31,T24] (  4,  1.69)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.RuntimeType>
-;  V32 tmp29        [V32,T49] (  3,  0.00)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Type[]>
+;  V32 tmp29        [V32,T51] (  3,  0.00)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Type[]>
 ;  V33 tmp30        [V33,T43] (  6,  0.00)     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V34 tmp31        [V34,T57] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V35 tmp32        [V35,T44] (  5,  0.00)     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V36 tmp33        [V36,T52] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V36 tmp33        [V36,T56] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V37 tmp34        [V37    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V38 tmp35        [V38,T28] (  2,  1.69)     int  ->  rcx        
 ;* V39 tmp36        [V39    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -142,26 +142,26 @@
 ;* V130 tmp127      [V130    ] (  0,  0   )    long  ->  zero-ref    "field V97.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V131 tmp128      [V131    ] (  0,  0   )    long  ->  zero-ref    "field V99.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V132 tmp129      [V132    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V101.m_type (fldOffset=0x0)" P-INDEP
-;  V133 tmp130      [V133,T55] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V134 tmp131      [V134,T56] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V133 tmp130      [V133,T54] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V134 tmp131      [V134,T55] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V135 tmp132      [V135,T15] (  2,  2.85)    long  ->  rax         "Cast away GC"
 ;* V136 tmp133      [V136    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V137 tmp134      [V137    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V138 tmp135      [V138    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V139 tmp136      [V139    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V140 cse0        [V140,T53] (  3,  0.00)     int  ->  r14         "CSE #09: conservative"
+;  V140 cse0        [V140,T52] (  3,  0.00)     int  ->  r14         "CSE #09: conservative"
 ;  V141 cse1        [V141,T08] ( 11,  3.25)     ref  ->  rdi         multi-def "CSE #07: aggressive"
 ;  V142 cse2        [V142,T38] (  3,  0.51)    long  ->  rdx         "CSE #03: conservative"
 ;  V143 cse3        [V143,T41] (  2,  0.09)     ref  ->  rdx         "CSE #08: conservative"
-;  V144 cse4        [V144,T50] (  3,  0.00)     ref  ->  rbx         "CSE #10: conservative"
+;  V144 cse4        [V144,T47] (  3,  0.00)     ref  ->  rbx         "CSE #10: conservative"
 ;  V145 rat0        [V145,T45] (  4,  0.00)   byref  ->  r15         "Strength reduced derived IV"
 ;  V146 rat1        [V146,T46] (  4,  0.00)     int  ->  r14         "Trip count IV"
 ;  V147 rat2        [V147,T30] (  8,  1.28)    long  ->  rbx         "Widened IV V72"
 ;  V148 rat3        [V148,T01] (  5,  8   )     ref  ->  rax         "replacement local"
 ;  V149 rat4        [V149,T06] (  4,  5.08)     ref  ->  rsi         "replacement local"
-;  V150 rat5        [V150,T51] (  3,  0.00)     ref  ->  rdx         "Spilling to split statement for tree"
+;  V150 rat5        [V150,T48] (  3,  0.00)     ref  ->  rdx         "Spilling to split statement for tree"
 ;  V151 rat6        [V151,T42] (  4,  0.00)     ref  ->  r13         "replacement local"
-;  V152 rat7        [V152,T54] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
+;  V152 rat7        [V152,T53] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V153 rat8        [V153,T04] (  5,  5.93)     ref  ->  rax         "replacement local"
 ;  V154 rat9        [V154,T26] (  3,  1.69)    long  ->  rcx         "CSE for expectedClsNode"
 ;
@@ -634,12 +634,9 @@ G_M8729_IG48:        ; bbWeight=0, gcrefRegs=20E8 {rbx rbp rsi rdi r13}, byrefRe
        call     [rax]System.RuntimeType:get_GenericParameterAttributes():int:this
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M8729_IG50
-						;; size=27 bbWeight=0 PerfScore 0.00
+						;; size=19 bbWeight=0 PerfScore 0.00
 G_M8729_IG49:        ; bbWeight=0.00, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=8000 {r15}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r13
@@ -777,7 +774,7 @@ G_M8729_IG61:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1339, prolog size 30, PerfScore 85.89, instruction count 311, allocated bytes for code 1339 (MethodHash=61dadde6) for method System.Composition.TypedParts.Util.DirectAttributeContext:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (Tier1)
+; Total bytes of code 1331, prolog size 30, PerfScore 85.89, instruction count 308, allocated bytes for code 1331 (MethodHash=61dadde6) for method System.Composition.TypedParts.Util.DirectAttributeContext:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-10 (-0.56%) : 655246.dasm - System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (Tier1)
@@ -67,7 +67,7 @@
 ;* V55 tmp45        [V55    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.IO.Pipelines.ReadResult>
 ;* V56 tmp46        [V56    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Buffers.ReadOnlySequence`1[byte]>
 ;* V57 tmp47        [V57    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.IO.Pipelines.ReadResult>
-;  V58 tmp48        [V58,T23] (  4,  1.79)   ubyte  ->  r15         "Inline return value spill temp"
+;  V58 tmp48        [V58,T22] (  4,  1.79)   ubyte  ->  r15         "Inline return value spill temp"
 ;  V59 tmp49        [V59,T12] (  3,  4.42)   byref  ->  rcx         single-def "Inlining Arg"
 ;  V60 tmp50        [V60,T28] (  3,  1.06)     ref  ->  rcx         single-def "ISINST eval op1"
 ;* V61 tmp51        [V61    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
@@ -155,7 +155,7 @@
 ;  V143 tmp133      [V143    ] (  2,  0   )    long  ->  [rbp-0x128]  do-not-enreg[X] addr-exposed "field V84._id (fldOffset=0x8)" P-DEP
 ;* V144 tmp134      [V144    ] (  0,  0   )     ref  ->  zero-ref    "field V85._node (fldOffset=0x0)" P-INDEP
 ;* V145 tmp135      [V145    ] (  0,  0   )    long  ->  zero-ref    "field V85._id (fldOffset=0x8)" P-INDEP
-;  V146 tmp136      [V146,T22] (  5,  1.79)   ubyte  ->  r15         "V08.[000..001)"
+;  V146 tmp136      [V146,T23] (  4,  1.79)   ubyte  ->  r15         "V08.[000..001)"
 ;  V147 tmp137      [V147,T24] (  3,  1.79)     ref  ->  r13         "V08.[008..016)"
 ;  V148 tmp138      [V148,T25] (  3,  1.79)     ref  ->  [rbp-0x180]  "V08.[016..024)"
 ;  V149 tmp139      [V149,T26] (  3,  1.79)     int  ->  registers   "V08.[024..028)"
@@ -576,11 +576,7 @@ G_M36652_IG37:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
 						;; size=7 bbWeight=0 PerfScore 0.00
 G_M36652_IG38:        ; bbWeight=0, gcrefRegs=2848 {rbx rsi r11 r13}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx r11 r13]
-       mov      eax, r15d
-       and      eax, 1
-       mov      ecx, r15d
-       and      ecx, 2
-       or       eax, ecx
+       test     r15b, 3
        mov      gword ptr [rbp-0x180], r11
        ; GC ptr vars +{V148}
        mov      dword ptr [rbp-0x154], r9d
@@ -600,7 +596,7 @@ G_M36652_IG38:        ; bbWeight=0, gcrefRegs=2848 {rbx rsi r11 r13}, byrefRegs=
        ; byrRegs -[rax r15]
        ; gcr arg pop 0
        int3     
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=61 bbWeight=0 PerfScore 0.00
 G_M36652_IG39:        ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=8000 {r15}, byref
        ; gcrRegs +[rbx]
        ; byrRegs +[r15]
@@ -961,7 +957,7 @@ G_M36652_IG75:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=8 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 1790, prolog size 109, PerfScore 118.10, instruction count 405, allocated bytes for code 1790 (MethodHash=6c7470d3) for method System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (Tier1)
+; Total bytes of code 1780, prolog size 109, PerfScore 118.10, instruction count 401, allocated bytes for code 1780 (MethodHash=6c7470d3) for method System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-23 (-0.53%) : 665229.dasm - System.Text.Json.Serialization.Converters.EnumConverter`1[byte]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[byte][] (Tier1)
@@ -303,7 +303,7 @@
 ;  V291 tmp276      [V291,T143] (  5,  0   )     ref  ->  [rsp+0xA8]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V292 tmp277      [V292,T161] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V293 tmp278      [V293,T144] (  5,  0   )     ref  ->  [rsp+0xA0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V294 tmp279      [V294,T154] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V294 tmp279      [V294,T156] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V295 tmp280      [V295    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V296 tmp281      [V296,T39] (  2,  8.00)     int  ->  rcx        
 ;* V297 tmp282      [V297    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -342,7 +342,7 @@
 ;  V330 tmp315      [V330,T145] (  5,  0   )     ref  ->  [rsp+0x58]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V331 tmp316      [V331,T162] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V332 tmp317      [V332,T146] (  5,  0   )     ref  ->  [rsp+0x50]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V333 tmp318      [V333,T155] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V333 tmp318      [V333,T157] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V334 tmp319      [V334    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V335 tmp320      [V335,T90] (  2,  2.97)     int  ->  rcx        
 ;* V336 tmp321      [V336    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -465,11 +465,11 @@
 ;* V453 tmp438      [V453,T125] (  0,  0   )   ubyte  ->  zero-ref    "V32.[016..017)"
 ;  V454 tmp439      [V454,T15] (  2, 12.07)    long  ->  rax         "Cast away GC"
 ;* V455 tmp440      [V455,T160] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V456 tmp441      [V456,T156] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V456 tmp441      [V456,T154] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V457 tmp442      [V457,T57] (  2,  4.48)    long  ->  rax         "Cast away GC"
 ;  V458 tmp443      [V458,T47] (  3,  6.68)     ref  ->  rax         "argument with side effect"
 ;  V459 tmp444      [V459,T51] (  2,  5.94)     ref  ->  rdx         "argument with side effect"
-;  V460 tmp445      [V460,T157] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V460 tmp445      [V460,T155] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V461 tmp446      [V461    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V462 cse0        [V462,T83] (  3,  3.00)     int  ->  r15         "CSE #06: moderate"
 ;  V463 cse1        [V463,T46] (  2,  6.95)     int  ->  rdx         "CSE #33: moderate"
@@ -1845,7 +1845,7 @@ G_M36491_IG137:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14
        ; gcrRegs +[rcx]
        jmp      G_M36491_IG63
 						;; size=7 bbWeight=0 PerfScore 0.00
-G_M36491_IG138:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref
+G_M36491_IG138:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, r12
        ; gcrRegs +[rcx]
@@ -1860,8 +1860,8 @@ G_M36491_IG138:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14
        ; GC ptr vars +{V291}
        xor      r8d, r8d
        ; gcrRegs -[r8]
-       jmp      G_M36491_IG142
-						;; size=43 bbWeight=0 PerfScore 0.00
+       jmp      SHORT G_M36491_IG142
+						;; size=40 bbWeight=0 PerfScore 0.00
 G_M36491_IG139:        ; bbWeight=0, gcVars=000000000100800000000000000000000000000000000000 {V290 V291}, gcrefRegs=70E9 {rax rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      qword ptr [rsp+0xD8], r8
        mov      rdx, gword ptr [rax+8*r8+0x10]
@@ -1892,12 +1892,9 @@ G_M36491_IG139:        ; bbWeight=0, gcVars=000000000100800000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M36491_IG141
-						;; size=94 bbWeight=0 PerfScore 0.00
+						;; size=86 bbWeight=0 PerfScore 0.00
 G_M36491_IG140:        ; bbWeight=0, gcVars=000000000101000000000000000000000000000000000000 {V290 V293}, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V291}
        mov      rcx, gword ptr [rsp+0xA0]
@@ -1915,7 +1912,7 @@ G_M36491_IG141:        ; bbWeight=0, gcVars=000000000100800000000000000000000000
 						;; size=19 bbWeight=0 PerfScore 0.00
 G_M36491_IG142:        ; bbWeight=0, gcrefRegs=70E9 {rax rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rax+0x08], r8d
-       jg       G_M36491_IG139
+       jg       SHORT G_M36491_IG139
        mov      rax, 0xD1FFAB1E
        cmp      gword ptr [rsp+0xA8], rax
        jne      SHORT G_M36491_IG143
@@ -1930,7 +1927,7 @@ G_M36491_IG142:        ; bbWeight=0, gcrefRegs=70E9 {rax rbx rbp rsi rdi r12 r13
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      gword ptr [rsp+0xA8], rcx
-						;; size=61 bbWeight=0 PerfScore 0.00
+						;; size=57 bbWeight=0 PerfScore 0.00
 G_M36491_IG143:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rsp+0xA8]
@@ -2031,12 +2028,9 @@ G_M36491_IG149:        ; bbWeight=0, gcVars=000000000202000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M36491_IG151
-						;; size=85 bbWeight=0 PerfScore 0.00
+						;; size=77 bbWeight=0 PerfScore 0.00
 G_M36491_IG150:        ; bbWeight=0, gcVars=000000000204000000000000000000000000000000000000 {V329 V332}, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V330}
        mov      rcx, gword ptr [rsp+0x50]
@@ -2343,7 +2337,7 @@ G_M36491_IG179:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 4374, prolog size 53, PerfScore 824.00, instruction count 890, allocated bytes for code 4374 (MethodHash=2ef77174) for method System.Text.Json.Serialization.Converters.EnumConverter`1[byte]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[byte][] (Tier1)
+; Total bytes of code 4351, prolog size 53, PerfScore 824.00, instruction count 884, allocated bytes for code 4351 (MethodHash=2ef77174) for method System.Text.Json.Serialization.Converters.EnumConverter`1[byte]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[byte][] (Tier1)
 ; ============================================================
 
 Unwind Info:
-23 (-0.52%) : 665575.dasm - System.Text.Json.Serialization.Converters.EnumConverter`1[int]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[int][] (Tier1)
@@ -303,7 +303,7 @@
 ;  V291 tmp276      [V291,T145] (  5,  0   )     ref  ->  [rsp+0x98]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V292 tmp277      [V292,T165] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V293 tmp278      [V293,T146] (  5,  0   )     ref  ->  [rsp+0x90]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V294 tmp279      [V294,T157] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V294 tmp279      [V294,T160] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V295 tmp280      [V295    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V296 tmp281      [V296,T41] (  2,  6.00)     int  ->  rcx        
 ;* V297 tmp282      [V297    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -342,7 +342,7 @@
 ;  V330 tmp315      [V330,T147] (  5,  0   )     ref  ->  [rsp+0x48]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V331 tmp316      [V331,T166] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V332 tmp317      [V332,T148] (  5,  0   )     ref  ->  [rsp+0x40]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V333 tmp318      [V333,T158] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V333 tmp318      [V333,T161] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V334 tmp319      [V334    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V335 tmp320      [V335,T95] (  2,  2.23)     int  ->  rcx        
 ;* V336 tmp321      [V336    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -473,13 +473,13 @@
 ;* V461 tmp446      [V461,T127] (  0,  0   )   ubyte  ->  zero-ref    "V74.[016..017)"
 ;  V462 tmp447      [V462,T18] (  2,  9.06)    long  ->  rax         "Cast away GC"
 ;* V463 tmp448      [V463,T164] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V464 tmp449      [V464,T159] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V464 tmp449      [V464,T157] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V465 tmp450      [V465,T71] (  2,  3.36)    long  ->  rax         "Cast away GC"
 ;  V466 tmp451      [V466,T47] (  3,  5.01)     ref  ->  rax         "argument with side effect"
 ;  V467 tmp452      [V467,T51] (  2,  4.45)     ref  ->  rdx         "argument with side effect"
 ;  V468 tmp453      [V468,T93] (  3,  2.23)     ref  ->  rax         "argument with side effect"
-;  V469 tmp454      [V469,T160] (  2,  0   )     ref  ->   r8         "argument with side effect"
-;  V470 tmp455      [V470,T161] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V469 tmp454      [V469,T158] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V470 tmp455      [V470,T159] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V471 tmp456      [V471    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V472 cse0        [V472,T46] (  2,  5.48)     int  ->  rdx         "CSE #33: moderate"
 ;  V473 cse1        [V473,T37] (  3,  6.44)     int  ->  rdx         "CSE #07: moderate"
@@ -1848,7 +1848,7 @@ G_M47563_IG139:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14
        ; gcrRegs +[rcx]
        jmp      G_M47563_IG62
 						;; size=7 bbWeight=0 PerfScore 0.00
-G_M47563_IG140:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref
+G_M47563_IG140:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, r12
        ; gcrRegs +[rcx]
@@ -1863,8 +1863,8 @@ G_M47563_IG140:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14
        ; GC ptr vars +{V291}
        xor      r8d, r8d
        ; gcrRegs -[r8]
-       jmp      G_M47563_IG144
-						;; size=43 bbWeight=0 PerfScore 0.00
+       jmp      SHORT G_M47563_IG144
+						;; size=40 bbWeight=0 PerfScore 0.00
 G_M47563_IG141:        ; bbWeight=0, gcVars=000000000402000000000000000000000000000000000000 {V290 V291}, gcrefRegs=70E9 {rax rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      qword ptr [rsp+0xC8], r8
        mov      rdx, gword ptr [rax+8*r8+0x10]
@@ -1895,12 +1895,9 @@ G_M47563_IG141:        ; bbWeight=0, gcVars=000000000402000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M47563_IG143
-						;; size=94 bbWeight=0 PerfScore 0.00
+						;; size=86 bbWeight=0 PerfScore 0.00
 G_M47563_IG142:        ; bbWeight=0, gcVars=000000000404000000000000000000000000000000000000 {V290 V293}, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V291}
        mov      rcx, gword ptr [rsp+0x90]
@@ -1918,7 +1915,7 @@ G_M47563_IG143:        ; bbWeight=0, gcVars=000000000402000000000000000000000000
 						;; size=19 bbWeight=0 PerfScore 0.00
 G_M47563_IG144:        ; bbWeight=0, gcrefRegs=70E9 {rax rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rax+0x08], r8d
-       jg       G_M47563_IG141
+       jg       SHORT G_M47563_IG141
        mov      rax, 0xD1FFAB1E
        cmp      gword ptr [rsp+0x98], rax
        jne      SHORT G_M47563_IG145
@@ -1933,7 +1930,7 @@ G_M47563_IG144:        ; bbWeight=0, gcrefRegs=70E9 {rax rbx rbp rsi rdi r12 r13
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      gword ptr [rsp+0x98], rcx
-						;; size=61 bbWeight=0 PerfScore 0.00
+						;; size=57 bbWeight=0 PerfScore 0.00
 G_M47563_IG145:        ; bbWeight=0, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rsp+0x98]
@@ -2034,12 +2031,9 @@ G_M47563_IG151:        ; bbWeight=0, gcVars=000000000808000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M47563_IG153
-						;; size=85 bbWeight=0 PerfScore 0.00
+						;; size=77 bbWeight=0 PerfScore 0.00
 G_M47563_IG152:        ; bbWeight=0, gcVars=000000000810000000000000000000000000000000000000 {V329 V332}, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V330}
        mov      rcx, gword ptr [rsp+0x40]
@@ -2407,7 +2401,7 @@ G_M47563_IG185:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 4433, prolog size 52, PerfScore 637.64, instruction count 911, allocated bytes for code 4433 (MethodHash=fffa4634) for method System.Text.Json.Serialization.Converters.EnumConverter`1[int]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[int][] (Tier1)
+; Total bytes of code 4410, prolog size 52, PerfScore 637.64, instruction count 905, allocated bytes for code 4410 (MethodHash=fffa4634) for method System.Text.Json.Serialization.Converters.EnumConverter`1[int]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[int][] (Tier1)
 ; ============================================================
 
 Unwind Info:
-32 (-0.51%) : 650530.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:PopulatePropertyInfo(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,System.Text.Json.Serialization.JsonConverter,System.Nullable`1[int],System.Reflection.NullabilityInfoContext,bool,bool,System.Text.Json.JsonNamingPolicy) (Tier1)
@@ -92,7 +92,7 @@
 ;  V80 tmp68        [V80,T184] (  6,  0   )     ref  ->  [rsp+0xB0]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V81 tmp69        [V81,T211] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V82 tmp70        [V82,T187] (  5,  0   )     ref  ->  [rsp+0xA8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V83 tmp71        [V83,T200] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V83 tmp71        [V83,T205] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V84 tmp72        [V84    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V85 tmp73        [V85,T100] (  2,  2.00)     int  ->  rcx        
 ;* V86 tmp74        [V86    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -153,7 +153,7 @@
 ;  V141 tmp129      [V141,T185] (  6,  0   )     ref  ->  [rsp+0x98]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V142 tmp130      [V142,T212] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V143 tmp131      [V143,T188] (  5,  0   )     ref  ->  [rsp+0x90]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V144 tmp132      [V144,T201] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V144 tmp132      [V144,T206] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V145 tmp133      [V145    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V146 tmp134      [V146,T113] (  2,  1.98)     int  ->  rcx        
 ;* V147 tmp135      [V147    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -222,7 +222,7 @@
 ;  V210 tmp198      [V210,T186] (  6,  0   )     ref  ->  [rsp+0x68]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V211 tmp199      [V211,T213] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V212 tmp200      [V212,T189] (  5,  0   )     ref  ->  [rsp+0x60]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V213 tmp201      [V213,T202] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V213 tmp201      [V213,T207] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V214 tmp202      [V214    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V215 tmp203      [V215,T108] (  2,  2.00)     int  ->  rcx        
 ;* V216 tmp204      [V216    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -370,7 +370,7 @@
 ;* V358 tmp346      [V358,T209] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V359 tmp347      [V359    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V360 tmp348      [V360,T152] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V361 tmp349      [V361,T203] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V361 tmp349      [V361,T200] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V362 tmp350      [V362,T55] (  2,  3.02)    long  ->  rax         "Cast away GC"
 ;* V363 tmp351      [V363,T210] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V364 tmp352      [V364    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
@@ -381,11 +381,11 @@
 ;  V369 tmp357      [V369,T118] (  2,  1.94)     ref  ->  rdx         single-def "argument with side effect"
 ;  V370 tmp358      [V370,T166] (  2,  0.19)     ref  ->  rdx         single-def "argument with side effect"
 ;  V371 tmp359      [V371,T169] (  2,  0.19)     ref  ->  rdx         single-def "argument with side effect"
-;  V372 tmp360      [V372,T204] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V373 tmp361      [V373,T205] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V374 tmp362      [V374,T206] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V372 tmp360      [V372,T201] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V373 tmp361      [V373,T202] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V374 tmp362      [V374,T203] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V375 tmp363      [V375,T126] (  2,  1.54)     ref  ->  rcx         single-def "argument with side effect"
-;  V376 tmp364      [V376,T207] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V376 tmp364      [V376,T204] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V377 tmp365      [V377    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V378 cse0        [V378,T70] (  3,  2.90)     ref  ->  r13         "CSE #34: conservative"
 ;  V379 cse1        [V379,T23] ( 12,  5.36)    long  ->  [rsp+0xF8]  multi-def "CSE #03: moderate"
@@ -2230,12 +2230,9 @@ G_M22330_IG203:        ; bbWeight=0, gcVars=000000000000000001000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M22330_IG205
-						;; size=94 bbWeight=0 PerfScore 0.00
+						;; size=86 bbWeight=0 PerfScore 0.00
 G_M22330_IG204:        ; bbWeight=0, gcVars=0000000000000000080000000000000000000000000000000000000000000000 {V82}, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V80}
        mov      rax, gword ptr [rsp+0xA8]
@@ -2252,7 +2249,7 @@ G_M22330_IG205:        ; bbWeight=0, gcVars=000000000000000001000000000000000000
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M22330_IG206:        ; bbWeight=0, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [r12+0x08], r8d
-       jg       G_M22330_IG203
+       jg       SHORT G_M22330_IG203
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        cmp      gword ptr [rsp+0xB0], rcx
@@ -2270,7 +2267,7 @@ G_M22330_IG206:        ; bbWeight=0, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, byref
        mov      r12, rax
        ; gcrRegs +[r12]
        mov      gword ptr [rsp+0xB0], r12
-						;; size=75 bbWeight=0 PerfScore 0.00
+						;; size=71 bbWeight=0 PerfScore 0.00
 G_M22330_IG207:        ; bbWeight=0, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rcx r12]
        mov      rax, gword ptr [rsp+0xB0]
@@ -2430,12 +2427,9 @@ G_M22330_IG218:        ; bbWeight=0, gcVars=000000000000000002000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M22330_IG220
-						;; size=94 bbWeight=0 PerfScore 0.00
+						;; size=86 bbWeight=0 PerfScore 0.00
 G_M22330_IG219:        ; bbWeight=0, gcVars=0000000000000000100000000000000000000000000000000000000000000000 {V143}, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V141}
        mov      rax, gword ptr [rsp+0x90]
@@ -2452,7 +2446,7 @@ G_M22330_IG220:        ; bbWeight=0, gcVars=000000000000000002000000000000000000
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M22330_IG221:        ; bbWeight=0, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rdi+0x08], r8d
-       jg       G_M22330_IG218
+       jg       SHORT G_M22330_IG218
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        cmp      gword ptr [rsp+0x98], rcx
@@ -2470,7 +2464,7 @@ G_M22330_IG221:        ; bbWeight=0, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs
        mov      rdi, rax
        ; gcrRegs +[rdi]
        mov      gword ptr [rsp+0x98], rdi
-						;; size=81 bbWeight=0 PerfScore 0.00
+						;; size=77 bbWeight=0 PerfScore 0.00
 G_M22330_IG222:        ; bbWeight=0, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rcx rdi]
        mov      rax, gword ptr [rsp+0x98]
@@ -2738,12 +2732,9 @@ G_M22330_IG241:        ; bbWeight=0, gcVars=000000000000004004000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M22330_IG243
-						;; size=88 bbWeight=0 PerfScore 0.00
+						;; size=80 bbWeight=0 PerfScore 0.00
 G_M22330_IG242:        ; bbWeight=0, gcVars=0000000000000040200000000000000000000000000000000000000008000000 {V209 V212 V385}, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V210}
        mov      r8, gword ptr [rsp+0x60]
@@ -3154,7 +3145,7 @@ G_M22330_IG278:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 6275, prolog size 50, PerfScore 451.31, instruction count 1321, allocated bytes for code 6275 (MethodHash=c34fa8c5) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:PopulatePropertyInfo(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,System.Text.Json.Serialization.JsonConverter,System.Nullable`1[int],System.Reflection.NullabilityInfoContext,bool,bool,System.Text.Json.JsonNamingPolicy) (Tier1)
+; Total bytes of code 6243, prolog size 50, PerfScore 451.31, instruction count 1312, allocated bytes for code 6243 (MethodHash=c34fa8c5) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:PopulatePropertyInfo(System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Reflection.MemberInfo,System.Text.Json.Serialization.JsonConverter,System.Nullable`1[int],System.Reflection.NullabilityInfoContext,bool,bool,System.Text.Json.JsonNamingPolicy) (Tier1)
 ; ============================================================
 
 Unwind Info:
-5 (-0.51%) : 274699.dasm - System.Sha1ForNonSecretPurposes:HashData(System.ReadOnlySpan`1[byte],System.Span`1[byte]) (Tier1)
@@ -23,7 +23,7 @@
 ;  V11 tmp2         [V11,T29] (  2, 35.10)   byref  ->  rdx         "impAppendStmt"
 ;* V12 tmp3         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
 ;* V13 tmp4         [V13    ] (  0,  0   )     int  ->  zero-ref    "impSpillLclRefs"
-;  V14 tmp5         [V14,T03] (  4,426.58)     int  ->   r9         "impSpillLclRefs"
+;  V14 tmp5         [V14,T02] (  4,426.58)     int  ->   r9         "impSpillLclRefs"
 ;* V15 tmp6         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[byte]>
 ;  V16 tmp7         [V16,T21] (  2,100.90)   byref  ->  rdx         "impAppendStmt"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[byte]>
@@ -73,7 +73,7 @@
 ;* V61 tmp52        [V61    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[uint]>
 ;* V62 tmp53        [V62,T62] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V63 tmp54        [V63,T06] ( 14,376.90)     int  ->  registers   "Inline stloc first use temp"
-;  V64 tmp55        [V64,T02] ( 16,439.23)     int  ->  registers   "Inline stloc first use temp"
+;  V64 tmp55        [V64,T03] ( 15,408.06)     int  ->  registers   "Inline stloc first use temp"
 ;  V65 tmp56        [V65,T04] ( 15,408.06)     int  ->  registers   "Inline stloc first use temp"
 ;  V66 tmp57        [V66,T05] ( 15,408.06)     int  ->  registers   "Inline stloc first use temp"
 ;  V67 tmp58        [V67,T08] ( 10,252.26)     int  ->  registers   "Inline stloc first use temp"
@@ -407,13 +407,11 @@ G_M29126_IG20:        ; bbWeight=1.48, gcrefRegs=0000 {}, byrefRegs=D000 {r12 r1
        mov      esi, 40
 						;; size=5 bbWeight=1.48 PerfScore 0.37
 G_M29126_IG21:        ; bbWeight=31.16, gcrefRegs=0000 {}, byrefRegs=D000 {r12 r14 r15}, byref, isz
-       mov      edi, edx
-       and      edi, r8d
-       mov      r13d, edx
-       and      r13d, r10d
-       or       edi, r13d
+       mov      edi, r8d
+       and      edi, r10d
        mov      r13d, r8d
-       and      r13d, r10d
+       or       r13d, r10d
+       and      r13d, edx
        or       edi, r13d
        mov      r13d, ecx
        rol      r13d, 5
@@ -431,7 +429,7 @@ G_M29126_IG21:        ; bbWeight=31.16, gcrefRegs=0000 {}, byrefRegs=D000 {r12 r
        mov      r8d, edx
        mov      edx, eax
        jl       SHORT G_M29126_IG21
-						;; size=74 bbWeight=31.16 PerfScore 303.82
+						;; size=69 bbWeight=31.16 PerfScore 288.24
 G_M29126_IG22:        ; bbWeight=1.48, gcrefRegs=0000 {}, byrefRegs=D000 {r12 r14 r15}, byref
        mov      esi, 60
 						;; size=5 bbWeight=1.48 PerfScore 0.37
@@ -540,7 +538,7 @@ G_M29126_IG33:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 981, prolog size 41, PerfScore 3274.05, instruction count 261, allocated bytes for code 981 (MethodHash=ddf78e39) for method System.Sha1ForNonSecretPurposes:HashData(System.ReadOnlySpan`1[byte],System.Span`1[byte]) (Tier1)
+; Total bytes of code 976, prolog size 41, PerfScore 3258.47, instruction count 259, allocated bytes for code 976 (MethodHash=ddf78e39) for method System.Sha1ForNonSecretPurposes:HashData(System.ReadOnlySpan`1[byte],System.Span`1[byte]) (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.46%) : 191496.dasm - (dynamicClass):Invoker(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object (FullOpts)
@@ -24,7 +24,7 @@
 ;  V11 tmp7         [V11,T52] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V12 tmp8         [V12,T61] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T53] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V14 tmp10        [V14,T57] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T60] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V16 tmp12        [V16,T37] (  2,  2   )     int  ->  rcx        
 ;* V17 tmp13        [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -118,9 +118,9 @@
 ;  V105 tmp101      [V105    ] (  8,  5.49)     int  ->  [rsp+0x58]  do-not-enreg[X] addr-exposed "field V52._count (fldOffset=0x10)" P-DEP
 ;  V106 tmp102      [V106    ] (  8,  2.32)     int  ->  [rsp+0x5C]  do-not-enreg[X] addr-exposed "field V52._capacity (fldOffset=0x14)" P-DEP
 ;  V107 tmp103      [V107,T18] (  2,  3.30)    long  ->  rax         "Cast away GC"
-;  V108 tmp104      [V108,T58] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V109 tmp105      [V109,T59] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V110 tmp106      [V110,T60] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V108 tmp104      [V108,T57] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V109 tmp105      [V109,T58] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V110 tmp106      [V110,T59] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V111 tmp107      [V111,T13] (  2,  3.98)   byref  ->   r9         single-def "argument with side effect"
 ;  V112 tmp108      [V112,T02] (  3,  5.96)     ref  ->  rbx         single-def "argument with side effect"
 ;  V113 cse0        [V113,T32] (  3,  2.39)    long  ->  rcx         "CSE #06: moderate"
@@ -668,12 +668,9 @@ G_M59934_IG48:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, by
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M59934_IG50
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M59934_IG49:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -899,7 +896,7 @@ G_M59934_IG71:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1728, prolog size 59, PerfScore 150.44, instruction count 377, allocated bytes for code 1728 (MethodHash=140915e1) for method (dynamicClass):Invoker(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object (FullOpts)
+; Total bytes of code 1720, prolog size 59, PerfScore 150.44, instruction count 374, allocated bytes for code 1720 (MethodHash=140915e1) for method (dynamicClass):Invoker(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-0.46%) : 466500.dasm - System.Uri:ParseRemaining():this (Tier1)
@@ -13,7 +13,7 @@
 ;  V01 loc0         [V01,T07] ( 74, 28.91)    long  ->  rsi        
 ;  V02 loc1         [V02,T19] ( 12,  5.02)     ref  ->  rdi         class-hnd exact single-def <System.String>
 ;  V03 loc2         [V03,T20] (  9,  4.98)     int  ->  [rbp-0x3C] 
-;  V04 loc3         [V04,T18] ( 12,  5.09)     int  ->  r13        
+;  V04 loc3         [V04,T18] ( 11,  5.09)     int  ->  r13        
 ;  V05 loc4         [V05,T32] (  5,  2.00)   ubyte  ->  [rbp-0x40]  spill-single-def
 ;  V06 loc5         [V06,T11] ( 27, 10.99)     int  ->  [rbp-0x44] 
 ;* V07 loc6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[char]>
@@ -1172,14 +1172,10 @@ G_M48529_IG113:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}
        mov      r8, 0xD1FFAB1E
        test     rsi, r8
        je       SHORT G_M48529_IG115
-       mov      r8d, r13d
-       and      r8d, 0xD1FFAB1E
-       mov      r10d, r13d
-       and      r10d, 0xD1FFAB1E
-       or       r8d, r10d
+       test     r13d, 0xD1FFAB1E
        je       SHORT G_M48529_IG115
        jmp      G_M48529_IG24
-						;; size=45 bbWeight=0 PerfScore 0.00
+						;; size=29 bbWeight=0 PerfScore 0.00
 G_M48529_IG114:        ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        test     r13d, 0xD1FFAB1E
        je       G_M48529_IG25
@@ -1410,7 +1406,7 @@ G_M48529_IG132:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 3474, prolog size 39, PerfScore 1030.23, instruction count 791, allocated bytes for code 3474 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (Tier1)
+; Total bytes of code 3458, prolog size 39, PerfScore 1030.23, instruction count 787, allocated bytes for code 3458 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (Tier1)
 ; ============================================================
 
 Unwind Info:
-9 (-0.38%) : 475499.dasm - System.Xml.XsdValidatingReader:SetupValidator(System.Xml.XmlReaderSettings,System.Xml.XmlReader,System.Xml.Schema.XmlSchemaObject):this (Tier1)
@@ -10,17 +10,17 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] ( 14, 13   )     ref  ->  rbx         this class-hnd single-def <System.Xml.XsdValidatingReader>
-;  V01 arg1         [V01,T08] (  7,  5.37)     ref  ->  rdi         class-hnd single-def <System.Xml.XmlReaderSettings>
+;  V01 arg1         [V01,T07] (  7,  5.37)     ref  ->  rdi         class-hnd single-def <System.Xml.XmlReaderSettings>
 ;  V02 arg2         [V02,T05] ( 10,  6   )     ref  ->  rsi         class-hnd single-def <System.Xml.XmlReader>
 ;  V03 arg3         [V03,T17] (  4,  3   )     ref  ->  rbp         class-hnd single-def <System.Xml.Schema.XmlSchemaObject>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V05 tmp1         [V05,T09] (  4,  7.12)     ref  ->  r14         class-hnd single-def "impAppendStmt" <System.Xml.XmlNameTable>
+;  V05 tmp1         [V05,T08] (  4,  7.12)     ref  ->  r14         class-hnd single-def "impAppendStmt" <System.Xml.XmlNameTable>
 ;* V06 tmp2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
-;  V07 tmp3         [V07,T12] (  3,  6   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <System.Xml.IXmlNamespaceResolver>
+;  V07 tmp3         [V07,T11] (  3,  6   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <System.Xml.IXmlNamespaceResolver>
 ;  V08 tmp4         [V08,T01] ( 14, 22.47)     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaValidator>
 ;  V09 tmp5         [V09,T06] (  4,  8   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
-;  V10 tmp6         [V10,T13] (  3,  6.00)     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
-;  V11 tmp7         [V11,T14] (  3,  6.00)     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
+;  V10 tmp6         [V10,T12] (  3,  6.00)     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
+;  V11 tmp7         [V11,T13] (  3,  6.00)     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
 ;* V12 tmp8         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Xml.XmlReaderSettings>
 ;  V13 tmp9         [V13,T51] (  3,  2   )     ref  ->  rcx         "guarded devirt return temp"
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Xml.XmlTextReaderImpl>
@@ -32,7 +32,7 @@
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Schema.XmlSchemaSet>
 ;  V21 tmp17        [V21,T43] (  5,  2.27)     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
 ;* V22 tmp18        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
-;  V23 tmp19        [V23,T07] (  4,  8   )     int  ->  [rsp+0x30]  spill-single-def "Inlining Arg"
+;  V23 tmp19        [V23,T15] (  3,  6   )     int  ->  [rsp+0x30]  spill-single-def "Inlining Arg"
 ;  V24 tmp20        [V24,T33] (  3,  3.35)     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaSet>
 ;  V25 tmp21        [V25,T16] (  7,  5.58)     ref  ->  r14         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;* V26 tmp22        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
@@ -92,8 +92,8 @@
 ;  V80 tmp76        [V80,T22] (  3,  4.00)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
 ;  V81 tmp77        [V81,T50] (  4,  2.00)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Delegate>
 ;  V82 tmp78        [V82,T23] (  3,  4.00)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
-;  V83 tmp79        [V83,T15] (  3,  6.00)     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Xml.IXmlLineInfo>
-;  V84 tmp80        [V84,T11] (  4,  6.00)     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
+;  V83 tmp79        [V83,T14] (  3,  6.00)     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Xml.IXmlLineInfo>
+;  V84 tmp80        [V84,T10] (  4,  6.00)     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
 ;* V85 tmp81        [V85,T66] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V86 tmp82        [V86,T26] (  2,  4.00)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
 ;* V87 tmp83        [V87    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
@@ -135,7 +135,7 @@
 ;  V123 rat1        [V123,T63] (  3,  1.12)    long  ->   r8         "CSE for expectedClsNode"
 ;  V124 rat2        [V124,T30] (  4,  3.91)     ref  ->  r13         "replacement local"
 ;  V125 rat3        [V125,T64] (  3,  1.12)    long  ->  rcx         "CSE for expectedClsNode"
-;  V126 rat4        [V126,T10] (  4,  7.00)     ref  ->  rax         "replacement local"
+;  V126 rat4        [V126,T09] (  4,  7.00)     ref  ->  rax         "replacement local"
 ;  V127 rat5        [V127,T53] (  3,  2.00)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V128 rat6        [V128,T68] (  5,  5.58)  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  TEMP_01                                     int  ->  [rsp+0x34]
@@ -203,12 +203,9 @@ G_M44842_IG03:        ; bbWeight=1, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, by
        ; byrRegs -[rcx]
        mov      r13d, dword ptr [rsp+0x30]
        mov      dword ptr [r12+0xF0], r13d
-       mov      ecx, r13d
-       and      ecx, 1
-       and      r13d, 2
-       or       ecx, r13d
+       test     r13b, 3
        je       G_M44842_IG44
-						;; size=135 bbWeight=1 PerfScore 18.50
+						;; size=126 bbWeight=1 PerfScore 17.75
 G_M44842_IG04:        ; bbWeight=0.56, gcrefRegs=D0E8 {rbx rbp rsi rdi r12 r14 r15}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaSet
        call     CORINFO_HELP_NEWSFAST
@@ -1198,7 +1195,7 @@ RWD04  	dd	40400000h		;         3
 RWD08  	dd	4F000000h		; 2.14748e+09
 
 
-; Total bytes of code 2388, prolog size 16, PerfScore 240.78, instruction count 525, allocated bytes for code 2388 (MethodHash=b4b550d5) for method System.Xml.XsdValidatingReader:SetupValidator(System.Xml.XmlReaderSettings,System.Xml.XmlReader,System.Xml.Schema.XmlSchemaObject):this (Tier1)
+; Total bytes of code 2379, prolog size 16, PerfScore 240.03, instruction count 522, allocated bytes for code 2379 (MethodHash=b4b550d5) for method System.Xml.XsdValidatingReader:SetupValidator(System.Xml.XmlReaderSettings,System.Xml.XmlReader,System.Xml.Schema.XmlSchemaObject):this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.35%) : 748512.dasm - System.Runtime.InteropServices.Marshalling.IComExposedDetails:GetFromAttribute(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails (Tier1)
@@ -28,7 +28,7 @@
 ;  V16 tmp14        [V16,T80] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V17 tmp15        [V17,T94] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V18 tmp16        [V18,T81] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V19 tmp17        [V19,T86] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V19 tmp17        [V19,T93] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V21 tmp19        [V21,T50] (  2,  2   )     int  ->  rcx        
 ;* V22 tmp20        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -70,9 +70,9 @@
 ;* V58 tmp56        [V58    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp57        [V59    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V60 tmp58        [V60    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V61 tmp59        [V61,T87] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
+;  V61 tmp59        [V61,T86] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
 ;  V62 tmp60        [V62,T47] (  3,  2   )    long  ->  rax         "Inline stloc first use temp"
-;  V63 tmp61        [V63,T88] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
+;  V63 tmp61        [V63,T87] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V64 tmp62        [V64    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V65 tmp63        [V65,T48] (  3,  2   )     int  ->  rcx        
 ;* V66 tmp64        [V66    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -176,15 +176,15 @@
 ;  V164 tmp162      [V164,T35] (  2,  2.67)    long  ->  rax         "Cast away GC"
 ;* V165 tmp163      [V165    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V166 tmp164      [V166    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V167 tmp165      [V167,T89] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V168 tmp166      [V168,T90] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V167 tmp165      [V167,T88] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V168 tmp166      [V168,T89] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V169 tmp167      [V169    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V170 tmp168      [V170    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V171 tmp169      [V171,T91] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V171 tmp169      [V171,T90] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V172 tmp170      [V172    ] (  2,  3.72)  struct (24) [rsp+0x40]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V173 tmp171      [V173,T17] (  2,  3.72)     int  ->   r8         "argument with side effect"
-;  V174 tmp172      [V174,T92] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
-;  V175 tmp173      [V175,T93] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V174 tmp172      [V174,T91] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V175 tmp173      [V175,T92] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V176 tmp174      [V176,T38] (  2,  2.33)     ref  ->   r8         "argument with side effect"
 ;  V177 tmp175      [V177,T65] (  2,  1   )     int  ->  rdx         "argument with side effect"
 ;* V178 tmp176      [V178    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
@@ -790,12 +790,9 @@ G_M49538_IG55:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M49538_IG57
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M49538_IG56:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -1200,7 +1197,7 @@ G_M49538_IG91:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2315, prolog size 48, PerfScore 212.67, instruction count 516, allocated bytes for code 2315 (MethodHash=6ae03e7d) for method System.Runtime.InteropServices.Marshalling.IComExposedDetails:GetFromAttribute(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails (Tier1)
+; Total bytes of code 2307, prolog size 48, PerfScore 212.67, instruction count 513, allocated bytes for code 2307 (MethodHash=6ae03e7d) for method System.Runtime.InteropServices.Marshalling.IComExposedDetails:GetFromAttribute(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.34%) : 748205.dasm - System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails:GetFromAttribute(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails (Tier1)
@@ -28,7 +28,7 @@
 ;  V16 tmp14        [V16,T80] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V17 tmp15        [V17,T94] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V18 tmp16        [V18,T81] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V19 tmp17        [V19,T86] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V19 tmp17        [V19,T93] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V21 tmp19        [V21,T50] (  2,  2   )     int  ->  rcx        
 ;* V22 tmp20        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -70,9 +70,9 @@
 ;* V58 tmp56        [V58    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp57        [V59    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V60 tmp58        [V60    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V61 tmp59        [V61,T87] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
+;  V61 tmp59        [V61,T86] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
 ;  V62 tmp60        [V62,T47] (  3,  2   )    long  ->  rax         "Inline stloc first use temp"
-;  V63 tmp61        [V63,T88] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
+;  V63 tmp61        [V63,T87] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V64 tmp62        [V64    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V65 tmp63        [V65,T48] (  3,  2   )     int  ->  rcx        
 ;* V66 tmp64        [V66    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -176,15 +176,15 @@
 ;  V164 tmp162      [V164,T34] (  2,  2.67)    long  ->  rax         "Cast away GC"
 ;* V165 tmp163      [V165    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V166 tmp164      [V166    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V167 tmp165      [V167,T89] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V168 tmp166      [V168,T90] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V167 tmp165      [V167,T88] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V168 tmp166      [V168,T89] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V169 tmp167      [V169    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V170 tmp168      [V170    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V171 tmp169      [V171,T91] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V171 tmp169      [V171,T90] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V172 tmp170      [V172    ] (  2,  3.72)  struct (24) [rsp+0x40]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V173 tmp171      [V173,T17] (  2,  3.72)     int  ->   r8         "argument with side effect"
-;  V174 tmp172      [V174,T92] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
-;  V175 tmp173      [V175,T93] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V174 tmp172      [V174,T91] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V175 tmp173      [V175,T92] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V176 tmp174      [V176,T38] (  2,  2.33)     ref  ->   r8         "argument with side effect"
 ;  V177 tmp175      [V177,T65] (  2,  1.00)     int  ->  rdx         "argument with side effect"
 ;* V178 tmp176      [V178    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
@@ -795,12 +795,9 @@ G_M14530_IG56:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M14530_IG58
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M14530_IG57:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -1201,7 +1198,7 @@ G_M14530_IG91:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2319, prolog size 48, PerfScore 212.41, instruction count 516, allocated bytes for code 2319 (MethodHash=1133c73d) for method System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails:GetFromAttribute(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails (Tier1)
+; Total bytes of code 2311, prolog size 48, PerfScore 212.41, instruction count 513, allocated bytes for code 2311 (MethodHash=1133c73d) for method System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails:GetFromAttribute(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IIUnknownDerivedDetails (Tier1)
 ; ============================================================
 
 Unwind Info:
-12 (-0.32%) : 650525.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:AddMember(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Type,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy,System.Reflection.NullabilityInfoContext,System.Nullable`1[int],bool,bool,byref) (Tier1)
@@ -29,7 +29,7 @@
 ;  V17 tmp7         [V17,T76] (  2,  2.00)     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "Inlining Arg" <System.Text.Json.JsonSerializerOptions>
 ;  V18 tmp8         [V18,T87] (  2,  2.00)     ref  ->  r12         class-hnd single-def "Inline stloc first use temp" <System.Text.Json.Serialization.JsonConverter>
 ;* V19 tmp9         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "dup spill" <System.Text.Json.Serialization.Metadata.JsonPropertyInfo>
-;  V20 tmp10        [V20,T139] (  2,  0.00)     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
+;  V20 tmp10        [V20,T138] (  2,  0.00)     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "dup spill" <<unknown class>>
 ;* V22 tmp12        [V22    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V23 tmp13        [V23,T135] (  3,  0.00)     int  ->  rax        
@@ -63,7 +63,7 @@
 ;  V51 tmp41        [V51,T129] (  6,  0   )     ref  ->  [rbp-0xA0]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V52 tmp42        [V52,T145] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V53 tmp43        [V53,T130] (  5,  0   )     ref  ->  [rbp-0xA8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V54 tmp44        [V54,T136] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V54 tmp44        [V54,T141] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V55 tmp45        [V55    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V56 tmp46        [V56,T78] (  2,  2   )     int  ->  rax        
 ;* V57 tmp47        [V57    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -259,8 +259,8 @@
 ;  V247 tmp237      [V247    ] (  5,  2.00)     int  ->  [rbp-0x3C]  do-not-enreg[X] addr-exposed "field V16.value (fldOffset=0x4)" P-DEP
 ;  V248 tmp238      [V248,T88] (  3,  1.99)   ubyte  ->  r14         "field V26.hasValue (fldOffset=0x0)" P-INDEP
 ;  V249 tmp239      [V249,T104] (  3,  1   )     int  ->  r15         "field V26.value (fldOffset=0x4)" P-INDEP
-;  V250 tmp240      [V250,T137] (  3,  0   )   ubyte  ->  rcx         "field V27.hasValue (fldOffset=0x0)" P-INDEP
-;  V251 tmp241      [V251,T138] (  3,  0   )     int  ->  rax         "field V27.value (fldOffset=0x4)" P-INDEP
+;  V250 tmp240      [V250,T136] (  3,  0   )   ubyte  ->  rcx         "field V27.hasValue (fldOffset=0x0)" P-INDEP
+;  V251 tmp241      [V251,T137] (  3,  0   )     int  ->  rax         "field V27.value (fldOffset=0x4)" P-INDEP
 ;* V252 tmp242      [V252    ] (  0,  0   )   ubyte  ->  zero-ref    "field V28.hasValue (fldOffset=0x0)" P-INDEP
 ;* V253 tmp243      [V253    ] (  0,  0   )     int  ->  zero-ref    "field V28.value (fldOffset=0x4)" P-INDEP
 ;* V254 tmp244      [V254    ] (  0,  0   )   ubyte  ->  zero-ref    "field V29.hasValue (fldOffset=0x0)" P-INDEP
@@ -287,9 +287,9 @@
 ;  V275 tmp265      [V275,T42] (  2,  3.02)    long  ->  rax         "Cast away GC"
 ;* V276 tmp266      [V276,T144] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V277 tmp267      [V277,T115] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V278 tmp268      [V278,T140] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V278 tmp268      [V278,T139] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V279 tmp269      [V279    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V280 tmp270      [V280,T141] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V280 tmp270      [V280,T140] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;* V281 tmp271      [V281    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V282 cse0        [V282,T50] (  3,  3.00)     ref  ->  rdx         "CSE #22: conservative"
 ;  V283 cse1        [V283,T51] (  3,  3.00)     int  ->  [rbp-0x74]  spill-single-def "CSE #24: conservative"
@@ -1479,12 +1479,9 @@ G_M44568_IG110:        ; bbWeight=0, gcVars=000000000000002200000000000010000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M44568_IG112
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M44568_IG111:        ; bbWeight=0, gcVars=000000000000002400000000000010000000000000001004 {V00 V03 V17 V50 V53}, gcrefRegs=3048 {rbx rsi r12 r13}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V51}
        mov      r8, gword ptr [rbp-0xA8]
@@ -1505,7 +1502,7 @@ G_M44568_IG112:        ; bbWeight=0, gcVars=000000000000002200000000000010000000
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M44568_IG113:        ; bbWeight=0, gcrefRegs=3049 {rax rbx rsi r12 r13}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [rax+0x08], r10d
-       jg       G_M44568_IG110
+       jg       SHORT G_M44568_IG110
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        cmp      gword ptr [rbp-0xA0], rcx
@@ -1523,7 +1520,7 @@ G_M44568_IG113:        ; bbWeight=0, gcrefRegs=3049 {rax rbx rsi r12 r13}, byref
        cmove    r8, gword ptr [rbp-0xA0]
        mov      rcx, r8
        mov      gword ptr [rbp-0xA0], rcx
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=67 bbWeight=0 PerfScore 0.00
 G_M44568_IG114:        ; bbWeight=0, gcrefRegs=3048 {rbx rsi r12 r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx r8]
        mov      r8, gword ptr [rbp-0xA0]
@@ -2120,7 +2117,7 @@ G_M44568_IG171:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 3801, prolog size 58, PerfScore 353.56, instruction count 858, allocated bytes for code 3801 (MethodHash=c86451e7) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:AddMember(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Type,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy,System.Reflection.NullabilityInfoContext,System.Nullable`1[int],bool,bool,byref) (Tier1)
+; Total bytes of code 3789, prolog size 58, PerfScore 353.56, instruction count 855, allocated bytes for code 3789 (MethodHash=c86451e7) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:AddMember(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Type,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy,System.Reflection.NullabilityInfoContext,System.Nullable`1[int],bool,bool,byref) (Tier1)
 ; ============================================================
 
 Unwind Info:
-16 (-0.31%) : 665222.dasm - System.Text.Json.Serialization.Converters.EnumConverter`1[sbyte]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[sbyte][] (Tier1)
@@ -303,7 +303,7 @@
 ;  V291 tmp276      [V291,T157] (  5,  0   )     ref  ->  [rbp-0x1A8]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V292 tmp277      [V292,T177] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V293 tmp278      [V293,T158] (  5,  0   )     ref  ->  [rbp-0x1B0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V294 tmp279      [V294,T169] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V294 tmp279      [V294,T172] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V295 tmp280      [V295    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V296 tmp281      [V296,T38] (  2, 10.00)     int  ->  rcx        
 ;* V297 tmp282      [V297    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -342,7 +342,7 @@
 ;  V330 tmp315      [V330,T159] (  5,  0   )     ref  ->  [rbp-0x1F8]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V331 tmp316      [V331,T178] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V332 tmp317      [V332,T160] (  5,  0   )     ref  ->  [rbp-0x200]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V333 tmp318      [V333,T170] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V333 tmp318      [V333,T173] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V334 tmp319      [V334    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V335 tmp320      [V335,T94] (  2,  3.71)     int  ->  rcx        
 ;* V336 tmp321      [V336    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -508,13 +508,13 @@
 ;* V496 tmp481      [V496,T138] (  0,  0   )   ubyte  ->  zero-ref    "V32.[016..017)"
 ;  V497 tmp482      [V497,T14] (  2, 15.09)    long  ->  rax         "Cast away GC"
 ;* V498 tmp483      [V498,T176] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V499 tmp484      [V499,T171] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V499 tmp484      [V499,T169] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V500 tmp485      [V500,T59] (  2,  5.60)    long  ->  rax         "Cast away GC"
 ;  V501 tmp486      [V501,T45] (  3,  8.35)     ref  ->  rax         "argument with side effect"
 ;  V502 tmp487      [V502,T50] (  2,  7.42)     ref  ->  rdx         "argument with side effect"
 ;  V503 tmp488      [V503    ] (  2,  3.71)  struct (16) [rbp-0x120]  do-not-enreg[XS] addr-exposed "by-value struct argument" <System.Runtime.CompilerServices.QCallTypeHandle>
-;  V504 tmp489      [V504,T172] (  2,  0   )     ref  ->   r8         "argument with side effect"
-;  V505 tmp490      [V505,T173] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V504 tmp489      [V504,T170] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V505 tmp490      [V505,T171] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V506 tmp491      [V506    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V507 cse0        [V507,T100] (  3,  3.00)     int  ->  r12         "CSE #06: moderate"
 ;  V508 cse1        [V508,T44] (  2,  8.46)     int  ->  rdx         "CSE #34: moderate"
@@ -2133,12 +2133,9 @@ G_M13003_IG151:        ; bbWeight=0, gcVars=000000402000000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M13003_IG153
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M13003_IG152:        ; bbWeight=0, gcVars=00000040400000000000000000000000000000800C000030 {V01 V02 V05 V07 V290 V293 V510}, gcrefRegs=C088 {rbx rdi r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V291}
        mov      rcx, gword ptr [rbp-0x1B0]
@@ -2282,12 +2279,9 @@ G_M13003_IG161:        ; bbWeight=0, gcVars=000000808000000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M13003_IG163
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M13003_IG162:        ; bbWeight=0, gcVars=00000081000000000000000000000000000000800C000030 {V01 V02 V05 V07 V329 V332 V510}, gcrefRegs=C088 {rbx rdi r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V330}
        mov      rcx, gword ptr [rbp-0x200]
@@ -2697,7 +2691,7 @@ G_M13003_IG197:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 5148, prolog size 64, PerfScore 1102.06, instruction count 1039, allocated bytes for code 5148 (MethodHash=34c6cd34) for method System.Text.Json.Serialization.Converters.EnumConverter`1[sbyte]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[sbyte][] (Tier1)
+; Total bytes of code 5132, prolog size 64, PerfScore 1102.06, instruction count 1033, allocated bytes for code 5132 (MethodHash=34c6cd34) for method System.Text.Json.Serialization.Converters.EnumConverter`1[sbyte]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[sbyte][] (Tier1)
 ; ============================================================
 
 Unwind Info:
-16 (-0.31%) : 665255.dasm - System.Text.Json.Serialization.Converters.EnumConverter`1[short]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[short][] (Tier1)
@@ -303,7 +303,7 @@
 ;  V291 tmp276      [V291,T157] (  5,  0   )     ref  ->  [rbp-0x1A8]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V292 tmp277      [V292,T177] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V293 tmp278      [V293,T158] (  5,  0   )     ref  ->  [rbp-0x1B0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V294 tmp279      [V294,T169] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V294 tmp279      [V294,T172] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V295 tmp280      [V295    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V296 tmp281      [V296,T38] (  2, 10.00)     int  ->  rcx        
 ;* V297 tmp282      [V297    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -342,7 +342,7 @@
 ;  V330 tmp315      [V330,T159] (  5,  0   )     ref  ->  [rbp-0x1F8]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V331 tmp316      [V331,T178] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V332 tmp317      [V332,T160] (  5,  0   )     ref  ->  [rbp-0x200]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V333 tmp318      [V333,T170] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V333 tmp318      [V333,T173] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V334 tmp319      [V334    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V335 tmp320      [V335,T94] (  2,  3.71)     int  ->  rcx        
 ;* V336 tmp321      [V336    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -508,13 +508,13 @@
 ;* V496 tmp481      [V496,T138] (  0,  0   )   ubyte  ->  zero-ref    "V53.[016..017)"
 ;  V497 tmp482      [V497,T14] (  2, 15.09)    long  ->  rax         "Cast away GC"
 ;* V498 tmp483      [V498,T176] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V499 tmp484      [V499,T171] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V499 tmp484      [V499,T169] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V500 tmp485      [V500,T59] (  2,  5.60)    long  ->  rax         "Cast away GC"
 ;  V501 tmp486      [V501,T45] (  3,  8.35)     ref  ->  rax         "argument with side effect"
 ;  V502 tmp487      [V502,T50] (  2,  7.42)     ref  ->  rdx         "argument with side effect"
 ;  V503 tmp488      [V503    ] (  2,  3.71)  struct (16) [rbp-0x120]  do-not-enreg[XS] addr-exposed "by-value struct argument" <System.Runtime.CompilerServices.QCallTypeHandle>
-;  V504 tmp489      [V504,T172] (  2,  0   )     ref  ->   r8         "argument with side effect"
-;  V505 tmp490      [V505,T173] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V504 tmp489      [V504,T170] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V505 tmp490      [V505,T171] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V506 tmp491      [V506    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V507 cse0        [V507,T44] (  2,  8.67)     int  ->  rdx         "CSE #34: moderate"
 ;  V508 cse1        [V508,T54] (  3,  6.44)     int  ->  rdx         "CSE #07: moderate"
@@ -2134,12 +2134,9 @@ G_M1035_IG151:        ; bbWeight=0, gcVars=0000004020000000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M1035_IG153
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M1035_IG152:        ; bbWeight=0, gcVars=00000040400000000000000000000000000000800C000030 {V01 V02 V05 V07 V290 V293 V509}, gcrefRegs=C088 {rbx rdi r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V291}
        mov      rcx, gword ptr [rbp-0x1B0]
@@ -2283,12 +2280,9 @@ G_M1035_IG161:        ; bbWeight=0, gcVars=0000008080000000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M1035_IG163
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M1035_IG162:        ; bbWeight=0, gcVars=00000081000000000000000000000000000000800C000030 {V01 V02 V05 V07 V329 V332 V509}, gcrefRegs=C088 {rbx rdi r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V330}
        mov      rcx, gword ptr [rbp-0x200]
@@ -2698,7 +2692,7 @@ G_M1035_IG197:        ; bbWeight=0, gcVars=0000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 5148, prolog size 64, PerfScore 1108.15, instruction count 1039, allocated bytes for code 5148 (MethodHash=55f8fbf4) for method System.Text.Json.Serialization.Converters.EnumConverter`1[short]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[short][] (Tier1)
+; Total bytes of code 5132, prolog size 64, PerfScore 1108.15, instruction count 1033, allocated bytes for code 5132 (MethodHash=55f8fbf4) for method System.Text.Json.Serialization.Converters.EnumConverter`1[short]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[short][] (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.31%) : 748510.dasm - System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:ComputeVtables(System.Object,int,byref):ptr:this (Tier1)
@@ -42,7 +42,7 @@
 ;  V30 tmp25        [V30,T88] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V31 tmp26        [V31,T102] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V32 tmp27        [V32,T89] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V33 tmp28        [V33,T94] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V33 tmp28        [V33,T101] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V34 tmp29        [V34    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V35 tmp30        [V35,T56] (  2,  2   )     int  ->  rcx        
 ;* V36 tmp31        [V36    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -84,9 +84,9 @@
 ;* V72 tmp67        [V72    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V73 tmp68        [V73    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V74 tmp69        [V74    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V75 tmp70        [V75,T95] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
+;  V75 tmp70        [V75,T94] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
 ;  V76 tmp71        [V76,T52] (  3,  2   )    long  ->  rax         "Inline stloc first use temp"
-;  V77 tmp72        [V77,T96] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
+;  V77 tmp72        [V77,T95] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V78 tmp73        [V78    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V79 tmp74        [V79,T53] (  3,  2   )     int  ->  rcx        
 ;* V80 tmp75        [V80    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -199,15 +199,15 @@
 ;  V187 tmp182      [V187,T39] (  2,  2.67)    long  ->  rax         "Cast away GC"
 ;* V188 tmp183      [V188    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V189 tmp184      [V189    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V190 tmp185      [V190,T97] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V191 tmp186      [V191,T98] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V190 tmp185      [V190,T96] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V191 tmp186      [V191,T97] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V192 tmp187      [V192    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V193 tmp188      [V193    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V194 tmp189      [V194,T99] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V194 tmp189      [V194,T98] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V195 tmp190      [V195    ] (  2,  3.72)  struct (24) [rsp+0x40]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V196 tmp191      [V196,T20] (  2,  3.72)     int  ->   r8         "argument with side effect"
-;  V197 tmp192      [V197,T100] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
-;  V198 tmp193      [V198,T101] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V197 tmp192      [V197,T99] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V198 tmp193      [V198,T100] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V199 tmp194      [V199,T72] (  2,  1   )     int  ->  rdx         "argument with side effect"
 ;* V200 tmp195      [V200    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V201 cse0        [V201,T25] (  4,  3.28)     int  ->  rsi         "CSE #12: conservative"
@@ -875,12 +875,9 @@ G_M63035_IG62:        ; bbWeight=0, gcrefRegs=40E0 {rbp rsi rdi r14}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M63035_IG64
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M63035_IG63:        ; bbWeight=0, gcrefRegs=20E0 {rbp rsi rdi r13}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -1345,7 +1342,7 @@ G_M63035_IG103:        ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2593, prolog size 59, PerfScore 239.30, instruction count 566, allocated bytes for code 2593 (MethodHash=60cf09c4) for method System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:ComputeVtables(System.Object,int,byref):ptr:this (Tier1)
+; Total bytes of code 2585, prolog size 59, PerfScore 239.30, instruction count 563, allocated bytes for code 2585 (MethodHash=60cf09c4) for method System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:ComputeVtables(System.Object,int,byref):ptr:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.24%) : 748509.dasm - System.Runtime.InteropServices.ComWrappers:CreateManagedObjectWrapper(System.Object,int):ptr:this (Tier1)
@@ -70,7 +70,7 @@
 ;  V58 tmp39        [V58,T128] (  6,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V59 tmp40        [V59,T144] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V60 tmp41        [V60,T129] (  5,  0   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def ptr "Inline stloc first use temp" <System.RuntimeType>
-;  V61 tmp42        [V61,T136] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V61 tmp42        [V61,T143] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V62 tmp43        [V62    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V63 tmp44        [V63,T89] (  2,  2   )     int  ->  rcx        
 ;* V64 tmp45        [V64    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -112,9 +112,9 @@
 ;* V100 tmp81       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V101 tmp82       [V101    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V102 tmp83       [V102    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V103 tmp84       [V103,T137] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
+;  V103 tmp84       [V103,T136] (  2,  0   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.RuntimeType>
 ;  V104 tmp85       [V104,T83] (  3,  2   )    long  ->  rax         "Inline stloc first use temp"
-;  V105 tmp86       [V105,T138] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
+;  V105 tmp86       [V105,T137] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;* V106 tmp87       [V106    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V107 tmp88       [V107,T84] (  3,  2   )     int  ->  rcx        
 ;* V108 tmp89       [V108    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -253,15 +253,15 @@
 ;  V241 tmp222      [V241,T67] (  2,  2.67)    long  ->  rax         "Cast away GC"
 ;* V242 tmp223      [V242    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V243 tmp224      [V243    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V244 tmp225      [V244,T139] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V245 tmp226      [V245,T140] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V244 tmp225      [V244,T138] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V245 tmp226      [V245,T139] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V246 tmp227      [V246    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V247 tmp228      [V247    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V248 tmp229      [V248,T141] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V248 tmp229      [V248,T140] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V249 tmp230      [V249    ] (  2,  3.72)  struct (24) [rbp-0xE8]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V250 tmp231      [V250,T42] (  2,  3.72)     int  ->   r8         "argument with side effect"
-;  V251 tmp232      [V251,T142] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
-;  V252 tmp233      [V252,T143] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V251 tmp232      [V251,T141] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V252 tmp233      [V252,T142] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V253 tmp234      [V253,T108] (  2,  1   )     int  ->  rdx         "argument with side effect"
 ;* V254 tmp235      [V254    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V255 tmp236      [V255,T53] (  3,  3.00)   byref  ->  r10         "Field obj"
@@ -1135,12 +1135,9 @@ G_M59572_IG83:        ; bbWeight=0, gcrefRegs=A0C0 {rsi rdi r13 r15}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M59572_IG85
-						;; size=83 bbWeight=0 PerfScore 0.00
+						;; size=75 bbWeight=0 PerfScore 0.00
 G_M59572_IG84:        ; bbWeight=0, gcrefRegs=80C0 {rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rbp-0xF8]
@@ -1676,7 +1673,7 @@ G_M59572_IG133:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3391, prolog size 92, PerfScore 360.44, instruction count 737, allocated bytes for code 3391 (MethodHash=5af5174b) for method System.Runtime.InteropServices.ComWrappers:CreateManagedObjectWrapper(System.Object,int):ptr:this (Tier1)
+; Total bytes of code 3383, prolog size 92, PerfScore 360.44, instruction count 734, allocated bytes for code 3383 (MethodHash=5af5174b) for method System.Runtime.InteropServices.ComWrappers:CreateManagedObjectWrapper(System.Object,int):ptr:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.23%) : 127784.dasm - Xunit.Sdk.TypeUtility:ResolveMethodArguments(System.Reflection.MethodBase,System.Object[]):System.Object[] (Tier1)
@@ -18,7 +18,7 @@
 ;  V06 loc4         [V06,T52] (  4,  2.00)     int  ->  r13        
 ;  V07 loc5         [V07,T56] (  3,  2.00)     int  ->  rbx         single-def
 ;  V08 loc6         [V08,T96] (  4,  0   )     ref  ->  r12         class-hnd single-def <System.Type>
-;  V09 loc7         [V09,T112] (  2,  0   )     ref  ->  rax         class-hnd single-def <System.Array>
+;  V09 loc7         [V09,T111] (  2,  0   )     ref  ->  rax         class-hnd single-def <System.Array>
 ;  V10 loc8         [V10,T109] (  3,  0   )     int  ->  r13         single-def
 ;  V11 loc9         [V11,T97] (  4,  0   )     ref  ->  r12         class-hnd single-def <System.Array>
 ;* V12 loc10        [V12,T71] (  0,  0   )     int  ->  zero-ref   
@@ -32,17 +32,17 @@
 ;  V20 tmp5         [V20,T03] (  6, 16.40)     ref  ->  [rbp-0x50]  class-hnd spill-single-def "impAppendStmt" <System.Object>
 ;  V21 tmp6         [V21,T10] (  4,  8.20)     ref  ->  rdx         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
 ;  V22 tmp7         [V22,T57] (  3,  2.00)     int  ->  rbx        
-;  V23 tmp8         [V23,T113] (  2,  0   )     ref  ->  rax         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
-;  V24 tmp9         [V24,T114] (  2,  0   )     ref  ->  rax         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
+;  V23 tmp8         [V23,T112] (  2,  0   )     ref  ->  rax         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
+;  V24 tmp9         [V24,T113] (  2,  0   )     ref  ->  rax         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
 ;  V25 tmp10        [V25,T99] (  3,  0   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <int[]>
 ;* V26 tmp11        [V26    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V27 tmp12        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V28 tmp13        [V28,T100] (  3,  0.00)     ref  ->  r12         class-hnd exact single-def "NewArr temp" <System.Object[]>
-;  V29 tmp14        [V29,T115] (  2,  0.00)     ref  ->  r15         class-hnd single-def "impAppendStmt" <<unknown class>>
-;  V30 tmp15        [V30,T116] (  2,  0.00)     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+;  V29 tmp14        [V29,T114] (  2,  0.00)     ref  ->  r15         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V30 tmp15        [V30,T115] (  2,  0.00)     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
 ;  V31 tmp16        [V31,T101] (  3,  0.00)     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V32 tmp17        [V32,T110] (  3,  0   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
-;  V33 tmp18        [V33,T117] (  2,  0   )     ref  ->  rdx         class-hnd single-def "Strict ordering of exceptions for Array store" <System.Object>
+;  V33 tmp18        [V33,T116] (  2,  0   )     ref  ->  rdx         class-hnd single-def "Strict ordering of exceptions for Array store" <System.Object>
 ;* V34 tmp19        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <int[]>
 ;  V35 tmp20        [V35,T90] (  5,  0.02)     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ParameterInfo,bool]>
 ;  V36 tmp21        [V36,T50] (  4,  2   )     ref  ->  rdi         "guarded devirt return temp"
@@ -62,14 +62,14 @@
 ;  V50 tmp35        [V50,T87] (  4,  0.04)     ref  ->   r8        
 ;* V51 tmp36        [V51    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V52 tmp37        [V52    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V53 tmp38        [V53,T124] (  2,  0   )     int  ->  r14         single-def
+;  V53 tmp38        [V53,T123] (  2,  0   )     int  ->  r14         single-def
 ;* V54 tmp39        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V55 tmp40        [V55    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V56 tmp41        [V56    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V57 tmp42        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V58 tmp43        [V58    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V59 tmp44        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V60 tmp45        [V60,T125] (  2,  0   )     int  ->   r9         single-def
+;  V60 tmp45        [V60,T124] (  2,  0   )     int  ->   r9         single-def
 ;  V61 tmp46        [V61,T24] (  5,  4.94)     int  ->  rbx         "Inlining Arg"
 ;  V62 tmp47        [V62,T38] (  6,  3.70)    long  ->  r14         single-def "Inline stloc first use temp"
 ;  V63 tmp48        [V63,T67] (  5,  1.54)    long  ->   r8         single-def "Inline stloc first use temp"
@@ -102,7 +102,7 @@
 ;  V90 tmp75        [V90,T93] (  6,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V91 tmp76        [V91,T128] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V92 tmp77        [V92,T94] (  5,  0   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V93 tmp78        [V93,T111] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V93 tmp78        [V93,T125] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V94 tmp79        [V94    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V95 tmp80        [V95,T58] (  2,  2   )     int  ->  rcx        
 ;* V96 tmp81        [V96    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -163,7 +163,7 @@
 ;* V151 tmp136      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V152 tmp137      [V152,T28] (  6,  4.06)     int  ->   r8         "guarded devirt return temp"
 ;* V153 tmp138      [V153    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-;  V154 tmp139      [V154,T118] (  2,  0   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
+;  V154 tmp139      [V154,T117] (  2,  0   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
 ;* V155 tmp140      [V155    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
 ;* V156 tmp141      [V156    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V157 tmp142      [V157,T76] (  4,  0.87)     ref  ->  [rbp-0x78]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
@@ -174,7 +174,7 @@
 ;* V162 tmp147      [V162    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V163 tmp148      [V163    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V164 tmp149      [V164    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V165 tmp150      [V165,T119] (  2,  0   )     ref  ->  rax         class-hnd "dup spill" <System.Object>
+;  V165 tmp150      [V165,T118] (  2,  0   )     ref  ->  rax         class-hnd "dup spill" <System.Object>
 ;  V166 tmp151      [V166,T98] (  4,  0   )     ref  ->  rdx        
 ;  V167 tmp152      [V167,T11] (  3,  8.20)     ref  ->  [rbp-0x88]  class-hnd exact spill-single-def "Inlining Arg" <System.RuntimeType>
 ;  V168 tmp153      [V168,T04] (  6, 12.30)     ref  ->  rcx         class-hnd "impAppendStmt" <System.Reflection.TypeInfo>
@@ -213,14 +213,14 @@
 ;* V201 tmp186      [V201    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V147._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp187      [V202    ] (  0,  0   )     int  ->  zero-ref    single-def "field V147._length (fldOffset=0x8)" P-INDEP
 ;  V203 tmp188      [V203,T36] (  2,  3.96)    long  ->  rax         "Cast away GC"
-;  V204 tmp189      [V204,T120] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V205 tmp190      [V205,T121] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V204 tmp189      [V204,T119] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V205 tmp190      [V205,T120] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V206 tmp191      [V206,T79] (  2,  0.37)     ref  ->  rdx         "argument with side effect"
 ;  V207 tmp192      [V207,T107] (  3,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V208 tmp193      [V208,T108] (  3,  0   )     ref  ->  rax         single-def "argument with side effect"
 ;  V209 tmp194      [V209,T127] (  2,  0   )     int  ->  rdx         "argument with side effect"
-;  V210 tmp195      [V210,T122] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
-;  V211 tmp196      [V211,T123] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V210 tmp195      [V210,T121] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
+;  V211 tmp196      [V211,T122] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V212 tmp197      [V212,T64] (  3,  1.74)     ref  ->  rcx         "arr expr"
 ;  V213 tmp198      [V213,T65] (  3,  1.74)     int  ->   r8         "index expr"
 ;* V214 tmp199      [V214    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
@@ -1087,12 +1087,9 @@ G_M23118_IG85:        ; bbWeight=0, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefR
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M23118_IG87
-						;; size=74 bbWeight=0 PerfScore 0.00
+						;; size=66 bbWeight=0 PerfScore 0.00
 G_M23118_IG86:        ; bbWeight=0, gcrefRegs=C088 {rbx rdi r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rbp-0x68]
@@ -1872,7 +1869,7 @@ G_M23118_IG143:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 3475, prolog size 34, PerfScore 294.84, instruction count 799, allocated bytes for code 3475 (MethodHash=5019a5b1) for method Xunit.Sdk.TypeUtility:ResolveMethodArguments(System.Reflection.MethodBase,System.Object[]):System.Object[] (Tier1)
+; Total bytes of code 3467, prolog size 34, PerfScore 294.84, instruction count 796, allocated bytes for code 3467 (MethodHash=5019a5b1) for method Xunit.Sdk.TypeUtility:ResolveMethodArguments(System.Reflection.MethodBase,System.Object[]):System.Object[] (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.22%) : 114626.dasm - System.Composition.TypedParts.ContractHelpers:GetImportInfo(System.Type,System.Object[],System.Object):System.Composition.TypedParts.ImportInfo (Tier1)
@@ -29,8 +29,8 @@
 ;  V17 OutArgs      [V17    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V18 tmp1         [V18,T03] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
 ;* V19 tmp2         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Composition.TypedParts.ContractHelpers+<>c__DisplayClass2_0>
-;  V20 tmp3         [V20,T106] (  2,  0   )     ref  ->   r8         class-hnd "dup spill" <System.Func`2[System.Reflection.PropertyInfo,bool]>
-;  V21 tmp4         [V21,T107] (  2,  0   )     ref  ->  [rbp-0xB0]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
+;  V20 tmp3         [V20,T105] (  2,  0   )     ref  ->   r8         class-hnd "dup spill" <System.Func`2[System.Reflection.PropertyInfo,bool]>
+;  V21 tmp4         [V21,T106] (  2,  0   )     ref  ->  [rbp-0xB0]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
 ;* V22 tmp5         [V22    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V23 tmp6         [V23,T91] (  4,  0   )     ref  ->   r8        
 ;* V24 tmp7         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
@@ -104,7 +104,7 @@
 ;* V92 tmp75        [V92    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
 ;  V93 tmp76        [V93,T92] (  4,  0   )     ref  ->  [rbp-0xE0]  class-hnd spill-single-def "Inline stloc first use temp" <int[]>
 ;  V94 tmp77        [V94,T102] (  3,  0   )     int  ->  rcx         "Inlining Arg"
-;  V95 tmp78        [V95,T113] (  2,  0   )    long  ->  r10         "Inlining Arg"
+;  V95 tmp78        [V95,T112] (  2,  0   )    long  ->  r10         "Inlining Arg"
 ;  V96 tmp79        [V96,T93] (  4,  0   )     int  ->  [rbp-0x58]  spill-single-def "dup spill"
 ;* V97 tmp80        [V97    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V98 tmp81        [V98    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -132,7 +132,7 @@
 ;  V120 tmp103      [V120,T87] (  5,  0   )     ref  ->  [rbp-0x100]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V121 tmp104      [V121,T114] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V122 tmp105      [V122,T88] (  5,  0   )     ref  ->  [rbp-0x108]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V123 tmp106      [V123,T103] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V123 tmp106      [V123,T113] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V124 tmp107      [V124    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V125 tmp108      [V125,T58] (  2,  1.39)     int  ->  rcx        
 ;* V126 tmp109      [V126    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -159,18 +159,18 @@
 ;* V147 tmp130      [V147    ] (  0,  0   )    long  ->  zero-ref    "field V131.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V148 tmp131      [V148,T79] (  0,  0   )    long  ->  zero-ref    "field V134.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V149 tmp132      [V149,T21] (  3,  4.16)    long  ->  [rbp-0x60]  spill-single-def "Cast away GC"
-;  V150 tmp133      [V150,T104] (  3,  0   )     int  ->  rcx         "index expr"
-;  V151 tmp134      [V151,T105] (  3,  0   )     int  ->  rcx         "index expr"
+;  V150 tmp133      [V150,T103] (  3,  0   )     int  ->  rcx         "index expr"
+;  V151 tmp134      [V151,T104] (  3,  0   )     int  ->  rcx         "index expr"
 ;  V152 tmp135      [V152,T48] (  2,  2.08)    long  ->  rax         "Cast away GC"
 ;  V153 tmp136      [V153,T75] (  2,  0.82)     ref  ->  rcx         "argument with side effect"
 ;  V154 tmp137      [V154,T80] (  3,  0.46)     ref  ->  rax         "argument with side effect"
 ;  V155 tmp138      [V155,T81] (  2,  0.41)     ref  ->  rcx         "argument with side effect"
-;  V156 tmp139      [V156,T108] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V157 tmp140      [V157,T109] (  2,  0   )     ref  ->  [rbp-0x110]  spill-single-def "argument with side effect"
-;  V158 tmp141      [V158,T110] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V156 tmp139      [V156,T107] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V157 tmp140      [V157,T108] (  2,  0   )     ref  ->  [rbp-0x110]  spill-single-def "argument with side effect"
+;  V158 tmp141      [V158,T109] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V159 tmp142      [V159,T71] (  2,  1.14)     ref  ->  rdx         "argument with side effect"
-;  V160 tmp143      [V160,T111] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V161 tmp144      [V161,T112] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V160 tmp143      [V160,T110] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V161 tmp144      [V161,T111] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V162 cse0        [V162,T30] (  3,  2.09)     ref  ->  [rbp-0x118]  spill-single-def "CSE #17: conservative"
 ;  V163 cse1        [V163,T43] (  2,  1.39)     ref  ->  rdx         "CSE #02: conservative"
 ;  V164 cse2        [V164,T45] (  3,  2.08)     int  ->  [rbp-0x64]  spill-single-def "CSE #05: conservative"
@@ -1312,12 +1312,9 @@ G_M55359_IG84:        ; bbWeight=0, gcVars=00000008008000000040004108000000 {V09
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M55359_IG86
-						;; size=87 bbWeight=0 PerfScore 0.00
+						;; size=79 bbWeight=0 PerfScore 0.00
 G_M55359_IG85:        ; bbWeight=0, gcVars=00000008010000000040004108000000 {V09 V10 V102 V119 V122 V165}, gcrefRegs=C0C8 {rbx rsi rdi r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V120}
        mov      rcx, gword ptr [rbp-0x108]
@@ -1440,7 +1437,7 @@ G_M55359_IG92:        ; bbWeight=0, gcVars=00000000000000000040000100000000 {V09
        mov      rax, gword ptr [rbp-0xB0]
        ; gcrRegs +[rax]
 						;; size=127 bbWeight=0 PerfScore 0.00
-G_M55359_IG93:        ; bbWeight=0, gcVars=00000800000000000000000100000000 {V09 V21}, gcrefRegs=C1C9 {rax rbx rsi rdi r8 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M55359_IG93:        ; bbWeight=0, gcVars=00000400000000000000000100000000 {V09 V21}, gcrefRegs=C1C9 {rax rbx rsi rdi r8 r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V26}
        mov      rdx, rax
        ; gcrRegs +[rdx]
@@ -1536,16 +1533,16 @@ G_M55359_IG96:        ; bbWeight=0, gcVars=00000000003000000000000100000000 {V09
        ; gcrRegs +[rax]
        jmp      SHORT G_M55359_IG95
 						;; size=9 bbWeight=0 PerfScore 0.00
-G_M55359_IG97:        ; bbWeight=0, gcVars=00000800000000000000000100000000 {V09 V21}, gcrefRegs=C1C8 {rbx rsi rdi r8 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M55359_IG97:        ; bbWeight=0, gcVars=00000400000000000000000100000000 {V09 V21}, gcrefRegs=C1C8 {rbx rsi rdi r8 r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax] +[r8]
-       ; GC ptr vars -{V14 V16 V85} +{V21}
+       ; GC ptr vars -{V14 V16 V85} +{V21 V106}
        mov      rax, gword ptr [rbp-0xB0]
        ; gcrRegs +[rax]
        jmp      G_M55359_IG93
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M55359_IG98:        ; bbWeight=0, gcVars=00000000001000000000000000000000 {V14}, gcrefRegs=C0C8 {rbx rsi rdi r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax r8]
-       ; GC ptr vars -{V09 V21} +{V14 V84}
+       ; GC ptr vars -{V09 V21 V106} +{V14 V84}
        mov      rcx, gword ptr [rbp-0xA0]
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -1704,7 +1701,7 @@ G_M55359_IG112:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 3556, prolog size 36, PerfScore 228.20, instruction count 753, allocated bytes for code 3556 (MethodHash=54e927c0) for method System.Composition.TypedParts.ContractHelpers:GetImportInfo(System.Type,System.Object[],System.Object):System.Composition.TypedParts.ImportInfo (Tier1)
+; Total bytes of code 3548, prolog size 36, PerfScore 228.20, instruction count 750, allocated bytes for code 3548 (MethodHash=54e927c0) for method System.Composition.TypedParts.ContractHelpers:GetImportInfo(System.Type,System.Object[],System.Object):System.Composition.TypedParts.ImportInfo (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.21%) : 127933.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorInfoEx:.ctor(System.Reflection.ConstructorInfo):this (Tier1)
@@ -114,7 +114,7 @@
 ;  V102 tmp98       [V102,T126] (  2,  0   )     int  ->  rcx        
 ;* V103 tmp99       [V103    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.ModuleHandle>
 ;* V104 tmp100      [V104    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.RuntimeMethodHandle>
-;  V105 tmp101      [V105,T129] (  2,  0   )     ref  ->  r13         class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
+;  V105 tmp101      [V105,T128] (  2,  0   )     ref  ->  r13         class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
 ;* V106 tmp102      [V106    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V107 tmp103      [V107    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V108 tmp104      [V108    ] (  2, 59.89)     int  ->  [rbp-0x100]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
@@ -158,7 +158,7 @@
 ;  V146 tmp142      [V146,T11] (  2, 93.84)    long  ->  r11         "Inline stloc first use temp"
 ;  V147 tmp143      [V147,T22] (  3, 58.41)    long  ->  r11         "Inline stloc first use temp"
 ;* V148 tmp144      [V148    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V149 tmp145      [V149,T130] (  2,  0   )     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule>
+;  V149 tmp145      [V149,T129] (  2,  0   )     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule>
 ;* V150 tmp146      [V150    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V151 tmp147      [V151    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Reflection.MetadataToken>
 ;* V152 tmp148      [V152    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
@@ -189,7 +189,7 @@
 ;  V177 tmp173      [V177    ] (  2,  0   )     int  ->  [rbp-0x128]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V178 tmp174      [V178    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V179 tmp175      [V179,T118] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
-;  V180 tmp176      [V180,T135] (  2,  0   )     int  ->  rbx         "Inlining Arg"
+;  V180 tmp176      [V180,T134] (  2,  0   )     int  ->  rbx         "Inlining Arg"
 ;* V181 tmp177      [V181    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V182 tmp178      [V182    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V183 tmp179      [V183,T56] (  3,  4.88)     ref  ->  rcx         class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule>
@@ -236,7 +236,7 @@
 ;  V224 tmp220      [V224,T109] (  5,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V225 tmp221      [V225,T137] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V226 tmp222      [V226,T110] (  5,  0   )     ref  ->  [rbp-0x1B0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V227 tmp223      [V227,T128] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V227 tmp223      [V227,T135] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V228 tmp224      [V228    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V229 tmp225      [V229,T67] (  2,  4.21)     int  ->  rcx        
 ;* V230 tmp226      [V230    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -328,8 +328,8 @@
 ;* V316 tmp312      [V316    ] (  0,  0   )    long  ->  zero-ref    "field V235.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V317 tmp313      [V317,T84] (  0,  0   )    long  ->  zero-ref    "field V238.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V318 tmp314      [V318,T124] (  3,  0   )     ref  ->  rdx         "arr expr"
-;  V319 tmp315      [V319,T131] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V320 tmp316      [V320,T132] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V319 tmp315      [V319,T130] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V320 tmp316      [V320,T131] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V321 tmp317      [V321,T125] (  3,  0   )     ref  ->  rax         "argument with side effect"
 ;  V322 tmp318      [V322    ] (  3,  4.88)  struct (16) [rbp-0x170]  do-not-enreg[XSF] addr-exposed "by-value struct argument" <System.Runtime.CompilerServices.QCallTypeHandle>
 ;  V323 tmp319      [V323    ] (  3,  4.88)  struct (16) [rbp-0x180]  do-not-enreg[XSF] addr-exposed "by-value struct argument" <System.Runtime.CompilerServices.QCallTypeHandle>
@@ -337,8 +337,8 @@
 ;* V325 tmp321      [V325    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V326 tmp322      [V326,T39] (  3, 12.63)     ref  ->  rcx         "arr expr"
 ;  V327 tmp323      [V327,T48] (  2,  8.34)    long  ->  rax         "Cast away GC"
-;  V328 tmp324      [V328,T133] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V329 tmp325      [V329,T134] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V328 tmp324      [V328,T132] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V329 tmp325      [V329,T133] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V330 tmp326      [V330    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V331 cse0        [V331,T42] (  7,  8.40)     ref  ->  r14         "CSE #09: conservative"
 ;  V332 rat0        [V332,T02] (  9,178.87)    long  ->  rsi         "Widened IV V56"
@@ -1665,12 +1665,9 @@ G_M7458_IG115:        ; bbWeight=0, gcrefRegs=E0C0 {rsi rdi r13 r14 r15}, byrefR
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M7458_IG117
-						;; size=83 bbWeight=0 PerfScore 0.00
+						;; size=75 bbWeight=0 PerfScore 0.00
 G_M7458_IG116:        ; bbWeight=0, gcrefRegs=C0C0 {rsi rdi r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rbp-0x1B0]
@@ -1865,7 +1862,7 @@ G_M7458_IG132:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3807, prolog size 91, PerfScore 2505.15, instruction count 809, allocated bytes for code 3807 (MethodHash=fa8fe2dd) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorInfoEx:.ctor(System.Reflection.ConstructorInfo):this (Tier1)
+; Total bytes of code 3799, prolog size 91, PerfScore 2505.15, instruction count 806, allocated bytes for code 3799 (MethodHash=fa8fe2dd) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorInfoEx:.ctor(System.Reflection.ConstructorInfo):this (Tier1)
 ; ============================================================
 
 Unwind Info:
-16 (-0.17%) : 720998.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:PropertyOverloadResolution(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],bool,bool,byref):this (Tier1)
@@ -60,7 +60,7 @@
 ;* V48 tmp38        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]>
 ;  V49 tmp39        [V49,T66] (  3,  4   )     ref  ->  [rbp-0x8C8]  class-hnd spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol]>
 ;  V50 tmp40        [V50,T17] ( 16, 10.96)     ref  ->  [rbp-0x8D0]  class-hnd spill-single-def "Inline stloc first use temp" <<unknown class>>
-;  V51 tmp41        [V51,T00] ( 24, 53.78)  ushort  ->  [rbp-0x4C]  spill-single-def "Inlining Arg"
+;  V51 tmp41        [V51,T00] ( 23, 51.92)  ushort  ->  [rbp-0x4C]  spill-single-def "Inlining Arg"
 ;  V52 tmp42        [V52,T102] (  3,  2.00)     int  ->  registers  
 ;  V53 tmp43        [V53,T43] (  5,  5.17)   ubyte  ->  [rbp-0x50]  spill-single-def "Inline stloc first use temp"
 ;* V54 tmp44        [V54,T105] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.OverloadResolution>
@@ -2448,12 +2448,7 @@ G_M34137_IG188:        ; bbWeight=1.00, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=
        je       SHORT G_M34137_IG190
 						;; size=82 bbWeight=1.00 PerfScore 13.00
 G_M34137_IG189:        ; bbWeight=0.93, gcrefRegs=50C8 {rbx rsi rdi r12 r14}, byrefRegs=8000 {r15}, byref
-       mov      r10d, dword ptr [rbp-0x4C]
-       mov      r8d, r10d
-       and      r8d, 64
-       mov      edx, r10d
-       and      edx, 512
-       or       r8d, edx
+       test     dword ptr [rbp-0x4C], 576
        jne      G_M34137_IG272
        mov      r8, r15
        ; byrRegs +[r8]
@@ -2465,7 +2460,7 @@ G_M34137_IG189:        ; bbWeight=0.93, gcrefRegs=50C8 {rbx rsi rdi r12 r14}, by
        ; gcrRegs -[rdx]
        ; byrRegs -[r8]
        ; gcr arg pop 0
-						;; size=62 bbWeight=0.93 PerfScore 7.43
+						;; size=46 bbWeight=0.93 PerfScore 6.27
 G_M34137_IG190:        ; bbWeight=1.00, gcrefRegs=50C8 {rbx rsi rdi r12 r14}, byrefRegs=8000 {r15}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -3700,7 +3695,7 @@ G_M34137_IG277:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 9316, prolog size 97, PerfScore 1169.00, instruction count 1758, allocated bytes for code 9316 (MethodHash=f0237aa6) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PropertyOverloadResolution(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],bool,bool,byref):this (Tier1)
+; Total bytes of code 9300, prolog size 97, PerfScore 1167.84, instruction count 1753, allocated bytes for code 9300 (MethodHash=f0237aa6) for method Microsoft.CodeAnalysis.CSharp.OverloadResolution:PropertyOverloadResolution(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],bool,bool,byref):this (Tier1)
 ; ============================================================
 
 Unwind Info:
-9 (-0.16%) : 475498.dasm - System.Xml.XsdValidatingReader:.ctor(System.Xml.XmlReader,System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.Schema.XmlSchemaObject):this (Tier1)
@@ -15,40 +15,40 @@
 ;  V03 arg3         [V03,T10] (  9,  7.37)     ref  ->  rdi         class-hnd single-def <System.Xml.XmlReaderSettings>
 ;  V04 arg4         [V04,T184] (  2,  1.00)     ref  ->  r14         class-hnd single-def <System.Xml.Schema.XmlSchemaObject>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V06 tmp1         [V06,T36] (  3,  6   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+;  V06 tmp1         [V06,T35] (  3,  6   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <System.Xml.AttributePSVIInfo[]>
 ;  V08 tmp3         [V08,T11] (  4,  8   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V09 tmp4         [V09,T03] (  8, 16   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaInfo>
 ;  V10 tmp5         [V10,T206] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
 ;  V11 tmp6         [V11,T136] (  3,  2   )     ref  ->  rdx         "guarded devirt return temp"
-;  V12 tmp7         [V12,T33] (  5,  6   )     ref  ->  rcx         class-hnd single-def "guarded devirt arg temp" <System.Xml.XmlReader>
+;  V12 tmp7         [V12,T32] (  5,  6   )     ref  ->  rcx         class-hnd single-def "guarded devirt arg temp" <System.Xml.XmlReader>
 ;* V13 tmp8         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Xml.XmlTextReaderImpl>
 ;  V14 tmp9         [V14,T137] (  3,  2   )     ref  ->  rdx         "guarded devirt return temp"
-;  V15 tmp10        [V15,T34] (  5,  6   )     ref  ->  rbp         class-hnd single-def "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V15 tmp10        [V15,T33] (  5,  6   )     ref  ->  rbp         class-hnd single-def "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V16 tmp11        [V16,T60] (  9,  4.90)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V17 tmp12        [V17,T138] (  3,  2   )     ref  ->  rdx         "guarded devirt return temp"
-;  V18 tmp13        [V18,T26] (  6,  6   )     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V18 tmp13        [V18,T25] (  6,  6   )     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V19 tmp14        [V19,T61] (  9,  4.90)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V20 tmp15        [V20,T139] (  3,  2.00)     ref  ->  rdx         "guarded devirt return temp"
-;  V21 tmp16        [V21,T27] (  6,  6   )     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
-;  V22 tmp17        [V22,T15] (  9,  7.12)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
+;  V21 tmp16        [V21,T26] (  6,  6   )     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V22 tmp17        [V22,T14] (  9,  7.12)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V23 tmp18        [V23,T140] (  3,  2.00)     ref  ->  rdx         "guarded devirt return temp"
-;  V24 tmp19        [V24,T28] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V24 tmp19        [V24,T27] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V25 tmp20        [V25,T62] (  9,  4.90)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V26 tmp21        [V26,T141] (  3,  2.00)     ref  ->  rdx         "guarded devirt return temp"
-;  V27 tmp22        [V27,T29] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V27 tmp22        [V27,T28] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V28 tmp23        [V28,T63] (  9,  4.90)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V29 tmp24        [V29,T142] (  3,  2.00)     ref  ->  rdx         "guarded devirt return temp"
-;  V30 tmp25        [V30,T30] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V30 tmp25        [V30,T29] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V31 tmp26        [V31,T64] (  9,  4.90)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V32 tmp27        [V32,T143] (  3,  2.00)     ref  ->  rdx         "guarded devirt return temp"
-;  V33 tmp28        [V33,T31] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V33 tmp28        [V33,T30] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V34 tmp29        [V34,T65] ( 10,  5.28)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V35 tmp30        [V35,T133] (  4,  2.00)     ref  ->  rdx         "guarded devirt return temp"
-;  V36 tmp31        [V36,T32] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
+;  V36 tmp31        [V36,T31] (  6,  6.00)     ref  ->  rbp         class-hnd "guarded devirt arg temp" <System.Xml.XmlNameTable>
 ;  V37 tmp32        [V37,T66] ( 10,  5.28)     ref  ->  rbp         class-hnd exact single-def "guarded devirt this exact temp" <System.Xml.NameTable>
 ;  V38 tmp33        [V38,T93] (  5,  3.95)     int  ->  r13         "Inline stloc first use temp"
-;  V39 tmp34        [V39,T20] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
+;  V39 tmp34        [V39,T19] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V40 tmp35        [V40,T68] (  5,  4.97)     ref  ->  rax         "spilling varStr"
 ;  V41 tmp36        [V41,T185] (  2,  0.83)     int  ->  rax         "spilling unroll qmark"
 ;* V42 tmp37        [V42    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[char]>
@@ -65,7 +65,7 @@
 ;  V53 tmp48        [V53,T168] (  3,  1.14)     int  ->  rcx         "Inline stloc first use temp"
 ;  V54 tmp49        [V54,T159] (  2,  1.52)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.NameTable+Entry>
 ;  V55 tmp50        [V55,T94] (  5,  3.95)     int  ->  r13         "Inline stloc first use temp"
-;  V56 tmp51        [V56,T21] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
+;  V56 tmp51        [V56,T20] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V57 tmp52        [V57,T69] (  5,  4.97)     ref  ->  rax         "spilling varStr"
 ;  V58 tmp53        [V58,T186] (  2,  0.83)     int  ->  rax         "spilling unroll qmark"
 ;* V59 tmp54        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[char]>
@@ -81,7 +81,7 @@
 ;* V69 tmp64        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V70 tmp65        [V70,T170] (  3,  1.14)     int  ->  rcx         "Inline stloc first use temp"
 ;  V71 tmp66        [V71,T160] (  2,  1.52)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.NameTable+Entry>
-;  V72 tmp67        [V72,T25] (  5,  6.23)     int  ->  r15         "Inline stloc first use temp"
+;  V72 tmp67        [V72,T24] (  5,  6.23)     int  ->  r15         "Inline stloc first use temp"
 ;  V73 tmp68        [V73,T05] (  8, 13.76)     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;* V74 tmp69        [V74    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[char]>
 ;* V75 tmp70        [V75    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[char]>
@@ -137,7 +137,7 @@
 ;  V125 tmp120      [V125,T174] (  3,  1.14)     int  ->  rcx         "Inline stloc first use temp"
 ;  V126 tmp121      [V126,T162] (  2,  1.52)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.NameTable+Entry>
 ;  V127 tmp122      [V127,T97] (  5,  3.95)     int  ->  r13         "Inline stloc first use temp"
-;  V128 tmp123      [V128,T22] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
+;  V128 tmp123      [V128,T21] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V129 tmp124      [V129,T71] (  5,  4.97)     ref  ->  rax         "spilling varStr"
 ;  V130 tmp125      [V130,T187] (  2,  0.83)     int  ->  rax         "spilling unroll qmark"
 ;* V131 tmp126      [V131    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[char]>
@@ -154,7 +154,7 @@
 ;  V142 tmp137      [V142,T176] (  3,  1.14)     int  ->  rcx         "Inline stloc first use temp"
 ;  V143 tmp138      [V143,T163] (  2,  1.52)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.NameTable+Entry>
 ;  V144 tmp139      [V144,T98] (  5,  3.95)     int  ->  r13         "Inline stloc first use temp"
-;  V145 tmp140      [V145,T23] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
+;  V145 tmp140      [V145,T22] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V146 tmp141      [V146,T72] (  5,  4.97)     ref  ->  rax         "spilling varStr"
 ;  V147 tmp142      [V147,T188] (  2,  0.83)     int  ->  rax         "spilling unroll qmark"
 ;* V148 tmp143      [V148    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[char]>
@@ -171,7 +171,7 @@
 ;  V159 tmp154      [V159,T177] (  3,  1.14)     int  ->  rcx         "Inline stloc first use temp"
 ;  V160 tmp155      [V160,T164] (  2,  1.52)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.NameTable+Entry>
 ;  V161 tmp156      [V161,T99] (  5,  3.95)     int  ->  r13         "Inline stloc first use temp"
-;  V162 tmp157      [V162,T24] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
+;  V162 tmp157      [V162,T23] (  8,  6.35)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V163 tmp158      [V163,T73] (  5,  4.97)     ref  ->  rax         "spilling varStr"
 ;* V164 tmp159      [V164,T197] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V165 tmp160      [V165    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[char]>
@@ -187,13 +187,13 @@
 ;* V175 tmp170      [V175    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.NameTable+Entry>
 ;  V176 tmp171      [V176,T178] (  3,  1.14)     int  ->  rcx         "Inline stloc first use temp"
 ;  V177 tmp172      [V177,T165] (  2,  1.52)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.NameTable+Entry>
-;  V178 tmp173      [V178,T16] (  4,  7.12)     ref  ->  rbp         class-hnd single-def "impAppendStmt" <System.Xml.XmlNameTable>
+;  V178 tmp173      [V178,T15] (  4,  7.12)     ref  ->  rbp         class-hnd single-def "impAppendStmt" <System.Xml.XmlNameTable>
 ;* V179 tmp174      [V179    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
-;  V180 tmp175      [V180,T37] (  3,  6.00)     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Xml.IXmlNamespaceResolver>
+;  V180 tmp175      [V180,T36] (  3,  6.00)     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Xml.IXmlNamespaceResolver>
 ;  V181 tmp176      [V181,T02] ( 15, 23.58)     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaValidator>
 ;  V182 tmp177      [V182,T12] (  4,  8.00)     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
-;  V183 tmp178      [V183,T38] (  3,  6.00)     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
-;  V184 tmp179      [V184,T39] (  3,  6.00)     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
+;  V183 tmp178      [V183,T37] (  3,  6.00)     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
+;  V184 tmp179      [V184,T38] (  3,  6.00)     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaValidator>
 ;* V185 tmp180      [V185    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Xml.XmlReaderSettings>
 ;  V186 tmp181      [V186,T144] (  3,  2.00)     ref  ->  rcx         "guarded devirt return temp"
 ;* V187 tmp182      [V187    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Xml.XmlTextReaderImpl>
@@ -204,9 +204,9 @@
 ;  V192 tmp187      [V192,T158] (  4,  1.82)     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaSet>
 ;* V193 tmp188      [V193    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Schema.XmlSchemaSet>
 ;  V194 tmp189      [V194,T166] (  3,  1.36)     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
-;  V195 tmp190      [V195,T13] (  4,  8.00)     int  ->  [rsp+0x6C]  spill-single-def "Inlining Arg"
+;  V195 tmp190      [V195,T48] (  3,  6.00)     int  ->  [rsp+0x6C]  spill-single-def "Inlining Arg"
 ;  V196 tmp191      [V196,T105] (  3,  3.35)     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaSet>
-;  V197 tmp192      [V197,T14] (  9,  7.81)     ref  ->  rbp         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
+;  V197 tmp192      [V197,T13] (  9,  7.81)     ref  ->  rbp         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;* V198 tmp193      [V198    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;  V199 tmp194      [V199,T130] (  2,  2.23)     ref  ->  rbp         class-hnd single-def "impAppendStmt" <System.Xml.Schema.XmlSchemaSet>
 ;  V200 tmp195      [V200,T08] (  8,  8.93)     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
@@ -264,8 +264,8 @@
 ;  V252 tmp247      [V252,T88] (  3,  4.00)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
 ;  V253 tmp248      [V253,T135] (  4,  2.00)     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Delegate>
 ;  V254 tmp249      [V254,T89] (  3,  4.00)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.ValidationEventHandler>
-;  V255 tmp250      [V255,T40] (  3,  6.00)     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Xml.IXmlLineInfo>
-;  V256 tmp251      [V256,T35] (  4,  6.00)     ref  ->  rbp         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
+;  V255 tmp250      [V255,T39] (  3,  6.00)     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Xml.IXmlLineInfo>
+;  V256 tmp251      [V256,T34] (  4,  6.00)     ref  ->  rbp         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
 ;* V257 tmp252      [V257,T199] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V258 tmp253      [V258,T59] (  3,  5.72)     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
 ;* V259 tmp254      [V259    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Schema.XmlSchemaValidator>
@@ -351,35 +351,35 @@
 ;* V339 tmp334      [V339    ] (  0,  0   )     int  ->  zero-ref    "field V170._length (fldOffset=0x8)" P-INDEP
 ;* V340 tmp335      [V340    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V171._reference (fldOffset=0x0)" P-INDEP
 ;* V341 tmp336      [V341    ] (  0,  0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
-;  V342 tmp337      [V342,T41] (  3,  6   )     ref  ->  rcx         single-def "arr expr"
+;  V342 tmp337      [V342,T40] (  3,  6   )     ref  ->  rcx         single-def "arr expr"
 ;  V343 tmp338      [V343,T49] (  3,  6   )     int  ->  rax         "index expr"
 ;* V344 tmp339      [V344,T189] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;  V345 tmp340      [V345,T119] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
-;  V346 tmp341      [V346,T42] (  3,  6   )     ref  ->  rcx         single-def "arr expr"
+;  V346 tmp341      [V346,T41] (  3,  6   )     ref  ->  rcx         single-def "arr expr"
 ;  V347 tmp342      [V347,T50] (  3,  6   )     int  ->  rax         "index expr"
 ;* V348 tmp343      [V348,T190] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;  V349 tmp344      [V349,T120] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
-;  V350 tmp345      [V350,T43] (  3,  6   )     ref  ->   r8         single-def "arr expr"
+;  V350 tmp345      [V350,T42] (  3,  6   )     ref  ->   r8         single-def "arr expr"
 ;  V351 tmp346      [V351,T51] (  3,  6   )     int  ->  rdx         "index expr"
 ;  V352 tmp347      [V352,T74] (  3,  4.93)     ref  ->  rcx         single-def "arr expr"
 ;  V353 tmp348      [V353,T75] (  3,  4.93)     ref  ->  r15         single-def "arr expr"
-;  V354 tmp349      [V354,T44] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
+;  V354 tmp349      [V354,T43] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
 ;  V355 tmp350      [V355,T52] (  3,  6.00)     int  ->  rax         "index expr"
 ;* V356 tmp351      [V356,T191] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;  V357 tmp352      [V357,T121] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
-;  V358 tmp353      [V358,T45] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
+;  V358 tmp353      [V358,T44] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
 ;  V359 tmp354      [V359,T53] (  3,  6.00)     int  ->  rax         "index expr"
 ;* V360 tmp355      [V360,T192] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;  V361 tmp356      [V361,T122] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
-;  V362 tmp357      [V362,T46] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
+;  V362 tmp357      [V362,T45] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
 ;  V363 tmp358      [V363,T54] (  3,  6.00)     int  ->  rax         "index expr"
 ;* V364 tmp359      [V364,T193] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;  V365 tmp360      [V365,T123] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
-;  V366 tmp361      [V366,T47] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
+;  V366 tmp361      [V366,T46] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
 ;  V367 tmp362      [V367,T55] (  3,  6.00)     int  ->  rax         "index expr"
 ;  V368 tmp363      [V368,T124] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
 ;  V369 tmp364      [V369,T125] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
-;  V370 tmp365      [V370,T48] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
+;  V370 tmp365      [V370,T47] (  3,  6.00)     ref  ->  rcx         single-def "arr expr"
 ;  V371 tmp366      [V371,T56] (  3,  6.00)     int  ->  rax         "index expr"
 ;  V372 tmp367      [V372,T126] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
 ;  V373 tmp368      [V373,T127] (  3,  2.28)     ref  ->  rcx         single-def "arr expr"
@@ -398,13 +398,13 @@
 ;  V386 cse6        [V386,T117] (  3,  2.28)     ref  ->  rdx         "CSE #32: conservative"
 ;  V387 cse7        [V387,T118] (  3,  2.28)     ref  ->  rdx         "CSE #41: conservative"
 ;  V388 cse8        [V388,T07] ( 11, 10.23)    long  ->  r15         multi-def "CSE #11: moderate"
-;  V389 rat0        [V389,T17] (  5,  7   )     ref  ->  rdx         "replacement local"
-;  V390 rat1        [V390,T18] (  5,  7   )     ref  ->  rdx         "replacement local"
+;  V389 rat0        [V389,T16] (  5,  7   )     ref  ->  rdx         "replacement local"
+;  V390 rat1        [V390,T17] (  5,  7   )     ref  ->  rdx         "replacement local"
 ;  V391 rat2        [V391,T101] (  4,  3.91)     ref  ->  rdx         "replacement local"
 ;  V392 rat3        [V392,T182] (  3,  1.12)    long  ->  rax         "CSE for expectedClsNode"
 ;  V393 rat4        [V393,T102] (  4,  3.91)     ref  ->  rax         "replacement local"
 ;  V394 rat5        [V394,T183] (  3,  1.12)    long  ->  rcx         "CSE for expectedClsNode"
-;  V395 rat6        [V395,T19] (  4,  7.00)     ref  ->  rax         "replacement local"
+;  V395 rat6        [V395,T18] (  4,  7.00)     ref  ->  rax         "replacement local"
 ;  V396 rat7        [V396,T146] (  3,  2.00)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V397 rat8        [V397,T201] (  3,  1.24)  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;  V398 rat9        [V398,T202] (  3,  1.24)  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
@@ -1189,12 +1189,9 @@ G_M47864_IG58:        ; bbWeight=1.00, gcrefRegs=60E8 {rbx rbp rsi rdi r13 r14},
        ; byrRegs -[rcx]
        mov      r15d, dword ptr [rsp+0x6C]
        mov      dword ptr [r12+0xF0], r15d
-       mov      ecx, r15d
-       and      ecx, 1
-       and      r15d, 2
-       or       ecx, r15d
+       test     r15b, 3
        je       G_M47864_IG120
-						;; size=135 bbWeight=1.00 PerfScore 18.50
+						;; size=126 bbWeight=1.00 PerfScore 17.75
 G_M47864_IG59:        ; bbWeight=0.56, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaSet
        call     CORINFO_HELP_NEWSFAST
@@ -2759,7 +2756,7 @@ RWD192 	dd	40400000h		;         3
 RWD196 	dd	4F000000h		; 2.14748e+09
 
 
-; Total bytes of code 5643, prolog size 39, PerfScore 701.10, instruction count 1176, allocated bytes for code 5643 (MethodHash=525e4507) for method System.Xml.XsdValidatingReader:.ctor(System.Xml.XmlReader,System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.Schema.XmlSchemaObject):this (Tier1)
+; Total bytes of code 5634, prolog size 39, PerfScore 700.35, instruction count 1173, allocated bytes for code 5634 (MethodHash=525e4507) for method System.Xml.XsdValidatingReader:.ctor(System.Xml.XmlReader,System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.Schema.XmlSchemaObject):this (Tier1)
 ; ============================================================
 
 Unwind Info:
-20 (-0.14%) : 715613.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ResolveMethodGroup(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,bool,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
@@ -51,7 +51,7 @@
 ;  V39 tmp25        [V39,T03] ( 19, 25.97)     ref  ->  [rbp-0xD88]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.OverloadResolution>
 ;  V40 tmp26        [V40,T07] (  9, 18.44)     ref  ->  [rbp-0xD90]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol]>
 ;  V41 tmp27        [V41,T113] (  6,  3.18)     ref  ->  [rbp-0xD98]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]>
-;  V42 tmp28        [V42,T00] ( 27, 48.93)  ushort  ->  [rbp-0x168]  "Inlining Arg"
+;  V42 tmp28        [V42,T00] ( 26, 47.22)  ushort  ->  [rbp-0x168]  "Inlining Arg"
 ;* V43 tmp29        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;  V44 tmp30        [V44    ] (  8, 14.68)  struct (56) [rbp-0x1A0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.MethodGroupResolution>
 ;  V45 tmp31        [V45    ] (  8,  0   )  struct (56) [rbp-0x1D8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.MethodGroupResolution>
@@ -3518,13 +3518,7 @@ G_M6737_IG256:        ; bbWeight=0.92, gcrefRegs=0048 {rbx rsi}, byrefRegs=4000
        je       SHORT G_M6737_IG258
 						;; size=85 bbWeight=0.92 PerfScore 11.93
 G_M6737_IG257:        ; bbWeight=0.85, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=4000 {r14}, byref
-       mov      eax, dword ptr [rbp-0x168]
-       mov      r8d, eax
-       and      r8d, 64
-       mov      dword ptr [rbp-0x168], eax
-       mov      edx, eax
-       and      edx, 512
-       or       r8d, edx
+       test     dword ptr [rbp-0x168], 576
        jne      G_M6737_IG395
        mov      r8, r14
        ; byrRegs +[r8]
@@ -3536,7 +3530,7 @@ G_M6737_IG257:        ; bbWeight=0.85, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRe
        ; gcrRegs -[rdx]
        ; byrRegs -[r8]
        ; gcr arg pop 0
-						;; size=69 bbWeight=0.85 PerfScore 7.67
+						;; size=49 bbWeight=0.85 PerfScore 5.75
 G_M6737_IG258:        ; bbWeight=0.92, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs=4000 {r14}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -5681,7 +5675,7 @@ G_M6737_IG407:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 14029, prolog size 112, PerfScore 1413.16, instruction count 2679, allocated bytes for code 14029 (MethodHash=a7cde5ae) for method Microsoft.CodeAnalysis.CSharp.Binder:ResolveMethodGroup(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,bool,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
+; Total bytes of code 14009, prolog size 112, PerfScore 1411.24, instruction count 2673, allocated bytes for code 14009 (MethodHash=a7cde5ae) for method Microsoft.CodeAnalysis.CSharp.Binder:ResolveMethodGroup(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,bool,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.11%) : 650526.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:CreatePropertyInfo(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Type,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy,System.Reflection.NullabilityInfoContext,System.Nullable`1[int],System.Text.Json.JsonSerializerOptions,bool,bool):System.Text.Json.Serialization.Metadata.JsonPropertyInfo (Tier1)
@@ -28,7 +28,7 @@
 ;* V16 tmp3         [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[int]>
 ;* V17 tmp4         [V17    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[int]>
 ;  V18 tmp5         [V18,T00] ( 32, 47.07)     ref  ->  r12         class-hnd single-def "dup spill" <System.Text.Json.Serialization.Metadata.JsonPropertyInfo>
-;  V19 tmp6         [V19,T234] (  2,  0.00)     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
+;  V19 tmp6         [V19,T233] (  2,  0.00)     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;* V20 tmp7         [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "dup spill" <<unknown class>>
 ;* V21 tmp8         [V21    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V22 tmp9         [V22,T230] (  3,  0.00)     int  ->  rax        
@@ -59,7 +59,7 @@
 ;  V47 tmp34        [V47,T222] (  6,  0   )     ref  ->  [rbp-0x110]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V48 tmp35        [V48,T245] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V49 tmp36        [V49,T223] (  5,  0   )     ref  ->  [rbp-0x118]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V50 tmp37        [V50,T231] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V50 tmp37        [V50,T239] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V51 tmp38        [V51    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V52 tmp39        [V52,T116] (  2,  2   )     int  ->  rcx        
 ;* V53 tmp40        [V53    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -451,8 +451,8 @@
 ;  V439 tmp426      [V439,T217] (  2,  0.00)     int  ->  rdx         "field V16.value (fldOffset=0x4)" P-INDEP
 ;  V440 tmp427      [V440,T113] (  3,  2   )   ubyte  ->  rax         "field V17.hasValue (fldOffset=0x0)" P-INDEP
 ;  V441 tmp428      [V441,T114] (  3,  2   )     int  ->  rdx         "field V17.value (fldOffset=0x4)" P-INDEP
-;  V442 tmp429      [V442,T232] (  3,  0   )   ubyte  ->  rcx         "field V24.hasValue (fldOffset=0x0)" P-INDEP
-;  V443 tmp430      [V443,T233] (  3,  0   )     int  ->  rax         "field V24.value (fldOffset=0x4)" P-INDEP
+;  V442 tmp429      [V442,T231] (  3,  0   )   ubyte  ->  rcx         "field V24.hasValue (fldOffset=0x0)" P-INDEP
+;  V443 tmp430      [V443,T232] (  3,  0   )     int  ->  rax         "field V24.value (fldOffset=0x4)" P-INDEP
 ;* V444 tmp431      [V444    ] (  0,  0   )   ubyte  ->  zero-ref    "field V25.hasValue (fldOffset=0x0)" P-INDEP
 ;* V445 tmp432      [V445    ] (  0,  0   )     int  ->  zero-ref    "field V25.value (fldOffset=0x4)" P-INDEP
 ;* V446 tmp433      [V446    ] (  0,  0   )    long  ->  zero-ref    "field V51.m_asTAddr (fldOffset=0x0)" P-INDEP
@@ -511,13 +511,13 @@
 ;  V499 tmp486      [V499,T136] (  2,  1.88)     ref  ->  rdx         single-def "argument with side effect"
 ;  V500 tmp487      [V500,T204] (  2,  0.19)     ref  ->  rdx         single-def "argument with side effect"
 ;  V501 tmp488      [V501,T207] (  2,  0.18)     ref  ->  rdx         single-def "argument with side effect"
-;  V502 tmp489      [V502,T235] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V502 tmp489      [V502,T234] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V503 tmp490      [V503    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V504 tmp491      [V504,T236] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
-;  V505 tmp492      [V505,T237] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V506 tmp493      [V506,T238] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V504 tmp491      [V504,T235] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V505 tmp492      [V505,T236] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V506 tmp493      [V506,T237] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V507 tmp494      [V507,T147] (  2,  1.54)     ref  ->  rcx         single-def "argument with side effect"
-;  V508 tmp495      [V508,T239] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V508 tmp495      [V508,T238] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V509 tmp496      [V509    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V510 cse0        [V510,T80] (  3,  2.88)     ref  ->  r13         "CSE #46: conservative"
 ;  V511 cse1        [V511,T25] ( 12,  5.28)    long  ->  [rbp-0xE8]  multi-def "CSE #37: conservative"
@@ -2705,12 +2705,9 @@ G_M26282_IG223:        ; bbWeight=0, gcVars=000000004000000000000000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M26282_IG225
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M26282_IG224:        ; bbWeight=0, gcVars=0000000080000000000000000000000000000000000000000000000000004000 {V00 V49}, gcrefRegs=7048 {rbx rsi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V47}
        mov      rax, gword ptr [rbp-0x118]
@@ -3813,7 +3810,7 @@ G_M26282_IG324:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 7282, prolog size 87, PerfScore 605.74, instruction count 1569, allocated bytes for code 7282 (MethodHash=41bc9955) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:CreatePropertyInfo(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Type,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy,System.Reflection.NullabilityInfoContext,System.Nullable`1[int],System.Text.Json.JsonSerializerOptions,bool,bool):System.Text.Json.Serialization.Metadata.JsonPropertyInfo (Tier1)
+; Total bytes of code 7274, prolog size 87, PerfScore 605.74, instruction count 1566, allocated bytes for code 7274 (MethodHash=41bc9955) for method System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:CreatePropertyInfo(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Type,System.Reflection.MemberInfo,System.Text.Json.JsonNamingPolicy,System.Reflection.NullabilityInfoContext,System.Nullable`1[int],System.Text.Json.JsonSerializerOptions,bool,bool):System.Text.Json.Serialization.Metadata.JsonPropertyInfo (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.10%) : 78446.dasm - System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (Tier1)
@@ -24,7 +24,7 @@
 ;  V12 tmp2         [V12,T48] (  3,  3.66)     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <System.Composition.TypedParts.ActivationFeatures.PropertyImportSite>
 ;  V13 tmp3         [V13,T105] (  3,  1.22)     ref  ->  [rbp-0x170]  do-not-enreg[Z] must-init class-hnd EH-live "impAppendStmt" <System.Type>
 ;* V14 tmp4         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "spilling ret_expr" <System.Composition.Hosting.Core.CompositionContract>
-;  V15 tmp5         [V15,T264] (  2,  0   )     ref  ->  rbx         class-hnd exact "non-inline candidate call" <System.String>
+;  V15 tmp5         [V15,T263] (  2,  0   )     ref  ->  rbx         class-hnd exact "non-inline candidate call" <System.String>
 ;  V16 tmp6         [V16,T244] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;  V17 tmp7         [V17,T37] (  2,  4.00)     ref  ->   r8         class-hnd single-def "dup spill" <System.Func`2[System.Reflection.MethodInfo,bool]>
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.Reflection.MethodInfo[]>
@@ -39,12 +39,12 @@
 ;* V27 tmp17        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimePropertyInfo>
 ;  V28 tmp18        [V28,T87] (  7,  1.93)     ref  ->  rsi         "guarded devirt return temp"
 ;* V29 tmp19        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimePropertyInfo>
-;  V30 tmp20        [V30,T283] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
+;  V30 tmp20        [V30,T282] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
 ;* V31 tmp21        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.SZGenericArrayEnumerator`1[System.Reflection.PropertyInfo]>
 ;* V32 tmp22        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.SZGenericArrayEnumerator`1[System.Reflection.PropertyInfo]>
 ;  V33 tmp23        [V33,T77] (  3,  2.00)     ref  ->  registers   "guarded devirt return temp"
 ;* V34 tmp24        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Linq.Enumerable+ArrayWhereIterator`1[System.Reflection.MethodInfo]>
-;  V35 tmp25        [V35,T284] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
+;  V35 tmp25        [V35,T283] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
 ;  V36 tmp26        [V36,T07] ( 16, 47.25)     ref  ->  rbx         class-hnd exact "guarded devirt this exact temp" <System.Linq.Enumerable+ArrayWhereIterator`1[System.Reflection.MethodInfo]>
 ;* V37 tmp27        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Enumerable+ArrayWhereIterator`1[System.Reflection.MethodInfo]>
 ;  V38 tmp28        [V38,T35] (  3,  4.07)     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
@@ -145,7 +145,7 @@
 ;  V133 tmp123      [V133,T236] (  5,  0   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V134 tmp124      [V134,T288] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V135 tmp125      [V135,T237] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V136 tmp126      [V136,T261] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V136 tmp126      [V136,T284] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V137 tmp127      [V137    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V138 tmp128      [V138,T122] (  2,  1.00)     int  ->  rcx        
 ;* V139 tmp129      [V139    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -284,7 +284,7 @@
 ;* V272 tmp262      [V272    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V273 tmp263      [V273    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V274 tmp264      [V274    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V275 tmp265      [V275,T265] (  2,  0   )   byref  ->  r14         "Inlining Arg"
+;  V275 tmp265      [V275,T264] (  2,  0   )   byref  ->  r14         "Inlining Arg"
 ;* V276 tmp266      [V276    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V277 tmp267      [V277    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V278 tmp268      [V278    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Object]>
@@ -309,7 +309,7 @@
 ;* V297 tmp287      [V297    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V298 tmp288      [V298    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V299 tmp289      [V299    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling ret_expr" <System.Type>
-;  V300 tmp290      [V300,T266] (  2,  0   )     ref  ->  rbx         class-hnd exact "non-inline candidate call" <System.String>
+;  V300 tmp290      [V300,T265] (  2,  0   )     ref  ->  rbx         class-hnd exact "non-inline candidate call" <System.String>
 ;  V301 tmp291      [V301,T251] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp" <System.Reflection.TargetException>
 ;* V302 tmp292      [V302    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Reflection.TargetException>
 ;  V303 tmp293      [V303,T219] (  3,  0.00)   ubyte  ->   r8         "guarded devirt return temp"
@@ -350,11 +350,11 @@
 ;* V338 tmp328      [V338    ] (  0,  0   )  struct (16) zero-ref    "Inline stloc first use temp" <System.Span`1[bool]>
 ;  V339 tmp329      [V339    ] (  2,  0.00)     ref  ->  [rbp-0xE0]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
 ;* V340 tmp330      [V340    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;  V341 tmp331      [V341,T267] (  2,  0.00)     ref  ->  rdx         class-hnd "impSpillSpecialSideEff" <System.Object>
+;  V341 tmp331      [V341,T266] (  2,  0.00)     ref  ->  rdx         class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V342 tmp332      [V342,T253] (  3,  0.00)     ref  ->  rax         class-hnd "dup spill" <System.Exception>
 ;* V343 tmp333      [V343    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V344 tmp334      [V344,T223] (  3,  0.00)     ref  ->  [rbp-0x188]  do-not-enreg[Z] must-init class-hnd EH-live "Inline stloc first use temp" <System.Exception>
-;  V345 tmp335      [V345,T262] (  3,  0.00)     int  ->  rax        
+;  V345 tmp335      [V345,T261] (  3,  0.00)     int  ->  rax        
 ;* V346 tmp336      [V346    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V347 tmp337      [V347,T254] (  3,  0.00)     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V348 tmp338      [V348    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -366,7 +366,7 @@
 ;* V354 tmp344      [V354    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[bool]>
 ;  V355 tmp345      [V355,T196] (  2,  0.00)   byref  ->  rdi         "impAppendStmt"
 ;* V356 tmp346      [V356    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V357 tmp347      [V357,T263] (  3,  0   )  struct (16) [rbp-0xF8]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
+;  V357 tmp347      [V357,T262] (  3,  0   )  struct (16) [rbp-0xF8]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
 ;* V358 tmp348      [V358    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V359 tmp349      [V359,T238] (  5,  0   )     ref  ->  rdi         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.RuntimeType>
 ;* V360 tmp350      [V360    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -380,7 +380,7 @@
 ;  V368 tmp358      [V368    ] (  3,  0   )   ubyte  ->  [rbp-0x100]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
 ;  V369 tmp359      [V369,T243] (  4,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;  V370 tmp360      [V370,T255] (  3,  0   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V371 tmp361      [V371,T268] (  2,  0   )     ref  ->  rbx         class-hnd exact "impAppendStmt" <System.String>
+;  V371 tmp361      [V371,T267] (  2,  0   )     ref  ->  rbx         class-hnd exact "impAppendStmt" <System.String>
 ;* V372 tmp362      [V372    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V373 tmp363      [V373    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V374 tmp364      [V374    ] (  0,  0   )     ref  ->  zero-ref   
@@ -415,8 +415,8 @@
 ;* V403 tmp393      [V403    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V404 tmp394      [V404    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V405 tmp395      [V405,T222] (  6,  0.00)   byref  ->  [rbp-0x198]  spill-single-def "Inlining Arg"
-;  V406 tmp396      [V406,T269] (  2,  0.00)   byref  ->  [rbp-0x1A0]  spill-single-def "Inlining Arg"
-;  V407 tmp397      [V407,T270] (  2,  0.00)     ref  ->  [rbp-0x1A8]  class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V406 tmp396      [V406,T268] (  2,  0.00)   byref  ->  [rbp-0x1A0]  spill-single-def "Inlining Arg"
+;  V407 tmp397      [V407,T269] (  2,  0.00)     ref  ->  [rbp-0x1A8]  class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V408 tmp398      [V408    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Composition.TypedParts.ImportInfo>
 ;  V409 tmp399      [V409,T45] (  3,  3.83)     int  ->  rcx         "Inline stloc first use temp"
 ;  V410 tmp400      [V410,T36] (  3,  4.07)     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
@@ -554,30 +554,30 @@
 ;  V542 tmp532      [V542    ] (  8,  4.11)     int  ->  [rbp-0x11C]  do-not-enreg[X] addr-exposed "field V418._capacity (fldOffset=0x14)" P-DEP
 ;  V543 tmp533      [V543,T49] (  3,  3.66)     ref  ->  rcx         "arr expr"
 ;  V544 tmp534      [V544,T50] (  3,  3.66)     int  ->  r11         "index expr"
-;  V545 tmp535      [V545,T271] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V546 tmp536      [V546,T272] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V545 tmp535      [V545,T270] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V546 tmp536      [V546,T271] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V547 tmp537      [V547,T96] (  2,  1.59)    long  ->  rax         "Cast away GC"
 ;* V548 tmp538      [V548    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V549 tmp539      [V549    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V550 tmp540      [V550    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V551 tmp541      [V551    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V552 tmp542      [V552,T273] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V553 tmp543      [V553,T274] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V554 tmp544      [V554,T275] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V552 tmp542      [V552,T272] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V553 tmp543      [V553,T273] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V554 tmp544      [V554,T274] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V555 tmp545      [V555,T183] (  6,  0.00)     ref  ->  r15         "Field obj"
 ;  V556 tmp546      [V556,T180] (  3,  0.00)     ref  ->  rcx         "arr expr"
 ;  V557 tmp547      [V557,T259] (  3,  0   )     ref  ->  rcx         "argument with side effect"
-;  V558 tmp548      [V558,T276] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V559 tmp549      [V559,T277] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V558 tmp548      [V558,T275] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V559 tmp549      [V559,T276] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V560 tmp550      [V560,T260] (  3,  0.00)     ref  ->  rdx         "arr expr"
 ;  V561 tmp551      [V561    ] (  6,  0.00)  struct (16) [rbp-0x140]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Span`1[System.Object]>
 ;  V562 tmp552      [V562,T184] (  3,  0.00)     ref  ->  rax         "argument with side effect"
-;  V563 tmp553      [V563,T278] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V564 tmp554      [V564,T279] (  2,  0   )     ref  ->  rdi         "argument with side effect"
-;  V565 tmp555      [V565,T280] (  2,  0   )     ref  ->   r8         "argument with side effect"
-;  V566 tmp556      [V566,T281] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V563 tmp553      [V563,T277] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V564 tmp554      [V564,T278] (  2,  0   )     ref  ->  rdi         "argument with side effect"
+;  V565 tmp555      [V565,T279] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V566 tmp556      [V566,T280] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V567 tmp557      [V567    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V568 tmp558      [V568,T282] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V568 tmp558      [V568,T281] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V569 tmp559      [V569,T88] (  6,  1.84)     ref  ->  rax         "argument with side effect"
 ;  V570 cse0        [V570,T124] (  3,  1.00)     int  ->  rdx         "CSE #03: conservative"
 ;  V571 cse1        [V571,T104] (  3,  0.99)    long  ->  rdi         "CSE #31: conservative"
@@ -1533,12 +1533,9 @@ G_M6457_IG91:        ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M6457_IG93
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M6457_IG92:        ; bbWeight=0, gcrefRegs=8048 {rbx rsi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r15
@@ -2715,7 +2712,7 @@ G_M6457_IG202:        ; bbWeight=0.00, gcVars=0000000000000000000000000000000000
        test     byte  ptr [r14], 1
        jne      SHORT G_M6457_IG209
 						;; size=80 bbWeight=0.00 PerfScore 0.00
-G_M6457_IG203:        ; bbWeight=0.00, gcVars=00000000000060000000000040000000000000800000000000000000000000000000000009240000 {V00 V01 V02 V03 V332 V405 V406 V407}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, gcvars, byref, isz
+G_M6457_IG203:        ; bbWeight=0.00, gcVars=00000000000030000000000040000000000000800000000000000000000000000000000009240000 {V00 V01 V02 V03 V332 V405 V406 V407}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, gcvars, byref, isz
        ; byrRegs -[r14]
        cmp      dword ptr [(reloc)], 0
        je       SHORT G_M6457_IG208
@@ -4314,7 +4311,7 @@ G_M6457_IG356:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 8188, prolog size 107, PerfScore 1156.74, instruction count 1784, allocated bytes for code 8188 (MethodHash=2134e6c6) for method System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (Tier1)
+; Total bytes of code 8180, prolog size 107, PerfScore 1156.74, instruction count 1781, allocated bytes for code 8180 (MethodHash=2134e6c6) for method System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (Tier1)
 ; ============================================================
 
 Unwind Info:
-16 (-0.08%) : 720995.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindIndexerOrIndexedPropertyAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -101,7 +101,7 @@
 ;* V89 tmp78        [V89,T363] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]>
 ;* V90 tmp79        [V90,T327] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol]>
 ;  V91 tmp80        [V91,T23] ( 16, 11.40)     ref  ->  [rbp-0xF68]  class-hnd spill-single-def "Inline stloc first use temp" <<unknown class>>
-;  V92 tmp81        [V92,T01] ( 24, 45.27)  ushort  ->  [rbp-0x9C]  spill-single-def "Inlining Arg"
+;  V92 tmp81        [V92,T02] ( 23, 43.41)  ushort  ->  [rbp-0x9C]  spill-single-def "Inlining Arg"
 ;  V93 tmp82        [V93,T320] (  3,  2   )     int  ->  registers  
 ;  V94 tmp83        [V94,T77] (  5,  5.17)   ubyte  ->  [rbp-0xA0]  spill-single-def "Inline stloc first use temp"
 ;  V95 tmp84        [V95,T04] ( 21, 33.26)     ref  ->  [rbp-0xF70]  class-hnd spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.OverloadResolution>
@@ -581,7 +581,7 @@
 ;* V569 tmp558      [V569    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol>
 ;* V570 tmp559      [V570    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V571 tmp560      [V571,T345] (  3,  1.87)   ubyte  ->  rax         "Inlining Arg"
-;  V572 tmp561      [V572,T02] ( 13, 44.62)  struct (128) [rbp-0xC48]  do-not-enreg[S] must-init "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol]>
+;  V572 tmp561      [V572,T01] ( 13, 44.62)  struct (128) [rbp-0xC48]  do-not-enreg[S] must-init "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol]>
 ;  V573 tmp562      [V573,T11] (  9, 20.59)     ref  ->  [rbp-0x10C0]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]>
 ;  V574 tmp563      [V574,T79] (  5,  5.15)     int  ->  [rbp-0xC4C]  spill-single-def "Inline stloc first use temp"
 ;* V575 tmp564      [V575    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -4938,12 +4938,7 @@ G_M18995_IG300:        ; bbWeight=1.00, gcrefRegs=C0C8 {rbx rsi rdi r14 r15}, by
        je       SHORT G_M18995_IG302
 						;; size=86 bbWeight=1.00 PerfScore 13.00
 G_M18995_IG301:        ; bbWeight=0.93, gcrefRegs=D0C8 {rbx rsi rdi r12 r14 r15}, byrefRegs=0000 {}, byref
-       mov      r10d, dword ptr [rbp-0x9C]
-       mov      r8d, r10d
-       and      r8d, 64
-       mov      edx, r10d
-       and      edx, 512
-       or       r8d, edx
+       test     dword ptr [rbp-0x9C], 576
        jne      G_M18995_IG464
        lea      r8, bword ptr [rbp-0x60]
        ; byrRegs +[r8]
@@ -4955,7 +4950,7 @@ G_M18995_IG301:        ; bbWeight=0.93, gcrefRegs=D0C8 {rbx rsi rdi r12 r14 r15}
        ; gcrRegs -[rdx]
        ; byrRegs -[r8]
        ; gcr arg pop 0
-						;; size=66 bbWeight=0.93 PerfScore 7.67
+						;; size=50 bbWeight=0.93 PerfScore 6.50
 G_M18995_IG302:        ; bbWeight=1.00, gcrefRegs=D0C8 {rbx rsi rdi r12 r14 r15}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -7645,7 +7640,7 @@ G_M18995_IG479:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 18947, prolog size 103, PerfScore 1899.96, instruction count 3498, allocated bytes for code 18947 (MethodHash=6983b5cc) for method Microsoft.CodeAnalysis.CSharp.Binder:BindIndexerOrIndexedPropertyAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
+; Total bytes of code 18931, prolog size 103, PerfScore 1898.80, instruction count 3493, allocated bytes for code 18931 (MethodHash=6983b5cc) for method Microsoft.CodeAnalysis.CSharp.Binder:BindIndexerOrIndexedPropertyAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol],Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-14 (-0.08%) : 721261.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<ResolveExtension>g__resolveMethods|535_1(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byte,Microsoft.CodeAnalysis.CSharp.LookupResult,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,byref,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution (Tier1)
@@ -160,7 +160,7 @@
 ;  V148 tmp126      [V148,T22] ( 11, 19.59)     ref  ->  [rbp-0xEB8]  class-hnd spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;* V149 tmp127      [V149    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V150 tmp128      [V150,T33] ( 19, 13.58)     ref  ->  [rbp-0xEC0]  class-hnd spill-single-def "Inline stloc first use temp" <<unknown class>>
-;  V151 tmp129      [V151,T07] ( 24, 47.13)  ushort  ->  [rbp-0x104]  spill-single-def "Inlining Arg"
+;  V151 tmp129      [V151,T07] ( 23, 45.27)  ushort  ->  [rbp-0x104]  spill-single-def "Inlining Arg"
 ;  V152 tmp130      [V152,T244] (  3,  2.00)     int  ->  registers  
 ;  V153 tmp131      [V153,T99] (  5,  5.17)   ubyte  ->  [rbp-0x108]  spill-single-def "Inline stloc first use temp"
 ;  V154 tmp132      [V154,T337] (  2,  0.27)     ref  ->  rcx         class-hnd single-def "dup spill" <System.Func`2[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,bool]>
@@ -4580,12 +4580,7 @@ G_M16096_IG338:        ; bbWeight=1.00, gcrefRegs=10C0 {rsi rdi r12}, byrefRegs=
        je       SHORT G_M16096_IG340
 						;; size=79 bbWeight=1.00 PerfScore 11.50
 G_M16096_IG339:        ; bbWeight=0.93, gcrefRegs=10C0 {rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      eax, dword ptr [rbp-0x104]
-       mov      r8d, eax
-       and      r8d, 64
-       mov      edx, eax
-       and      edx, 512
-       or       r8d, edx
+       test     dword ptr [rbp-0x104], 576
        jne      G_M16096_IG522
        lea      r8, [rbp-0x58]
        mov      rdx, gword ptr [rbp-0xEC0]
@@ -4595,7 +4590,7 @@ G_M16096_IG339:        ; bbWeight=0.93, gcrefRegs=10C0 {rsi rdi r12}, byrefRegs=
        call     [r10]Microsoft.CodeAnalysis.CSharp.OverloadResolution:RemoveLessDerivedMembers[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],byref)
        ; gcrRegs -[rdx]
        ; gcr arg pop 0
-						;; size=64 bbWeight=0.93 PerfScore 7.66
+						;; size=50 bbWeight=0.93 PerfScore 6.50
 G_M16096_IG340:        ; bbWeight=1.00, gcrefRegs=10C0 {rsi rdi r12}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -7097,7 +7092,7 @@ G_M16096_IG531:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 16950, prolog size 113, PerfScore 2393.47, instruction count 3281, allocated bytes for code 16950 (MethodHash=83cac11f) for method Microsoft.CodeAnalysis.CSharp.Binder:<ResolveExtension>g__resolveMethods|535_1(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byte,Microsoft.CodeAnalysis.CSharp.LookupResult,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,byref,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution (Tier1)
+; Total bytes of code 16936, prolog size 113, PerfScore 2392.31, instruction count 3276, allocated bytes for code 16936 (MethodHash=83cac11f) for method Microsoft.CodeAnalysis.CSharp.Binder:<ResolveExtension>g__resolveMethods|535_1(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byte,Microsoft.CodeAnalysis.CSharp.LookupResult,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,byref,Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution (Tier1)
 ; ============================================================
 
 Unwind Info:
-14 (-0.07%) : 721252.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ResolveExtension(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ushort,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref,bool,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
@@ -279,7 +279,7 @@
 ;  V267 tmp241      [V267,T47] (  2, 37.99)     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.CodeAnalysis.CSharp.SingleLookupResult]>
 ;* V268 tmp242      [V268    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbol]>
 ;  V269 tmp243      [V269,T03] (  7,100.70)     ref  ->  [rbp-0xEF8]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]>
-;  V270 tmp244      [V270,T27] (  5, 52.47)     int  ->  [rbp-0x1D4]  "Inline stloc first use temp"
+;  V270 tmp244      [V270,T26] (  5, 52.47)     int  ->  [rbp-0x1D4]  "Inline stloc first use temp"
 ;* V271 tmp245      [V271    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Symbol>
 ;  V272 tmp246      [V272,T09] (  3, 71.65)     ref  ->  [rbp-0xF00]  class-hnd spill-single-def "impAppendStmt" <System.__Canon[]>
 ;  V273 tmp247      [V273,T04] (  4, 95.53)    long  ->  [rbp-0x1E0]  spill-single-def "Inlining Arg"
@@ -496,7 +496,7 @@
 ;  V484 tmp458      [V484,T83] ( 11, 21.28)     ref  ->  [rbp-0xF68]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;* V485 tmp459      [V485    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V486 tmp460      [V486,T127] ( 16, 12.60)     ref  ->  [rbp-0xF70]  class-hnd spill-single-def "Inline stloc first use temp" <<unknown class>>
-;  V487 tmp461      [V487,T26] ( 24, 53.58)  ushort  ->  [rbp-0x34C]  spill-single-def "Inlining Arg"
+;  V487 tmp461      [V487,T28] ( 23, 51.56)  ushort  ->  [rbp-0x34C]  spill-single-def "Inlining Arg"
 ;  V488 tmp462      [V488,T321] (  3,  2.17)     int  ->  registers  
 ;  V489 tmp463      [V489,T192] (  5,  5.61)   ubyte  ->  [rbp-0x350]  spill-single-def "Inline stloc first use temp"
 ;  V490 tmp464      [V490,T397] (  2,  0.29)     ref  ->  rcx         class-hnd "dup spill" <System.Func`2[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,bool]>
@@ -899,7 +899,7 @@
 ;  V887 rat5        [V887,T12] (  6, 68.52)    long  ->  rsi         "Widened IV V675"
 ;  V888 rat6        [V888,T31] (  6, 48.14)    long  ->  rdx         "Widened IV V317"
 ;  V889 rat7        [V889,T90] (  6, 19.87)    long  ->  r10         "Widened IV V321"
-;  V890 rat8        [V890,T28] (  6, 52.35)    long  ->  r13         "Widened IV V699"
+;  V890 rat8        [V890,T27] (  6, 52.35)    long  ->  r13         "Widened IV V699"
 ;  V891 rat9        [V891,T121] (  6, 13.95)    long  ->  r14         "Widened IV V497"
 ;  V892 rat10       [V892,T67] (  7, 27.05)    long  ->  [rbp-0xE80]  "Widened IV V717"
 ;  V893 rat11       [V893,T284] (  6,  2.97)    long  ->  [rbp-0xE88]  "Widened IV V609"
@@ -5008,12 +5008,7 @@ G_M34365_IG371:        ; bbWeight=1.09, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, by
        je       SHORT G_M34365_IG373
 						;; size=80 bbWeight=1.09 PerfScore 12.49
 G_M34365_IG372:        ; bbWeight=1.01, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, byrefRegs=0000 {}, byref
-       mov      eax, dword ptr [rbp-0x34C]
-       mov      r8d, eax
-       and      r8d, 64
-       mov      edx, eax
-       and      edx, 512
-       or       r8d, edx
+       test     dword ptr [rbp-0x34C], 576
        jne      G_M34365_IG569
        lea      r8, [rbp-0x268]
        mov      rdx, gword ptr [rbp-0xF70]
@@ -5023,7 +5018,7 @@ G_M34365_IG372:        ; bbWeight=1.01, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, by
        call     [r10]Microsoft.CodeAnalysis.CSharp.OverloadResolution:RemoveLessDerivedMembers[System.__Canon](Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]],byref)
        ; gcrRegs -[rdx]
        ; gcr arg pop 0
-						;; size=67 bbWeight=1.01 PerfScore 8.33
+						;; size=53 bbWeight=1.01 PerfScore 7.07
 G_M34365_IG373:        ; bbWeight=1.09, gcrefRegs=30C8 {rbx rsi rdi r12 r13}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -8044,7 +8039,7 @@ G_M34365_IG603:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=8 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 19240, prolog size 127, PerfScore 5571.92, instruction count 3717, allocated bytes for code 19240 (MethodHash=a68f79c2) for method Microsoft.CodeAnalysis.CSharp.Binder:ResolveExtension(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ushort,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref,bool,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
+; Total bytes of code 19226, prolog size 127, PerfScore 5570.65, instruction count 3712, allocated bytes for code 19226 (MethodHash=a68f79c2) for method Microsoft.CodeAnalysis.CSharp.Binder:ResolveExtension(Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations],ushort,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref,bool,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-12 (-0.06%) : 715714.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ResolveMethodGroupInternal(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,bool,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
@@ -41,7 +41,7 @@
 ;  V29 tmp12        [V29,T03] ( 22, 32.35)     ref  ->  [rbp-0xFA8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.OverloadResolution>
 ;  V30 tmp13        [V30,T05] ( 11, 25.78)     ref  ->  [rbp-0xFB0]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol]>
 ;  V31 tmp14        [V31,T206] (  6,  3.18)     ref  ->  [rbp-0xFB8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]>
-;  V32 tmp15        [V32,T00] ( 27, 47.21)  ushort  ->  [rbp-0xB0]  "Inlining Arg"
+;  V32 tmp15        [V32,T01] ( 26, 45.50)  ushort  ->  [rbp-0xB0]  "Inlining Arg"
 ;  V33 tmp16        [V33,T177] (  2,  3.67)     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;* V34 tmp17        [V34    ] (  0,  0   )  struct (56) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.MethodGroupResolution>
 ;  V35 tmp18        [V35    ] (  8,  0   )  struct (56) [rbp-0xE8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.MethodGroupResolution>
@@ -139,7 +139,7 @@
 ;* V127 tmp110      [V127,T476] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V128 tmp111      [V128    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]>
 ;  V129 tmp112      [V129,T47] (  2,  7.96)     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]>
-;  V130 tmp113      [V130,T01] ( 49, 46.48)     ref  ->  r12         class-hnd "Inlining Arg" <System.__Canon>
+;  V130 tmp113      [V130,T00] ( 49, 46.48)     ref  ->  r12         class-hnd "Inlining Arg" <System.__Canon>
 ;  V131 tmp114      [V131,T104] (  7,  4.41)     ref  ->  [rbp-0x1028]  class-hnd spill-single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>
 ;  V132 tmp115      [V132,T294] (  3,  2.42)   ubyte  ->  [rbp-0x174]  spill-single-def "Inline stloc first use temp"
 ;  V133 tmp116      [V133,T148] (  3,  3.98)     int  ->  r11        
@@ -5409,11 +5409,7 @@ G_M39958_IG340:        ; bbWeight=0.92, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=
 						;; size=81 bbWeight=0.92 PerfScore 11.01
 G_M39958_IG341:        ; bbWeight=0.85, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0080 {rdi}, byref
        mov      r15d, dword ptr [rbp-0xB0]
-       mov      r8d, r15d
-       and      r8d, 64
-       mov      edx, r15d
-       and      edx, 512
-       or       r8d, edx
+       test     r15d, 576
        jne      G_M39958_IG532
        mov      r8, rdi
        ; byrRegs +[r8]
@@ -5426,7 +5422,7 @@ G_M39958_IG341:        ; bbWeight=0.85, gcrefRegs=5048 {rbx rsi r12 r14}, byrefR
        ; byrRegs -[r8]
        ; gcr arg pop 0
        mov      dword ptr [rbp-0xB0], r15d
-						;; size=71 bbWeight=0.85 PerfScore 7.67
+						;; size=59 bbWeight=0.85 PerfScore 6.82
 G_M39958_IG342:        ; bbWeight=0.92, gcrefRegs=5048 {rbx rsi r12 r14}, byrefRegs=0080 {rdi}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -8498,7 +8494,7 @@ G_M39958_IG540:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 20888, prolog size 129, PerfScore 1952.24, instruction count 3902, allocated bytes for code 20888 (MethodHash=fa4563e9) for method Microsoft.CodeAnalysis.CSharp.Binder:ResolveMethodGroupInternal(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,bool,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
+; Total bytes of code 20876, prolog size 129, PerfScore 1951.39, instruction count 3898, allocated bytes for code 20876 (MethodHash=fa4563e9) for method Microsoft.CodeAnalysis.CSharp.Binder:ResolveMethodGroupInternal(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,byref,ushort,bool,byte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,byref):Microsoft.CodeAnalysis.CSharp.MethodGroupResolution:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-12 (-0.06%) : 720989.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindIndexerAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -181,7 +181,7 @@
 ;* V169 tmp156      [V169,T394] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]>
 ;  V170 tmp157      [V170,T188] (  2,  3.93)     ref  ->   r8         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.PropertySymbol]>
 ;  V171 tmp158      [V171,T14] ( 22, 16.38)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V172 tmp159      [V172,T02] ( 24, 46.90)  ushort  ->  rbx         "Inlining Arg"
+;  V172 tmp159      [V172,T02] ( 23, 45.08)  ushort  ->  rbx         "Inlining Arg"
 ;  V173 tmp160      [V173,T353] (  3,  1.96)     int  ->  r15        
 ;  V174 tmp161      [V174,T102] (  5,  5.08)   ubyte  ->  r15         single-def "Inline stloc first use temp"
 ;  V175 tmp162      [V175,T04] ( 21, 31.58)     ref  ->  rdi         class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.OverloadResolution>
@@ -4593,11 +4593,7 @@ G_M22511_IG272:        ; bbWeight=0.98, gcrefRegs=6080 {rdi r13 r14}, byrefRegs=
        je       SHORT G_M22511_IG274
 						;; size=74 bbWeight=0.98 PerfScore 10.56
 G_M22511_IG273:        ; bbWeight=0.91, gcrefRegs=60C0 {rsi rdi r13 r14}, byrefRegs=0000 {}, byref
-       mov      r8d, ebx
-       and      r8d, 64
-       mov      edx, ebx
-       and      edx, 512
-       or       r8d, edx
+       test     ebx, 576
        jne      G_M22511_IG515
        lea      r8, bword ptr [rbp-0xC8]
        ; byrRegs +[r8]
@@ -4609,7 +4605,7 @@ G_M22511_IG273:        ; bbWeight=0.91, gcrefRegs=60C0 {rsi rdi r13 r14}, byrefR
        ; gcrRegs -[rdx]
        ; byrRegs -[r8]
        ; gcr arg pop 0
-						;; size=56 bbWeight=0.91 PerfScore 5.93
+						;; size=44 bbWeight=0.91 PerfScore 5.02
 G_M22511_IG274:        ; bbWeight=0.98, gcrefRegs=60C0 {rsi rdi r13 r14}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -8788,7 +8784,7 @@ G_M22511_IG574:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=8 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 21631, prolog size 102, PerfScore 2040.62, instruction count 4063, allocated bytes for code 21631 (MethodHash=b456a810) for method Microsoft.CodeAnalysis.CSharp.Binder:BindIndexerAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
+; Total bytes of code 21619, prolog size 102, PerfScore 2039.71, instruction count 4059, allocated bytes for code 21619 (MethodHash=b456a810) for method Microsoft.CodeAnalysis.CSharp.Binder:BindIndexerAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-12 (-0.05%) : 715570.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindMethodGroupInvocation(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,bool,byref,bool,bool):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -158,7 +158,7 @@
 ;  V146 tmp121      [V146,T04] ( 21, 29.44)     ref  ->  [rbp-0x11E8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.OverloadResolution>
 ;  V147 tmp122      [V147,T05] ( 11, 25.79)     ref  ->  [rbp-0x11F0]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol]>
 ;  V148 tmp123      [V148,T209] (  6,  3.18)     ref  ->  [rbp-0x11F8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations]>
-;  V149 tmp124      [V149,T01] ( 26, 47.39)  ushort  ->  [rbp-0x258]  "Inlining Arg"
+;  V149 tmp124      [V149,T02] ( 25, 45.69)  ushort  ->  [rbp-0x258]  "Inlining Arg"
 ;  V150 tmp125      [V150,T182] (  2,  3.67)     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.AnalyzedArguments>
 ;* V151 tmp126      [V151    ] (  0,  0   )  struct (56) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.MethodGroupResolution>
 ;* V152 tmp127      [V152    ] (  0,  0   )  struct (56) zero-ref    do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.MethodGroupResolution>
@@ -578,7 +578,7 @@
 ;* V566 tmp541      [V566    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol>
 ;* V567 tmp542      [V567    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V568 tmp543      [V568,T394] (  3,  1.71)   ubyte  ->   r8         "Inlining Arg"
-;  V569 tmp544      [V569,T02] ( 15, 47.25)  struct (128) [rbp-0xDE0]  do-not-enreg[S] must-init "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol]>
+;  V569 tmp544      [V569,T01] ( 15, 47.25)  struct (128) [rbp-0xDE0]  do-not-enreg[S] must-init "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol]>
 ;  V570 tmp545      [V570,T10] (  9, 18.90)     ref  ->  [rbp-0x13A0]  class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.CodeAnalysis.CSharp.MemberResolutionResult`1[System.__Canon]]>
 ;  V571 tmp546      [V571,T92] (  5,  4.73)     int  ->  r15         "Inline stloc first use temp"
 ;* V572 tmp547      [V572    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -4762,11 +4762,7 @@ G_M46888_IG275:        ; bbWeight=0.92, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefR
        je       SHORT G_M46888_IG277
 						;; size=75 bbWeight=0.92 PerfScore 10.32
 G_M46888_IG276:        ; bbWeight=0.85, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref
-       mov      r8d, r13d
-       and      r8d, 64
-       mov      edx, r13d
-       and      edx, 512
-       or       r8d, edx
+       test     r13d, 576
        jne      G_M46888_IG475
        lea      r8, bword ptr [rbp-0x58]
        ; byrRegs +[r8]
@@ -4778,7 +4774,7 @@ G_M46888_IG276:        ; bbWeight=0.85, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefR
        ; gcrRegs -[rdx]
        ; byrRegs -[r8]
        ; gcr arg pop 0
-						;; size=58 bbWeight=0.85 PerfScore 6.18
+						;; size=46 bbWeight=0.85 PerfScore 5.33
 G_M46888_IG277:        ; bbWeight=0.92, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
        ; gcrRegs +[rcx]
@@ -8671,7 +8667,7 @@ G_M46888_IG522:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 21979, prolog size 113, PerfScore 1992.43, instruction count 4028, allocated bytes for code 21979 (MethodHash=78b448d7) for method Microsoft.CodeAnalysis.CSharp.Binder:BindMethodGroupInvocation(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,bool,byref,bool,bool):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
+; Total bytes of code 21967, prolog size 113, PerfScore 1991.58, instruction count 4024, allocated bytes for code 21967 (MethodHash=78b448d7) for method Microsoft.CodeAnalysis.CSharp.Binder:BindMethodGroupInvocation(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,System.String,Microsoft.CodeAnalysis.CSharp.BoundMethodGroup,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,bool,byref,bool,bool):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-52 (-1.87%) : 741683.dasm - Xunit.Sdk.Sha1Digest:ProcessBlock():this (Tier1)
@@ -10,11 +10,11 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T63] ( 14, 14.00)     ref  ->  rcx         this class-hnd single-def <Xunit.Sdk.Sha1Digest>
-;  V01 loc0         [V01,T13] ( 70,182.00)     int  ->  rax        
-;  V02 loc1         [V02,T16] ( 68,182.00)     int  ->   r9        
-;  V03 loc2         [V03,T17] ( 61,182.00)     int  ->  rsi        
-;  V04 loc3         [V04,T15] ( 69,182.00)     int  ->  rbp        
-;  V05 loc4         [V05,T14] ( 70,182.00)     int  ->  r15        
+;  V01 loc0         [V01,T13] ( 68,177.00)     int  ->  rax        
+;  V02 loc1         [V02,T15] ( 67,177.00)     int  ->   r9        
+;  V03 loc2         [V03,T17] ( 59,177.00)     int  ->  rsi        
+;  V04 loc3         [V04,T16] ( 67,177.00)     int  ->  rbp        
+;  V05 loc4         [V05,T14] ( 68,177.00)     int  ->  r15        
 ;  V06 loc5         [V06,T08] ( 73,201.00)     int  ->  registers  
 ;* V07 loc6         [V07,T81] (  0,  0   )     int  ->  zero-ref   
 ;  V08 loc7         [V08,T18] (  2,129.74)     int  ->  rax        
@@ -359,13 +359,11 @@ G_M42046_IG11:        ; bbWeight=1.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
 						;; size=6 bbWeight=1.00 PerfScore 0.25
 G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        lea      r14d, [r13+0x01]
-       mov      edi, r9d
-       and      edi, esi
-       mov      r11d, r9d
-       and      r11d, ebp
-       or       r11d, edi
        mov      edi, esi
        and      edi, ebp
+       mov      r11d, esi
+       or       r11d, ebp
+       and      r11d, r9d
        or       r11d, edi
        mov      edi, eax
        rol      edi, 5
@@ -385,13 +383,11 @@ G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
        rol      r9d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, eax
-       and      edi, r9d
-       mov      r13d, eax
-       and      r13d, esi
-       or       edi, r13d
+       mov      edi, r9d
+       and      edi, esi
        mov      r13d, r9d
-       and      r13d, esi
+       or       r13d, esi
+       and      r13d, eax
        or       edi, r13d
        mov      r13d, r15d
        rol      r13d, 5
@@ -404,14 +400,12 @@ G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
        rol      eax, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      r13d, r15d
-       ; gcrRegs -[r13]
-       and      r13d, eax
-       mov      edi, r15d
-       and      edi, r9d
-       or       edi, r13d
        mov      r13d, eax
+       ; gcrRegs -[r13]
        and      r13d, r9d
+       mov      edi, eax
+       or       edi, r9d
+       and      edi, r15d
        or       edi, r13d
        mov      r13d, ebp
        rol      r13d, 5
@@ -424,21 +418,17 @@ G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
        rol      r15d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      r13d, ebp
-       ; gcrRegs -[r13]
-       and      r13d, r15d
-       mov      edi, ebp
-       and      edi, eax
-       or       edi, r13d
        mov      r13d, r15d
+       ; gcrRegs -[r13]
        and      r13d, eax
+       mov      edi, r15d
+       or       edi, eax
+       and      edi, ebp
        or       edi, r13d
        mov      r13d, esi
        rol      r13d, 5
        add      r13d, r9d
        add      edi, r13d
-						;; size=249 bbWeight=5.00 PerfScore 151.25
-G_M42046_IG13:        ; bbWeight=5.00, extend
        mov      r9, rbx
        ; gcrRegs +[r9]
        mov      r9d, dword ptr [r9+4*r11+0x10]
@@ -446,14 +436,14 @@ G_M42046_IG13:        ; bbWeight=5.00, extend
        lea      r9d, [rdi+r9+D1FFAB1EH]
        rol      ebp, 30
        mov      r11d, r14d
+						;; size=247 bbWeight=5.00 PerfScore 161.25
+G_M42046_IG13:        ; bbWeight=5.00, extend
        lea      r14d, [r11+0x01]
-       mov      edi, esi
-       and      edi, ebp
-       mov      r13d, esi
-       and      r13d, r15d
-       or       edi, r13d
+       mov      edi, ebp
+       and      edi, r15d
        mov      r13d, ebp
-       and      r13d, r15d
+       or       r13d, r15d
+       and      r13d, esi
        or       edi, r13d
        mov      r13d, r9d
        rol      r13d, 5
@@ -464,7 +454,7 @@ G_M42046_IG13:        ; bbWeight=5.00, extend
        mov      eax, dword ptr [rax+4*r11+0x10]
        ; gcrRegs -[rax]
        lea      eax, [rdi+rax+D1FFAB1EH]
-						;; size=76 bbWeight=5.00 PerfScore 55.00
+						;; size=49 bbWeight=5.00 PerfScore 32.50
 G_M42046_IG14:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        rol      esi, 30
        dec      r12d
@@ -813,13 +803,11 @@ G_M42046_IG28:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        rol      r9d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, eax
-       and      edi, r9d
-       mov      r13d, eax
-       and      r13d, esi
-       or       edi, r13d
+       mov      edi, r9d
+       and      edi, esi
        mov      r13d, r9d
-       and      r13d, esi
+       or       r13d, esi
+       and      r13d, eax
        or       edi, r13d
        mov      r13d, r15d
        rol      r13d, 5
@@ -834,14 +822,12 @@ G_M42046_IG28:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        rol      eax, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, r15d
-       and      edi, eax
-       mov      r13d, r15d
-       ; gcrRegs -[r13]
-       and      r13d, r9d
-       or       edi, r13d
+       mov      edi, eax
+       and      edi, r9d
        mov      r13d, eax
-       and      r13d, r9d
+       ; gcrRegs -[r13]
+       or       r13d, r9d
+       and      r13d, r15d
        or       edi, r13d
        mov      r13d, ebp
        rol      r13d, 5
@@ -856,14 +842,12 @@ G_M42046_IG28:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        rol      r15d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, ebp
-       and      edi, r15d
-       mov      r13d, ebp
-       ; gcrRegs -[r13]
-       and      r13d, eax
-       or       edi, r13d
+       mov      edi, r15d
+       and      edi, eax
        mov      r13d, r15d
-       and      r13d, eax
+       ; gcrRegs -[r13]
+       or       r13d, eax
+       and      r13d, ebp
        or       edi, r13d
        mov      r13d, esi
        rol      r13d, 5
@@ -878,16 +862,14 @@ G_M42046_IG28:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        lea      r9d, [rdi+r9+D1FFAB1EH]
        rol      ebp, 30
        mov      r11d, r14d
-						;; size=246 bbWeight=0 PerfScore 0.00
-G_M42046_IG29:        ; bbWeight=0, extend
        lea      r14d, [r11+0x01]
-       mov      edi, esi
-       and      edi, ebp
-       mov      r13d, esi
-       and      r13d, r15d
-       or       edi, r13d
+       mov      edi, ebp
+       and      edi, r15d
        mov      r13d, ebp
-       and      r13d, r15d
+       or       r13d, r15d
+						;; size=243 bbWeight=0 PerfScore 0.00
+G_M42046_IG29:        ; bbWeight=0, extend
+       and      r13d, esi
        or       edi, r13d
        mov      r13d, r9d
        rol      r13d, 5
@@ -901,7 +883,7 @@ G_M42046_IG29:        ; bbWeight=0, extend
        ; gcrRegs -[rax]
        lea      eax, [rdi+rax+D1FFAB1EH]
        jmp      G_M42046_IG14
-						;; size=68 bbWeight=0 PerfScore 0.00
+						;; size=48 bbWeight=0 PerfScore 0.00
 G_M42046_IG30:        ; bbWeight=0, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r15]
        cmp      r13d, r10d
@@ -1042,7 +1024,7 @@ G_M42046_IG38:        ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2777, prolog size 16, PerfScore 2357.29, instruction count 756, allocated bytes for code 2777 (MethodHash=64eb5bc1) for method Xunit.Sdk.Sha1Digest:ProcessBlock():this (Tier1)
+; Total bytes of code 2725, prolog size 16, PerfScore 2344.79, instruction count 738, allocated bytes for code 2725 (MethodHash=64eb5bc1) for method Xunit.Sdk.Sha1Digest:ProcessBlock():this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.08%) : 701052.dasm - System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (Tier1)
@@ -24,7 +24,7 @@
 ;  V12 tmp2         [V12,T17] (  3, 13.63)     ref  ->  r13         class-hnd exact "NewObj constructor temp" <System.Composition.TypedParts.ActivationFeatures.PropertyImportSite>
 ;  V13 tmp3         [V13,T69] (  3,  4.54)     ref  ->  [rbp-0x1C8]  do-not-enreg[Z] must-init class-hnd EH-live "impAppendStmt" <System.Type>
 ;* V14 tmp4         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "spilling ret_expr" <System.Composition.Hosting.Core.CompositionContract>
-;  V15 tmp5         [V15,T304] (  2,  0   )     ref  ->  rsi         class-hnd exact "non-inline candidate call" <System.String>
+;  V15 tmp5         [V15,T303] (  2,  0   )     ref  ->  rsi         class-hnd exact "non-inline candidate call" <System.String>
 ;  V16 tmp6         [V16,T286] (  3,  0   )     ref  ->  rdi         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;  V17 tmp7         [V17,T85] (  2,  4.00)     ref  ->   r8         class-hnd single-def "dup spill" <System.Func`2[System.Reflection.MethodInfo,bool]>
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.Reflection.MethodInfo[]>
@@ -39,12 +39,12 @@
 ;* V27 tmp17        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimePropertyInfo>
 ;  V28 tmp18        [V28,T43] (  7,  7.16)     ref  ->  r13         "guarded devirt return temp"
 ;* V29 tmp19        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimePropertyInfo>
-;  V30 tmp20        [V30,T321] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
+;  V30 tmp20        [V30,T320] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
 ;* V31 tmp21        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.SZGenericArrayEnumerator`1[System.Reflection.PropertyInfo]>
 ;* V32 tmp22        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.SZGenericArrayEnumerator`1[System.Reflection.PropertyInfo]>
 ;  V33 tmp23        [V33,T130] (  3,  2.00)     ref  ->  registers   "guarded devirt return temp"
 ;* V34 tmp24        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Linq.Enumerable+ArrayWhereIterator`1[System.Reflection.MethodInfo]>
-;  V35 tmp25        [V35,T322] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
+;  V35 tmp25        [V35,T321] (  2,  0   )   ubyte  ->  rax         "guarded devirt return temp"
 ;  V36 tmp26        [V36,T03] ( 16, 36.42)     ref  ->  rsi         class-hnd exact "guarded devirt this exact temp" <System.Linq.Enumerable+ArrayWhereIterator`1[System.Reflection.MethodInfo]>
 ;* V37 tmp27        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Linq.Enumerable+ArrayWhereIterator`1[System.Reflection.MethodInfo]>
 ;  V38 tmp28        [V38,T83] (  3,  4.01)     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
@@ -179,7 +179,7 @@
 ;  V167 tmp157      [V167,T268] (  5,  0.00)     ref  ->  r12         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V168 tmp158      [V168,T326] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V169 tmp159      [V169,T269] (  5,  0.00)     ref  ->  [rbp-0x1E8]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V170 tmp160      [V170,T300] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V170 tmp160      [V170,T322] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V171 tmp161      [V171    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V172 tmp162      [V172,T96] (  2,  3.85)     int  ->  rcx        
 ;* V173 tmp163      [V173    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -315,7 +315,7 @@
 ;* V303 tmp293      [V303    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V304 tmp294      [V304    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V305 tmp295      [V305    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V306 tmp296      [V306,T305] (  2,  0   )   byref  ->  [rbp-0x208]  spill-single-def "Inlining Arg"
+;  V306 tmp296      [V306,T304] (  2,  0   )   byref  ->  [rbp-0x208]  spill-single-def "Inlining Arg"
 ;* V307 tmp297      [V307    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V308 tmp298      [V308    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V309 tmp299      [V309    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Object]>
@@ -340,7 +340,7 @@
 ;* V328 tmp318      [V328    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V329 tmp319      [V329    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V330 tmp320      [V330    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling ret_expr" <System.Type>
-;  V331 tmp321      [V331,T306] (  2,  0   )     ref  ->  rsi         class-hnd exact "non-inline candidate call" <System.String>
+;  V331 tmp321      [V331,T305] (  2,  0   )     ref  ->  rsi         class-hnd exact "non-inline candidate call" <System.String>
 ;  V332 tmp322      [V332,T291] (  3,  0   )     ref  ->  rdi         class-hnd exact "NewObj constructor temp" <System.Reflection.TargetException>
 ;* V333 tmp323      [V333    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Reflection.TargetException>
 ;  V334 tmp324      [V334,T238] (  3,  0.00)   ubyte  ->  rax         "guarded devirt return temp"
@@ -381,11 +381,11 @@
 ;* V369 tmp359      [V369    ] (  0,  0   )  struct (16) zero-ref    "Inline stloc first use temp" <System.Span`1[bool]>
 ;  V370 tmp360      [V370    ] (  2,  0.01)     ref  ->  [rbp-0xF0]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
 ;* V371 tmp361      [V371    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;  V372 tmp362      [V372,T307] (  2,  0.00)     ref  ->  rdx         class-hnd "impSpillSpecialSideEff" <System.Object>
+;  V372 tmp362      [V372,T306] (  2,  0.00)     ref  ->  rdx         class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V373 tmp363      [V373,T292] (  3,  0.00)     ref  ->  rax         class-hnd "dup spill" <System.Exception>
 ;* V374 tmp364      [V374    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V375 tmp365      [V375,T251] (  3,  0.00)     ref  ->  [rbp-0x228]  do-not-enreg[Z] must-init class-hnd EH-live "Inline stloc first use temp" <System.Exception>
-;  V376 tmp366      [V376,T301] (  3,  0.00)     int  ->  rax        
+;  V376 tmp366      [V376,T300] (  3,  0.00)     int  ->  rax        
 ;* V377 tmp367      [V377    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V378 tmp368      [V378,T293] (  3,  0.00)     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V379 tmp369      [V379    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -397,7 +397,7 @@
 ;* V385 tmp375      [V385    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[bool]>
 ;  V386 tmp376      [V386,T230] (  2,  0.00)   byref  ->  rbx         "impAppendStmt"
 ;* V387 tmp377      [V387    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V388 tmp378      [V388,T302] (  3,  0   )  struct (16) [rbp-0x108]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
+;  V388 tmp378      [V388,T301] (  3,  0   )  struct (16) [rbp-0x108]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
 ;* V389 tmp379      [V389    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V390 tmp380      [V390,T281] (  5,  0   )     ref  ->  rbx         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.RuntimeType>
 ;* V391 tmp381      [V391    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -411,7 +411,7 @@
 ;  V399 tmp389      [V399    ] (  3,  0.00)   ubyte  ->  [rbp-0x110]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
 ;  V400 tmp390      [V400,T285] (  4,  0.00)     int  ->  rax         "Inline stloc first use temp"
 ;  V401 tmp391      [V401,T294] (  3,  0   )     ref  ->  rcx         class-hnd "dup spill" <System.Object>
-;  V402 tmp392      [V402,T308] (  2,  0   )     ref  ->  rbx         class-hnd exact "impAppendStmt" <System.String>
+;  V402 tmp392      [V402,T307] (  2,  0   )     ref  ->  rbx         class-hnd exact "impAppendStmt" <System.String>
 ;* V403 tmp393      [V403    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V404 tmp394      [V404    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V405 tmp395      [V405    ] (  0,  0   )     ref  ->  zero-ref   
@@ -487,7 +487,7 @@
 ;  V475 tmp465      [V475,T62] (  3,  5.13)     int  ->  rdx         "Inlining Arg"
 ;* V476 tmp466      [V476    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V477 tmp467      [V477    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V478 tmp468      [V478,T303] (  3,  0   )     int  ->  r13         "Inline stloc first use temp"
+;  V478 tmp468      [V478,T302] (  3,  0   )     int  ->  r13         "Inline stloc first use temp"
 ;* V479 tmp469      [V479    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <System.Reflection.MethodInfo[]>
 ;  V480 tmp470      [V480,T77] (  4,  4.41)    long  ->  r12         "Inlining Arg"
 ;  V481 tmp471      [V481,T76] (  4,  4.41)     ref  ->  r13         class-hnd "Inlining Arg" <System.__Canon[]>
@@ -606,30 +606,30 @@
 ;  V594 tmp584      [V594    ] (  7,  1.67)     int  ->  [rbp-0x114]  do-not-enreg[X] addr-exposed "field V449._capacity (fldOffset=0x14)" P-DEP
 ;  V595 tmp585      [V595,T18] (  3, 13.63)     ref  ->  rcx         "arr expr"
 ;  V596 tmp586      [V596,T19] (  3, 13.63)     int  ->  r11         "index expr"
-;  V597 tmp587      [V597,T309] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V598 tmp588      [V598,T310] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V597 tmp587      [V597,T308] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V598 tmp588      [V598,T309] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V599 tmp589      [V599,T51] (  2,  6.46)    long  ->  rax         "Cast away GC"
 ;* V600 tmp590      [V600    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V601 tmp591      [V601    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V602 tmp592      [V602    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V603 tmp593      [V603    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V604 tmp594      [V604,T311] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V605 tmp595      [V605,T312] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V606 tmp596      [V606,T313] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V604 tmp594      [V604,T310] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V605 tmp595      [V605,T311] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V606 tmp596      [V606,T312] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V607 tmp597      [V607,T219] (  6,  0.00)     ref  ->   r8         "Field obj"
 ;  V608 tmp598      [V608,T198] (  3,  0.01)     ref  ->  rcx         "arr expr"
 ;  V609 tmp599      [V609,T298] (  3,  0   )     ref  ->  rcx         "argument with side effect"
-;  V610 tmp600      [V610,T314] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V611 tmp601      [V611,T315] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V610 tmp600      [V610,T313] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V611 tmp601      [V611,T314] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V612 tmp602      [V612,T277] (  3,  0.00)     ref  ->  rdx         "arr expr"
 ;  V613 tmp603      [V613    ] (  6,  0.00)  struct (16) [rbp-0x180]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Span`1[System.Object]>
 ;  V614 tmp604      [V614,T210] (  3,  0.00)     ref  ->  rax         "argument with side effect"
-;  V615 tmp605      [V615,T316] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V616 tmp606      [V616,T317] (  2,  0   )     ref  ->  r14         "argument with side effect"
-;  V617 tmp607      [V617,T318] (  2,  0   )     ref  ->   r8         "argument with side effect"
-;  V618 tmp608      [V618,T319] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V615 tmp605      [V615,T315] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V616 tmp606      [V616,T316] (  2,  0   )     ref  ->  r14         "argument with side effect"
+;  V617 tmp607      [V617,T317] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V618 tmp608      [V618,T318] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V619 tmp609      [V619    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V620 tmp610      [V620,T320] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V620 tmp610      [V620,T319] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V621 tmp611      [V621,T52] (  6,  6.46)     ref  ->  rax         "argument with side effect"
 ;  V622 cse0        [V622,T150] (  3,  1.43)    long  ->  rdx         "CSE #56: conservative"
 ;  V623 cse1        [V623,T228] (  3,  0.00)     ref  ->  rax         "CSE #46: conservative"
@@ -1875,12 +1875,9 @@ G_M6457_IG117:        ; bbWeight=0, gcrefRegs=F0C0 {rsi rdi r12 r13 r14 r15}, by
        call     [rax]System.RuntimeType:get_GenericParameterAttributes():int:this
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M6457_IG119
-						;; size=31 bbWeight=0 PerfScore 0.00
+						;; size=23 bbWeight=0 PerfScore 0.00
 G_M6457_IG118:        ; bbWeight=0.00, gcrefRegs=E0C0 {rsi rdi r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r12]
        mov      r12, gword ptr [rbp-0x1E8]
@@ -4908,7 +4905,7 @@ G_M6457_IG389:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 9836, prolog size 100, PerfScore 1014.48, instruction count 2069, allocated bytes for code 9836 (MethodHash=2134e6c6) for method System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (Tier1)
+; Total bytes of code 9828, prolog size 100, PerfScore 1014.48, instruction count 2066, allocated bytes for code 9828 (MethodHash=2134e6c6) for method System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.08%) : 458525.dasm - Xunit.Sdk.XunitTestCaseRunner:GetBeforeAfterTestAttributes():System.Collections.Generic.List`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
@@ -46,7 +46,7 @@
 ;  V34 tmp31        [V34,T287] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V35 tmp32        [V35,T307] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V36 tmp33        [V36,T288] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V37 tmp34        [V37,T297] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V37 tmp34        [V37,T306] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V38 tmp35        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V39 tmp36        [V39,T145] (  2,  2   )     int  ->  rcx        
 ;* V40 tmp37        [V40    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -477,22 +477,22 @@
 ;* V465 tmp462      [V465,T182] (  0,  0   )     int  ->  zero-ref    "field V279._length (fldOffset=0x8)" P-INDEP
 ;* V466 tmp463      [V466    ] (  0,  0   )   byref  ->  zero-ref    "field V283._reference (fldOffset=0x0)" P-INDEP
 ;* V467 tmp464      [V467    ] (  0,  0   )     int  ->  zero-ref    "field V283._length (fldOffset=0x8)" P-INDEP
-;  V468 tmp465      [V468,T302] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V468 tmp465      [V468,T301] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V469 tmp466      [V469,T103] (  2,  3.21)    long  ->  rax         "Cast away GC"
 ;  V470 tmp467      [V470,T138] (  3,  2.21)     ref  ->  rax         single-def "argument with side effect"
 ;  V471 tmp468      [V471,T155] (  2,  1.73)    long  ->  rdx         "Cast away GC"
 ;  V472 tmp469      [V472,T76] (  2,  4.60)    long  ->  rcx         "Cast away GC"
 ;* V473 tmp470      [V473    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V474 tmp471      [V474,T19] (  2, 10.33)     int  ->  rdx         "argument with side effect"
-;  V475 tmp472      [V475,T303] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V476 tmp473      [V476,T304] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V475 tmp472      [V475,T302] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V476 tmp473      [V476,T303] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V477 tmp474      [V477,T282] (  3,  0.01)     ref  ->  rax         "argument with side effect"
-;  V478 tmp475      [V478,T305] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V479 tmp476      [V479,T306] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V478 tmp475      [V478,T304] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V479 tmp476      [V479,T305] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V480 tmp477      [V480    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V481 tmp478      [V481,T298] (  3,  0   )     int  ->   r8         "fgMakeTemp is creating a new local variable"
-;  V482 tmp479      [V482,T299] (  3,  0   )     int  ->  rdx         "index expr"
-;  V483 tmp480      [V483,T300] (  3,  0   )     int  ->  rdx         "index expr"
+;  V481 tmp478      [V481,T297] (  3,  0   )     int  ->   r8         "fgMakeTemp is creating a new local variable"
+;  V482 tmp479      [V482,T298] (  3,  0   )     int  ->  rdx         "index expr"
+;  V483 tmp480      [V483,T299] (  3,  0   )     int  ->  rdx         "index expr"
 ;  V484 tmp481      [V484,T184] (  3,  1.11)     ref  ->  rax         single-def "argument with side effect"
 ;  V485 tmp482      [V485,T196] (  2,  0.98)     ref  ->  rcx         single-def "argument with side effect"
 ;  V486 tmp483      [V486,T179] (  2,  1.23)     ref  ->  rcx         single-def "argument with side effect"
@@ -545,7 +545,7 @@
 ;  V533 rat17       [V533,T77] (  5,  4.52)     ref  ->  rbx         "replacement local"
 ;  V534 rat18       [V534,T167] (  3,  1.51)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V535 rat19       [V535,T88] (  5,  3.89)     ref  ->  rbx         "replacement local"
-;  V536 rat20       [V536,T301] (  3,  0   )     int  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
+;  V536 rat20       [V536,T300] (  3,  0   )     int  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 536
 
@@ -3310,12 +3310,9 @@ G_M61572_IG239:        ; bbWeight=0, gcrefRegs=C0E0 {rbp rsi rdi r14 r15}, byref
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M61572_IG241
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M61572_IG240:        ; bbWeight=0, gcrefRegs=50E0 {rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -4561,7 +4558,7 @@ G_M61572_IG354:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 9686, prolog size 47, PerfScore 1188.71, instruction count 1954, allocated bytes for code 9686 (MethodHash=2b1d0f7b) for method Xunit.Sdk.XunitTestCaseRunner:GetBeforeAfterTestAttributes():System.Collections.Generic.List`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
+; Total bytes of code 9678, prolog size 47, PerfScore 1188.71, instruction count 1951, allocated bytes for code 9678 (MethodHash=2b1d0f7b) for method Xunit.Sdk.XunitTestCaseRunner:GetBeforeAfterTestAttributes():System.Collections.Generic.List`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.12%) : 78455.dasm - System.Composition.TypedParts.ContractHelpers:GetImportInfo(System.Type,System.Object[],System.Object):System.Composition.TypedParts.ImportInfo (Tier1)
@@ -29,8 +29,8 @@
 ;  V17 OutArgs      [V17    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V18 tmp1         [V18,T02] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
 ;* V19 tmp2         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Composition.TypedParts.ContractHelpers+<>c__DisplayClass2_0>
-;  V20 tmp3         [V20,T179] (  2,  0   )     ref  ->   r8         class-hnd "dup spill" <System.Func`2[System.Reflection.PropertyInfo,bool]>
-;  V21 tmp4         [V21,T180] (  2,  0   )     ref  ->  [rbp-0x148]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
+;  V20 tmp3         [V20,T178] (  2,  0   )     ref  ->   r8         class-hnd "dup spill" <System.Func`2[System.Reflection.PropertyInfo,bool]>
+;  V21 tmp4         [V21,T179] (  2,  0   )     ref  ->  [rbp-0x148]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
 ;* V22 tmp5         [V22    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V23 tmp6         [V23,T163] (  4,  0   )     ref  ->   r8        
 ;* V24 tmp7         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
@@ -139,7 +139,7 @@
 ;  V127 tmp110      [V127,T159] (  5,  0   )     ref  ->  [rbp-0x1A8]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V128 tmp111      [V128,T193] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V129 tmp112      [V129,T160] (  5,  0   )     ref  ->  [rbp-0x1B0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V130 tmp113      [V130,T176] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V130 tmp113      [V130,T191] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V131 tmp114      [V131    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V132 tmp115      [V132,T95] (  2,  1.52)     int  ->  rcx        
 ;* V133 tmp116      [V133    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -171,7 +171,7 @@
 ;* V159 tmp142      [V159    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.RuntimeType>
 ;  V160 tmp143      [V160,T102] (  3,  1.05)     ref  ->  [rbp-0x1C0]  class-hnd spill-single-def "Inline stloc first use temp" <System.Object[]>
 ;* V161 tmp144      [V161,T130] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V162 tmp145      [V162,T181] (  2,  0   )     ref  ->  [rbp-0x1C8]  class-hnd exact spill-single-def "impAppendStmt" <System.Reflection.RuntimeModule>
+;  V162 tmp145      [V162,T180] (  2,  0   )     ref  ->  [rbp-0x1C8]  class-hnd exact spill-single-def "impAppendStmt" <System.Reflection.RuntimeModule>
 ;* V163 tmp146      [V163    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;  V164 tmp147      [V164,T164] (  4,  0   )     ref  ->  [rbp-0x1D0]  class-hnd spill-single-def "Inline stloc first use temp" <System.Object[]>
 ;* V165 tmp148      [V165    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
@@ -295,30 +295,30 @@
 ;* V283 tmp266      [V283    ] (  0,  0   )    long  ->  zero-ref    "field V237.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V284 tmp267      [V284,T114] (  2,  1.05)    long  ->  r10         "field V239.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V285 tmp268      [V285    ] (  0,  0   )     ref  ->  zero-ref    "field V241.m_type (fldOffset=0x0)" P-INDEP
-;  V286 tmp269      [V286,T177] (  3,  0   )     int  ->   r8         "fgMakeTemp is creating a new local variable"
+;  V286 tmp269      [V286,T176] (  3,  0   )     int  ->   r8         "fgMakeTemp is creating a new local variable"
 ;  V287 tmp270      [V287,T138] (  3,  0.17)     int  ->  rcx         "index expr"
 ;  V288 tmp271      [V288,T139] (  3,  0.17)     int  ->  rcx         "index expr"
 ;  V289 tmp272      [V289,T44] (  2,  2.41)    long  ->  rax         "Cast away GC"
-;  V290 tmp273      [V290,T182] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V291 tmp274      [V291,T183] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V290 tmp273      [V290,T181] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V291 tmp274      [V291,T182] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V292 tmp275      [V292    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V293 tmp276      [V293    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V294 tmp277      [V294,T184] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V294 tmp277      [V294,T183] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V295 tmp278      [V295    ] (  2,  2.39)  struct (24) [rbp-0xC8]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V296 tmp279      [V296,T46] (  2,  2.39)     int  ->   r8         "argument with side effect"
-;  V297 tmp280      [V297,T185] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V297 tmp280      [V297,T184] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V298 tmp281      [V298,T142] (  3,  0.11)     ref  ->  rax         "argument with side effect"
 ;  V299 tmp282      [V299,T153] (  3,  0.00)     ref  ->  rax         "argument with side effect"
 ;  V300 tmp283      [V300,T150] (  2,  0.00)     ref  ->   r8         "argument with side effect"
 ;  V301 tmp284      [V301,T192] (  2,  0   )     int  ->  rdx         "argument with side effect"
 ;* V302 tmp285      [V302    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V303 tmp286      [V303,T186] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V304 tmp287      [V304,T187] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V305 tmp288      [V305,T188] (  2,  0   )     ref  ->  [rbp-0x228]  spill-single-def "argument with side effect"
-;  V306 tmp289      [V306,T189] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V303 tmp286      [V303,T185] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V304 tmp287      [V304,T186] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V305 tmp288      [V305,T187] (  2,  0   )     ref  ->  [rbp-0x228]  spill-single-def "argument with side effect"
+;  V306 tmp289      [V306,T188] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V307 tmp290      [V307,T121] (  2,  0.94)     ref  ->  rdx         "argument with side effect"
-;  V308 tmp291      [V308,T190] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V309 tmp292      [V309,T191] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V308 tmp291      [V308,T189] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V309 tmp292      [V309,T190] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V310 cse0        [V310,T36] (  3,  2.28)     ref  ->  [rbp-0x230]  spill-single-def "CSE #17: conservative"
 ;  V311 cse1        [V311,T146] (  3,  0.01)   byref  ->  [rbp-0x238]  spill-single-def "CSE #09: conservative"
 ;  V312 cse2        [V312,T145] (  3,  0.01)    long  ->  rdx         "CSE #08: conservative"
@@ -343,7 +343,7 @@
 ;  V331 rat9        [V331,T23] (  5,  3.66)     ref  ->  rax         "replacement local"
 ;  V332 rat10       [V332,T24] (  4,  3.66)     ref  ->  rcx         "replacement local"
 ;  V333 rat11       [V333,T112] (  3,  1.05)    long  ->  rax         "CSE for expectedClsNode"
-;  V334 rat12       [V334,T178] (  3,  0   )     int  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
+;  V334 rat12       [V334,T177] (  3,  0   )     int  ->  rdx         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 568
 
@@ -2014,12 +2014,9 @@ G_M55359_IG133:        ; bbWeight=0, gcVars=000000000000000000000800800000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M55359_IG135
-						;; size=90 bbWeight=0 PerfScore 0.00
+						;; size=82 bbWeight=0 PerfScore 0.00
 G_M55359_IG134:        ; bbWeight=0, gcVars=000000000000000000000801000000000000000002000000000000020E200000 {V02 V07 V09 V10 V104 V126 V129 V321}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V127}
        mov      rcx, gword ptr [rbp-0x1B0]
@@ -2651,7 +2648,7 @@ G_M55359_IG177:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        mov      rax, gword ptr [rbp-0x148]
        ; gcrRegs +[rax]
 						;; size=139 bbWeight=0 PerfScore 0.00
-G_M55359_IG178:        ; bbWeight=0, gcVars=0000000000000000001000000000000000000000000000000000000208208041 {V00 V02 V03 V04 V07 V09 V21}, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, gcvars, byref
+G_M55359_IG178:        ; bbWeight=0, gcVars=0000000000000000000800000000000000000000000000000000000208208041 {V00 V02 V03 V04 V07 V09 V21}, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V26}
        mov      rdx, rax
        ; gcrRegs +[rdx]
@@ -2752,16 +2749,16 @@ G_M55359_IG181:        ; bbWeight=0, gcVars=000000000000000000000000300000000000
        ; gcrRegs +[rax]
        jmp      SHORT G_M55359_IG180
 						;; size=9 bbWeight=0 PerfScore 0.00
-G_M55359_IG182:        ; bbWeight=0, gcVars=0000000000000000001000000000000000000000000000000000000208208041 {V00 V02 V03 V04 V07 V09 V21}, gcrefRegs=0100 {r8}, byrefRegs=0000 {}, gcvars, byref
+G_M55359_IG182:        ; bbWeight=0, gcVars=0000000000000000000800000000000000000000000000000000000208208041 {V00 V02 V03 V04 V07 V09 V21}, gcrefRegs=0100 {r8}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax r15] +[r8]
-       ; GC ptr vars -{V14 V16} +{V00 V04 V21 V180}
+       ; GC ptr vars -{V14 V16} +{V00 V04 V21 V179}
        mov      rax, gword ptr [rbp-0x148]
        ; gcrRegs +[rax]
        jmp      G_M55359_IG178
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M55359_IG183:        ; bbWeight=0, gcVars=0000000000000000000000001000000000000000000000000000000008208041 {V00 V02 V03 V04 V07 V14}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax r8]
-       ; GC ptr vars -{V09 V21 V180} +{V14 V156}
+       ; GC ptr vars -{V09 V21 V179} +{V14 V156}
        mov      rcx, gword ptr [rbp-0x138]
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -2946,7 +2943,7 @@ G_M55359_IG198:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 6451, prolog size 72, PerfScore 381.79, instruction count 1292, allocated bytes for code 6451 (MethodHash=54e927c0) for method System.Composition.TypedParts.ContractHelpers:GetImportInfo(System.Type,System.Object[],System.Object):System.Composition.TypedParts.ImportInfo (Tier1)
+; Total bytes of code 6443, prolog size 72, PerfScore 381.79, instruction count 1289, allocated bytes for code 6443 (MethodHash=54e927c0) for method System.Composition.TypedParts.ContractHelpers:GetImportInfo(System.Type,System.Object[],System.Object):System.Composition.TypedParts.ImportInfo (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.13%) : 695252.dasm - Xunit.Sdk.TypeUtility:ResolveMethodArguments(System.Reflection.MethodBase,System.Object[]):System.Object[] (Tier1)
@@ -18,7 +18,7 @@
 ;  V06 loc4         [V06,T75] (  4,  1.95)     int  ->  rdi        
 ;  V07 loc5         [V07,T65] (  7,  2.07)     int  ->  rbx         single-def
 ;  V08 loc6         [V08,T154] (  4,  0   )     ref  ->  r15         class-hnd single-def <System.Type>
-;  V09 loc7         [V09,T187] (  2,  0   )     ref  ->  rax         class-hnd single-def <System.Array>
+;  V09 loc7         [V09,T186] (  2,  0   )     ref  ->  rax         class-hnd single-def <System.Array>
 ;  V10 loc8         [V10,T181] (  3,  0   )     int  ->  rdi         single-def
 ;  V11 loc9         [V11,T155] (  4,  0   )     ref  ->  r15         class-hnd single-def <System.Array>
 ;* V12 loc10        [V12,T101] (  0,  0   )     int  ->  zero-ref   
@@ -38,11 +38,11 @@
 ;* V26 tmp11        [V26    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V27 tmp12        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V28 tmp13        [V28,T167] (  3,  0.00)     ref  ->  r15         class-hnd exact single-def "NewArr temp" <System.Object[]>
-;  V29 tmp14        [V29,T188] (  2,  0.00)     ref  ->  rsi         class-hnd single-def "impAppendStmt" <<unknown class>>
-;  V30 tmp15        [V30,T189] (  2,  0.00)     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+;  V29 tmp14        [V29,T187] (  2,  0.00)     ref  ->  rsi         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V30 tmp15        [V30,T188] (  2,  0.00)     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
 ;  V31 tmp16        [V31,T168] (  3,  0.00)     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V32 tmp17        [V32,T182] (  3,  0   )     int  ->  rcx         "Strict ordering of exceptions for Array store"
-;  V33 tmp18        [V33,T190] (  2,  0   )     ref  ->  rdx         class-hnd single-def "Strict ordering of exceptions for Array store" <System.Object>
+;  V33 tmp18        [V33,T189] (  2,  0   )     ref  ->  rdx         class-hnd single-def "Strict ordering of exceptions for Array store" <System.Object>
 ;* V34 tmp19        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <int[]>
 ;  V35 tmp20        [V35,T135] (  5,  0.00)     ref  ->  rsi         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ParameterInfo,bool]>
 ;  V36 tmp21        [V36,T66] (  4,  2.00)     ref  ->  r14         "guarded devirt return temp"
@@ -65,14 +65,14 @@
 ;  V53 tmp38        [V53,T129] (  4,  0.00)     ref  ->   r8        
 ;* V54 tmp39        [V54    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V55 tmp40        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V56 tmp41        [V56,T201] (  2,  0   )     int  ->  r15         single-def
+;  V56 tmp41        [V56,T200] (  2,  0   )     int  ->  r15         single-def
 ;* V57 tmp42        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V58 tmp43        [V58    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V59 tmp44        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V60 tmp45        [V60    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V61 tmp46        [V61    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V62 tmp47        [V62    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V63 tmp48        [V63,T202] (  2,  0   )     int  ->   r9         single-def
+;  V63 tmp48        [V63,T201] (  2,  0   )     int  ->   r9         single-def
 ;  V64 tmp49        [V64,T24] (  5,  7.81)     int  ->  rbx         "Inlining Arg"
 ;  V65 tmp50        [V65,T33] (  6,  5.86)    long  ->  r15         single-def "Inline stloc first use temp"
 ;  V66 tmp51        [V66,T73] (  3,  1.95)    long  ->   r8         single-def "Inline stloc first use temp"
@@ -92,7 +92,7 @@
 ;* V80 tmp65        [V80    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
 ;* V81 tmp66        [V81    ] (  0,  0   )     ref  ->  zero-ref    "guarded devirt return temp"
 ;* V82 tmp67        [V82    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-;  V83 tmp68        [V83,T203] (  2,  0   )     int  ->  rax         "guarded devirt return temp"
+;  V83 tmp68        [V83,T202] (  2,  0   )     int  ->  rax         "guarded devirt return temp"
 ;* V84 tmp69        [V84    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeMethodInfo>
 ;  V85 tmp70        [V85,T171] (  3,  0   )     ref  ->  rax         "guarded devirt return temp"
 ;* V86 tmp71        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt arg temp" <System.RuntimeType>
@@ -101,11 +101,11 @@
 ;* V89 tmp74        [V89,T98] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
 ;  V90 tmp75        [V90,T54] (  6,  3.27)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;  V91 tmp76        [V91,T68] (  4,  2.00)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.RuntimeType>
-;  V92 tmp77        [V92,T142] (  3,  0.00)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Type[]>
+;  V92 tmp77        [V92,T143] (  3,  0.00)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Type[]>
 ;  V93 tmp78        [V93,T138] (  6,  0.00)     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V94 tmp79        [V94,T208] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V95 tmp80        [V95,T139] (  5,  0.00)     ref  ->  [rbp-0x120]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V96 tmp81        [V96,T183] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V96 tmp81        [V96,T203] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V97 tmp82        [V97    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V98 tmp83        [V98,T69] (  2,  2.00)     int  ->  rcx        
 ;* V99 tmp84        [V99    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -227,12 +227,12 @@
 ;* V215 tmp200      [V215    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
 ;  V216 tmp201      [V216,T176] (  3,  0   )     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Type[]>
 ;  V217 tmp202      [V217,T164] (  4,  0   )     int  ->  rdx         "Inline stloc first use temp"
-;  V218 tmp203      [V218,T145] (  2,  0.00)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Xunit.Sdk.TypeUtility+<>c>
+;  V218 tmp203      [V218,T140] (  2,  0.00)     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Xunit.Sdk.TypeUtility+<>c>
 ;* V219 tmp204      [V219    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V220 tmp205      [V220    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V221 tmp206      [V221,T50] (  7,  3.64)     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Func`2[System.Reflection.ParameterInfo,bool]>
 ;  V222 tmp207      [V222,T16] (  9, 13.59)     int  ->  rdi         "Inline stloc first use temp"
-;  V223 tmp208      [V223,T184] (  3,  0   )  struct (16) [rbp-0x70]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
+;  V223 tmp208      [V223,T183] (  3,  0   )  struct (16) [rbp-0x70]  do-not-enreg[DAS] must-init defined-via-address ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
 ;  V224 tmp209      [V224,T148] (  6,  0.00)     ref  ->  [rbp-0x150]  class-hnd EH-live single-def "Inline stloc first use temp" <<unknown class>>
 ;* V225 tmp210      [V225    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Reflection.ParameterInfo>
 ;* V226 tmp211      [V226    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
@@ -253,12 +253,12 @@
 ;* V241 tmp226      [V241    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V242 tmp227      [V242    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V243 tmp228      [V243    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V244 tmp229      [V244,T191] (  2,  0   )   byref  ->  r12         single-def "Inlining Arg"
+;  V244 tmp229      [V244,T190] (  2,  0   )   byref  ->  r12         single-def "Inlining Arg"
 ;* V245 tmp230      [V245    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V246 tmp231      [V246    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V247 tmp232      [V247,T19] (  6, 10.74)     int  ->  rax         "guarded devirt return temp"
 ;* V248 tmp233      [V248    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-;  V249 tmp234      [V249,T192] (  2,  0   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
+;  V249 tmp234      [V249,T191] (  2,  0   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
 ;* V250 tmp235      [V250    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
 ;* V251 tmp236      [V251    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V252 tmp237      [V252,T115] (  4,  0.12)     ref  ->  [rbp-0x158]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
@@ -267,7 +267,7 @@
 ;* V255 tmp240      [V255    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V256 tmp241      [V256    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V257 tmp242      [V257    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V258 tmp243      [V258,T193] (  2,  0   )     ref  ->  rax         class-hnd "dup spill" <System.Object>
+;  V258 tmp243      [V258,T192] (  2,  0   )     ref  ->  rax         class-hnd "dup spill" <System.Object>
 ;  V259 tmp244      [V259,T161] (  4,  0   )     ref  ->  rdx        
 ;  V260 tmp245      [V260,T09] (  3, 20.60)     ref  ->  [rbp-0x160]  class-hnd exact spill-single-def "Inlining Arg" <System.RuntimeType>
 ;  V261 tmp246      [V261,T03] (  6, 30.89)     ref  ->  rcx         class-hnd "impAppendStmt" <System.Reflection.TypeInfo>
@@ -304,7 +304,7 @@
 ;* V292 tmp277      [V292    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V203._reference (fldOffset=0x0)" P-INDEP
 ;* V293 tmp278      [V293    ] (  0,  0   )     int  ->  zero-ref    single-def "field V203._length (fldOffset=0x8)" P-INDEP
 ;  V294 tmp279      [V294,T178] (  3,  0   )   byref  ->  rcx         "field V215._reference (fldOffset=0x0)" P-INDEP
-;  V295 tmp280      [V295,T185] (  3,  0   )     int  ->  rdx         "field V215._length (fldOffset=0x8)" P-INDEP
+;  V295 tmp280      [V295,T184] (  3,  0   )     int  ->  rdx         "field V215._length (fldOffset=0x8)" P-INDEP
 ;  V296 tmp281      [V296,T29] (  3,  6.35)   byref  ->  r13         single-def "field V226._reference (fldOffset=0x0)" P-INDEP
 ;  V297 tmp282      [V297,T61] (  4,  2.78)     int  ->  r12         single-def "field V226._length (fldOffset=0x8)" P-INDEP
 ;* V298 tmp283      [V298    ] (  0,  0   )   byref  ->  zero-ref    "field V233._reference (fldOffset=0x0)" P-INDEP
@@ -320,24 +320,24 @@
 ;  V308 tmp293      [V308,T74] (  4,  1.95)   byref  ->  r13         "V223.[000..008)"
 ;  V309 tmp294      [V309,T76] (  4,  1.95)     int  ->  r12         "V223.[008..012)"
 ;  V310 tmp295      [V310,T53] (  2,  3.36)    long  ->  rax         "Cast away GC"
-;  V311 tmp296      [V311,T194] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V311 tmp296      [V311,T193] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V312 tmp297      [V312,T118] (  2,  0.10)     ref  ->  rdx         single-def "argument with side effect"
 ;* V313 tmp298      [V313    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V314 tmp299      [V314    ] (  2,  3.90)  struct (16) [rbp-0xB8]  do-not-enreg[XS] addr-exposed "by-value struct argument" <System.Runtime.CompilerServices.QCallTypeHandle>
 ;  V315 tmp300      [V315,T130] (  3,  0.00)     ref  ->  rax         single-def "argument with side effect"
 ;  V316 tmp301      [V316,T206] (  2,  0   )    long  ->  rdx         "argument with side effect"
-;  V317 tmp302      [V317,T195] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V318 tmp303      [V318,T196] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V317 tmp302      [V317,T194] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V318 tmp303      [V318,T195] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V319 tmp304      [V319    ] (  3,  0   )  struct (16) [rbp-0xC8]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Span`1[System.Reflection.ParameterInfo]>
-;  V320 tmp305      [V320,T197] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V320 tmp305      [V320,T196] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V321 tmp306      [V321,T179] (  3,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V322 tmp307      [V322,T180] (  3,  0   )     ref  ->  rax         single-def "argument with side effect"
 ;  V323 tmp308      [V323,T207] (  2,  0   )     int  ->  rdx         "argument with side effect"
-;  V324 tmp309      [V324,T198] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
-;  V325 tmp310      [V325,T199] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V324 tmp309      [V324,T197] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
+;  V325 tmp310      [V325,T198] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V326 tmp311      [V326,T112] (  3,  0.24)     ref  ->  rax         "arr expr"
 ;  V327 tmp312      [V327,T113] (  3,  0.24)     int  ->  rcx         "index expr"
-;  V328 tmp313      [V328,T200] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V328 tmp313      [V328,T199] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;* V329 tmp314      [V329    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V330 cse0        [V330,T26] (  2,  7.14)     int  ->  r15         hoist "CSE #54: conservative"
 ;  V331 cse1        [V331,T57] (  6,  2.92)    long  ->  rdi         "CSE #17: conservative"
@@ -352,9 +352,9 @@
 ;  V340 cse10       [V340,T15] ( 19, 15.04)     int  ->  registers   multi-def "CSE #03: moderate"
 ;  V341 cse11       [V341,T05] ( 20, 28.03)    long  ->  [rbp-0xE0]  multi-def "CSE #13: aggressive"
 ;  V342 cse12       [V342,T124] (  4,  0.05)    long  ->  rcx         multi-def "CSE #11: conservative"
-;  V343 cse13       [V343,T143] (  3,  0.00)     ref  ->  r15         "CSE #08: conservative"
-;  V344 rat0        [V344,T140] (  4,  0.00)   byref  ->  [rbp-0x170]  "Strength reduced derived IV"
-;  V345 rat1        [V345,T141] (  4,  0.00)     int  ->  r12         "Trip count IV"
+;  V343 cse13       [V343,T144] (  3,  0.00)     ref  ->  r15         "CSE #08: conservative"
+;  V344 rat0        [V344,T141] (  4,  0.00)   byref  ->  [rbp-0x170]  "Strength reduced derived IV"
+;  V345 rat1        [V345,T142] (  4,  0.00)     int  ->  r12         "Trip count IV"
 ;  V346 rat2        [V346,T104] (  4,  0.97)    long  ->  [rbp-0xE8]  "Strength reduced derived IV"
 ;  V347 rat3        [V347,T46] (  4,  3.90)     int  ->  [rbp-0xEC]  "Trip count IV"
 ;  V348 rat4        [V348,T149] (  6,  0   )    long  ->  rdi         "Widened IV V126"
@@ -365,9 +365,9 @@
 ;  V353 rat9        [V353,T11] (  4, 16.89)    long  ->  rsi         "Strength reduced derived IV"
 ;  V354 rat10       [V354,T12] (  4, 16.89)     int  ->  r12         "Trip count IV"
 ;  V355 rat11       [V355,T00] ( 10, 48.64)    long  ->  rdi         "Widened IV V12"
-;  V356 rat12       [V356,T144] (  3,  0.00)     ref  ->  rdx         "Spilling to split statement for tree"
+;  V356 rat12       [V356,T145] (  3,  0.00)     ref  ->  rdx         "Spilling to split statement for tree"
 ;  V357 rat13       [V357,T137] (  4,  0.00)     ref  ->   r8         "replacement local"
-;  V358 rat14       [V358,T186] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
+;  V358 rat14       [V358,T185] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V359 rat15       [V359,T27] (  5,  6.82)     ref  ->  rbx         "replacement local"
 ;  V360 rat16       [V360,T126] (  4,  0.01)     ref  ->  rdi         "replacement local"
 ;  V361 rat17       [V361,T133] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
@@ -1427,7 +1427,7 @@ G_M23118_IG109:        ; bbWeight=0.00, gcrefRegs=A088 {rbx rdi r13 r15}, byrefR
        test     r8, r8
        je       SHORT G_M23118_IG112
 						;; size=18 bbWeight=0.00 PerfScore 0.00
-G_M23118_IG110:        ; bbWeight=0.00, gcVars=0000000000000000000000000000100000000000000000000000000000020440 {V01 V02 V71 V344}, gcrefRegs=A18C {rdx rbx rdi r8 r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M23118_IG110:        ; bbWeight=0.00, gcVars=0000000000000000000000000000200000000000000000000000000000020440 {V01 V02 V71 V344}, gcrefRegs=A18C {rdx rbx rdi r8 r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; byrRegs -[rax]
        ; GC ptr vars -{V06 V10}
        mov      rcx, 0xD1FFAB1E      ; System.RuntimeType
@@ -1442,7 +1442,7 @@ G_M23118_IG111:        ; bbWeight=0, gcVars=000000000000000000000000000000000000
        ; gcr arg pop 0
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M23118_IG112:        ; bbWeight=0.00, gcVars=0000000000000000000000000000100000000000000000000000000000020440 {V01 V02 V71 V344}, gcrefRegs=A188 {rbx rdi r8 r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M23118_IG112:        ; bbWeight=0.00, gcVars=0000000000000000000000000000200000000000000000000000000000020440 {V01 V02 V71 V344}, gcrefRegs=A188 {rbx rdi r8 r13 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rbx rdi r8 r13 r15]
        ; GC ptr vars +{V01 V02 V06 V10 V71 V344}
        mov      rdx, r8
@@ -1475,18 +1475,15 @@ G_M23118_IG113:        ; bbWeight=0, gcrefRegs=A088 {rbx rdi r13 r15}, byrefRegs
        call     [rax]System.RuntimeType:get_GenericParameterAttributes():int:this
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M23118_IG115
-						;; size=31 bbWeight=0 PerfScore 0.00
+						;; size=23 bbWeight=0 PerfScore 0.00
 G_M23118_IG114:        ; bbWeight=0.00, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rbp-0x120]
        ; gcrRegs +[r13]
 						;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M23118_IG115:        ; bbWeight=0.00, gcVars=0000000000000000000000000000100000000000000000000000000000020440 {V01 V02 V71 V344}, gcrefRegs=A088 {rbx rdi r13 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M23118_IG115:        ; bbWeight=0.00, gcVars=0000000000000000000000000000200000000000000000000000000000020440 {V01 V02 V71 V344}, gcrefRegs=A088 {rbx rdi r13 r15}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V95}
        mov      rax, bword ptr [rbp-0x170]
        ; byrRegs +[rax]
@@ -3063,7 +3060,7 @@ G_M23118_IG224:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 6104, prolog size 74, PerfScore 621.30, instruction count 1360, allocated bytes for code 6104 (MethodHash=5019a5b1) for method Xunit.Sdk.TypeUtility:ResolveMethodArguments(System.Reflection.MethodBase,System.Object[]):System.Object[] (Tier1)
+; Total bytes of code 6096, prolog size 74, PerfScore 621.30, instruction count 1357, allocated bytes for code 6096 (MethodHash=5019a5b1) for method Xunit.Sdk.TypeUtility:ResolveMethodArguments(System.Reflection.MethodBase,System.Object[]):System.Object[] (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.21%) : 77749.dasm - Xunit.Sdk.ReflectionAttributeInfo+<>c:<GetAttributeUsage>b__12_0(System.Type):System.AttributeUsageAttribute:this (Tier1)
@@ -36,7 +36,7 @@
 ;  V24 tmp22        [V24,T120] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V25 tmp23        [V25,T137] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V26 tmp24        [V26,T121] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V27 tmp25        [V27,T128] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V27 tmp25        [V27,T134] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V28 tmp26        [V28    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V29 tmp27        [V29,T65] (  2,  2   )     int  ->  rcx        
 ;* V30 tmp28        [V30    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -68,7 +68,7 @@
 ;* V56 tmp54        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.RuntimeType>
 ;  V57 tmp55        [V57,T73] (  3,  1.38)     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <System.Object[]>
 ;* V58 tmp56        [V58,T104] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V59 tmp57        [V59,T129] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impAppendStmt" <System.Reflection.RuntimeModule>
+;  V59 tmp57        [V59,T128] (  2,  0   )     ref  ->  rsi         class-hnd exact single-def "impAppendStmt" <System.Reflection.RuntimeModule>
 ;* V60 tmp58        [V60    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;  V61 tmp59        [V61,T123] (  4,  0   )     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <System.Object[]>
 ;* V62 tmp60        [V62    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
@@ -231,20 +231,20 @@
 ;  V219 tmp217      [V219,T54] (  4,  2.07)     ref  ->  rcx         single-def "field V126.m_type (fldOffset=0x0)" P-INDEP
 ;* V220 tmp218      [V220    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V128.m_type (fldOffset=0x0)" P-INDEP
 ;  V221 tmp219      [V221,T25] (  2,  3.18)    long  ->  rax         "Cast away GC"
-;  V222 tmp220      [V222,T130] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V223 tmp221      [V223,T131] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V222 tmp220      [V222,T129] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V223 tmp221      [V223,T130] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V224 tmp222      [V224    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V225 tmp223      [V225    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V226 tmp224      [V226,T132] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V226 tmp224      [V226,T131] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V227 tmp225      [V227    ] (  2,  3.14)  struct (24) [rbp-0x88]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V228 tmp226      [V228,T27] (  2,  3.14)     int  ->   r8         "argument with side effect"
-;  V229 tmp227      [V229,T133] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V229 tmp227      [V229,T132] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;  V230 tmp228      [V230,T114] (  3,  0.15)     ref  ->  rax         single-def "argument with side effect"
 ;  V231 tmp229      [V231,T119] (  3,  0.00)     ref  ->  rax         single-def "argument with side effect"
 ;  V232 tmp230      [V232,T118] (  2,  0.00)     ref  ->   r8         "argument with side effect"
 ;  V233 tmp231      [V233,T136] (  2,  0   )     int  ->  rdx         "argument with side effect"
 ;* V234 tmp232      [V234    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V235 tmp233      [V235,T134] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V235 tmp233      [V235,T133] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V236 tmp234      [V236,T30] (  3,  3.09)     ref  ->  rcx         "arr expr"
 ;  V237 tmp235      [V237,T57] (  2,  2.06)     ref  ->   r8         "argument with side effect"
 ;* V238 tmp236      [V238    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
@@ -1383,12 +1383,9 @@ G_M35716_IG112:        ; bbWeight=0, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M35716_IG114
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M35716_IG113:        ; bbWeight=0, gcrefRegs=20C8 {rbx rsi rdi r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -1930,7 +1927,7 @@ G_M35716_IG163:        ; bbWeight=0.02, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.02 PerfScore 0.02
 
-; Total bytes of code 3781, prolog size 57, PerfScore 257.10, instruction count 814, allocated bytes for code 3781 (MethodHash=c896747b) for method Xunit.Sdk.ReflectionAttributeInfo+<>c:<GetAttributeUsage>b__12_0(System.Type):System.AttributeUsageAttribute:this (Tier1)
+; Total bytes of code 3773, prolog size 57, PerfScore 257.10, instruction count 811, allocated bytes for code 3773 (MethodHash=c896747b) for method Xunit.Sdk.ReflectionAttributeInfo+<>c:<GetAttributeUsage>b__12_0(System.Type):System.AttributeUsageAttribute:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.23%) : 670135.dasm - System.Text.Json.Serialization.Converters.EnumConverter`1[int]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[int][] (Tier1)
@@ -303,7 +303,7 @@
 ;  V291 tmp276      [V291,T117] (  5,  0   )     ref  ->  [rsp+0x58]  class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V292 tmp277      [V292,T131] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V293 tmp278      [V293,T118] (  5,  0   )     ref  ->  [rsp+0x50]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V294 tmp279      [V294,T125] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V294 tmp279      [V294,T127] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V295 tmp280      [V295    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V296 tmp281      [V296,T47] (  2,  4.00)     int  ->  rcx        
 ;* V297 tmp282      [V297    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -449,8 +449,8 @@
 ;  V437 tmp422      [V437,T23] (  2,  6.04)    long  ->  rax         "Cast away GC"
 ;* V438 tmp423      [V438,T130] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;* V439 tmp424      [V439,T81] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V440 tmp425      [V440,T126] (  2,  0   )     ref  ->  rdx         "argument with side effect"
-;  V441 tmp426      [V441,T127] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V440 tmp425      [V440,T125] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V441 tmp426      [V441,T126] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V442 tmp427      [V442    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V443 tmp428      [V443    ] (  6,  3.51)  struct (16) [rsp+0x90]  do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Span`1[char]>
 ;  V444 cse0        [V444,T59] (  2,  3.17)     int  ->   r8         "CSE #32: conservative"
@@ -1655,12 +1655,9 @@ G_M47563_IG133:        ; bbWeight=0, gcVars=000000000000000010200000000000000000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M47563_IG135
-						;; size=85 bbWeight=0 PerfScore 0.00
+						;; size=77 bbWeight=0 PerfScore 0.00
 G_M47563_IG134:        ; bbWeight=0, gcVars=000000000000000010400000000000000000000000000000 {V290 V293}, gcrefRegs=70E8 {rbx rbp rsi rdi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V291}
        mov      rcx, gword ptr [rsp+0x50]
@@ -1957,7 +1954,7 @@ G_M47563_IG158:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3498, prolog size 53, PerfScore 434.09, instruction count 713, allocated bytes for code 3498 (MethodHash=fffa4634) for method System.Text.Json.Serialization.Converters.EnumConverter`1[int]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[int][] (Tier1)
+; Total bytes of code 3490, prolog size 53, PerfScore 434.09, instruction count 710, allocated bytes for code 3490 (MethodHash=fffa4634) for method System.Text.Json.Serialization.Converters.EnumConverter`1[int]:ResolveEnumFields(System.Text.Json.JsonNamingPolicy):System.Text.Json.Serialization.Converters.EnumConverter`1+EnumFieldInfo[int][] (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.28%) : 743803.dasm - Xunit.Sdk.XunitTestCaseRunner:get_BeforeAfterAttributes():System.Collections.Generic.IReadOnlyList`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
@@ -53,7 +53,7 @@
 ;  V41 tmp40        [V41,T72] (  6,  0   )     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V42 tmp41        [V42,T97] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V43 tmp42        [V43,T73] (  5,  0   )     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V44 tmp43        [V44,T87] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V44 tmp43        [V44,T96] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V45 tmp44        [V45    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V46 tmp45        [V46,T62] (  2,  1.42)     int  ->  rcx        
 ;* V47 tmp46        [V47    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -159,20 +159,20 @@
 ;  V147 tmp146      [V147    ] (  3,  1.42)     ref  ->  [rsp+0x58]  do-not-enreg[X] addr-exposed "field V132._item (fldOffset=0x8)" P-DEP
 ;  V148 tmp147      [V148    ] (  6,  2.85)     int  ->  [rsp+0x60]  do-not-enreg[X] addr-exposed "field V132._count (fldOffset=0x10)" P-DEP
 ;  V149 tmp148      [V149    ] (  3,  1.42)     int  ->  [rsp+0x64]  do-not-enreg[X] addr-exposed "field V132._capacity (fldOffset=0x14)" P-DEP
-;  V150 tmp149      [V150,T88] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V150 tmp149      [V150,T87] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V151 tmp150      [V151,T28] (  2,  2.85)    long  ->  rax         "Cast away GC"
-;  V152 tmp151      [V152,T89] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V152 tmp151      [V152,T88] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V153 tmp152      [V153    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V154 tmp153      [V154,T90] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V155 tmp154      [V155,T91] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V154 tmp153      [V154,T89] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V155 tmp154      [V155,T90] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
 ;* V156 tmp155      [V156    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V157 tmp156      [V157,T92] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V158 tmp157      [V158,T93] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V159 tmp158      [V159,T94] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V160 tmp159      [V160,T95] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V157 tmp156      [V157,T91] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V158 tmp157      [V158,T92] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V159 tmp158      [V159,T93] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V160 tmp159      [V160,T94] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V161 tmp160      [V161,T27] (  2,  2.85)     ref  ->  rdx         single-def "argument with side effect"
 ;* V162 tmp161      [V162    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V163 tmp162      [V163,T96] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V163 tmp162      [V163,T95] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V164 cse0        [V164,T03] ( 17,  4.98)     ref  ->  rbp         multi-def "CSE #01: aggressive"
 ;  V165 cse1        [V165,T04] (  9,  6.40)    long  ->  registers   multi-def "CSE #06: aggressive"
 ;  V166 rat0        [V166,T74] (  5,  0   )    long  ->  r13         "Widened IV V42"
@@ -885,12 +885,9 @@ G_M8802_IG64:        ; bbWeight=0, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, byr
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M8802_IG66
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M8802_IG65:        ; bbWeight=0, gcrefRegs=50E8 {rbx rbp rsi rdi r12 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
        mov      r15, r12
@@ -1474,7 +1471,7 @@ G_M8802_IG106:        ; bbWeight=0, gcrefRegs=0049 {rax rbx rsi}, byrefRegs=0000
        jmp      G_M8802_IG47
 						;; size=23 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2889, prolog size 38, PerfScore 177.64, instruction count 641, allocated bytes for code 2889 (MethodHash=7c50dd9d) for method Xunit.Sdk.XunitTestCaseRunner:get_BeforeAfterAttributes():System.Collections.Generic.IReadOnlyList`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
+; Total bytes of code 2881, prolog size 38, PerfScore 177.64, instruction count 638, allocated bytes for code 2881 (MethodHash=7c50dd9d) for method Xunit.Sdk.XunitTestCaseRunner:get_BeforeAfterAttributes():System.Collections.Generic.IReadOnlyList`1[Xunit.Sdk.BeforeAfterTestAttribute]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.28%) : 438959.dasm - Xunit.Internal.ArgumentFormatter:IsAnonymousType(System.Reflection.TypeInfo):bool (Tier1)
@@ -33,7 +33,7 @@
 ;  V21 tmp20        [V21,T93] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V22 tmp21        [V22,T107] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V23 tmp22        [V23,T94] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V24 tmp23        [V24,T100] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V24 tmp23        [V24,T103] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V25 tmp24        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V26 tmp25        [V26,T20] (  2,  2   )     int  ->  rcx        
 ;* V27 tmp26        [V27    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -65,7 +65,7 @@
 ;* V53 tmp52        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.RuntimeType>
 ;  V54 tmp53        [V54,T54] (  3,  0.79)     ref  ->  rbp         class-hnd single-def "Inline stloc first use temp" <System.Object[]>
 ;* V55 tmp54        [V55,T75] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V56 tmp55        [V56,T101] (  2,  0   )     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Reflection.RuntimeModule>
+;  V56 tmp55        [V56,T100] (  2,  0   )     ref  ->  rbp         class-hnd exact single-def "impAppendStmt" <System.Reflection.RuntimeModule>
 ;* V57 tmp56        [V57    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;  V58 tmp57        [V58,T96] (  4,  0   )     ref  ->  rbp         class-hnd single-def "Inline stloc first use temp" <System.Object[]>
 ;* V59 tmp58        [V59    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
@@ -198,10 +198,10 @@
 ;  V186 tmp185      [V186,T14] (  2,  2.45)     ref  ->  rdx         single-def "argument with side effect"
 ;* V187 tmp186      [V187    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V188 tmp187      [V188    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V189 tmp188      [V189,T102] (  2,  0   )     ref  ->   r8         "argument with side effect"
+;  V189 tmp188      [V189,T101] (  2,  0   )     ref  ->   r8         "argument with side effect"
 ;  V190 tmp189      [V190    ] (  2,  1.89)  struct (24) [rsp+0x50]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.RuntimeType+ListBuilder`1[System.Object]>
 ;  V191 tmp190      [V191,T23] (  2,  1.89)     int  ->   r8         "argument with side effect"
-;  V192 tmp191      [V192,T103] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
+;  V192 tmp191      [V192,T102] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;  V193 tmp192      [V193,T86] (  3,  0.04)     ref  ->  rax         single-def "argument with side effect"
 ;  V194 tmp193      [V194,T85] (  3,  0.04)     ref  ->  rax         single-def "argument with side effect"
 ;  V195 tmp194      [V195,T104] (  2,  0   )     int  ->  rdx         "argument with side effect"
@@ -874,12 +874,9 @@ G_M15962_IG68:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M15962_IG70
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M15962_IG69:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -1469,7 +1466,7 @@ G_M15962_IG123:        ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2811, prolog size 51, PerfScore 128.59, instruction count 630, allocated bytes for code 2811 (MethodHash=36a8c1a5) for method Xunit.Internal.ArgumentFormatter:IsAnonymousType(System.Reflection.TypeInfo):bool (Tier1)
+; Total bytes of code 2803, prolog size 51, PerfScore 128.59, instruction count 627, allocated bytes for code 2803 (MethodHash=36a8c1a5) for method Xunit.Internal.ArgumentFormatter:IsAnonymousType(System.Reflection.TypeInfo):bool (Tier1)
 ; ============================================================
 
 Unwind Info:
-20 (-0.36%) : 262826.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
@@ -27,7 +27,7 @@
 ;* V15 loc13        [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;  V16 loc14        [V16,T71] (  2,  5.01)     int  ->  r12        
 ;  V17 loc15        [V17,T02] ( 10,195.63)    long  ->  [rbp+0x180]  ld-addr-op
-;  V18 loc16        [V18,T01] ( 11,230.04)     int  ->  [rbp+0x17C] 
+;  V18 loc16        [V18,T01] ( 10,227.37)     int  ->  [rbp+0x17C] 
 ;  V19 loc17        [V19,T10] (  3, 90.07)     int  ->  [rbp+0x178] 
 ;  V20 loc18        [V20,T16] (  4, 67.92)   ubyte  ->  r10        
 ;  V21 loc19        [V21,T24] (  6, 45.28)     int  ->  [rbp+0x174]  ptr
@@ -1160,15 +1160,9 @@ G_M27271_IG83:        ; bbWeight=10.22, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008
        jmp      G_M27271_IG28
 						;; size=14 bbWeight=10.22 PerfScore 33.23
 G_M27271_IG84:        ; bbWeight=2.68, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
-       mov      eax, dword ptr [rbp+0x17C]
-       mov      ecx, eax
-       and      ecx, 0x400
-       mov      dword ptr [rbp+0x17C], eax
-       mov      r10d, eax
-       and      r10d, 64
-       or       ecx, r10d
+       test     dword ptr [rbp+0x17C], 0x440
        je       G_M27271_IG178
-						;; size=36 bbWeight=2.68 PerfScore 11.38
+						;; size=16 bbWeight=2.68 PerfScore 5.36
 G_M27271_IG85:        ; bbWeight=2.68, gcrefRegs=00C0 {rsi rdi}, byrefRegs=4008 {rbx r14}, byref
        cmp      r9d, r15d
        jae      G_M27271_IG202
@@ -2368,7 +2362,7 @@ G_M27271_IG202:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 5581, prolog size 99, PerfScore 4686.08, instruction count 1127, allocated bytes for code 5596 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
+; Total bytes of code 5561, prolog size 99, PerfScore 4680.05, instruction count 1121, allocated bytes for code 5576 (MethodHash=20c79578) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.41%) : 191643.dasm - (dynamicClass):Invoker(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object (FullOpts)
@@ -24,7 +24,7 @@
 ;  V11 tmp7         [V11,T60] (  6,  0   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V12 tmp8         [V12,T69] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T61] (  5,  0   )     ref  ->  [rbp-0xA0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
-;  V14 tmp10        [V14,T65] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T68] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V16 tmp12        [V16,T45] (  2,  2   )     int  ->  rcx        
 ;* V17 tmp13        [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -118,9 +118,9 @@
 ;  V105 tmp101      [V105    ] (  8,  5.50)     int  ->  [rbp-0x78]  do-not-enreg[X] addr-exposed "field V52._count (fldOffset=0x10)" P-DEP
 ;  V106 tmp102      [V106    ] (  8,  2.32)     int  ->  [rbp-0x74]  do-not-enreg[X] addr-exposed "field V52._capacity (fldOffset=0x14)" P-DEP
 ;  V107 tmp103      [V107,T26] (  2,  3.28)    long  ->  rax         "Cast away GC"
-;  V108 tmp104      [V108,T66] (  2,  0   )     ref  ->  rcx         "argument with side effect"
-;  V109 tmp105      [V109,T67] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V110 tmp106      [V110,T68] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V108 tmp104      [V108,T65] (  2,  0   )     ref  ->  rcx         "argument with side effect"
+;  V109 tmp105      [V109,T66] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V110 tmp106      [V110,T67] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V111 tmp107      [V111,T14] (  2,  3.96)   byref  ->  r13         single-def "argument with side effect"
 ;  V112 tmp108      [V112,T15] (  2,  3.96)   byref  ->  r12         single-def "argument with side effect"
 ;  V113 tmp109      [V113,T16] (  2,  3.96)   byref  ->  [rbp-0xB0]  spill-single-def "argument with side effect"
@@ -789,12 +789,9 @@ G_M59934_IG52:        ; bbWeight=0, gcrefRegs=E0C8 {rbx rsi rdi r13 r14 r15}, by
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M59934_IG54
-						;; size=83 bbWeight=0 PerfScore 0.00
+						;; size=75 bbWeight=0 PerfScore 0.00
 G_M59934_IG53:        ; bbWeight=0, gcrefRegs=C0C8 {rbx rsi rdi r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        mov      r13, gword ptr [rbp-0xA0]
@@ -1006,7 +1003,7 @@ G_M59934_IG73:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1959, prolog size 63, PerfScore 194.89, instruction count 429, allocated bytes for code 1959 (MethodHash=140915e1) for method (dynamicClass):Invoker(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object (FullOpts)
+; Total bytes of code 1951, prolog size 63, PerfScore 194.89, instruction count 426, allocated bytes for code 1951 (MethodHash=140915e1) for method (dynamicClass):Invoker(System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[]):System.Object (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-0.44%) : 380057.dasm - System.Uri:ParseRemaining():this (Tier1)
@@ -13,7 +13,7 @@
 ;  V01 loc0         [V01,T00] ( 74, 28.99)    long  ->  rsi        
 ;  V02 loc1         [V02,T13] ( 12,  6.93)     ref  ->  rdi         class-hnd exact single-def <System.String>
 ;  V03 loc2         [V03,T16] (  9,  6.35)     int  ->  r15        
-;  V04 loc3         [V04,T08] ( 12,  8.18)     int  ->  r13        
+;  V04 loc3         [V04,T10] ( 11,  7.18)     int  ->  r13        
 ;  V05 loc4         [V05,T34] (  5,  2.23)   ubyte  ->  [rbp-0x3C]  spill-single-def
 ;  V06 loc5         [V06,T05] ( 27, 12.84)     int  ->  [rbp-0x40] 
 ;* V07 loc6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[char]>
@@ -52,7 +52,7 @@
 ;* V40 tmp14        [V40    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V41 tmp15        [V41,T11] (  4,  7.02)  ushort  ->  rdx         "Inlining Arg"
 ;* V42 tmp16        [V42    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[char]>
-;  V43 tmp17        [V43,T09] (  4,  8   )     int  ->  rcx         "Inlining Arg"
+;  V43 tmp17        [V43,T08] (  4,  8   )     int  ->  rcx         "Inlining Arg"
 ;* V44 tmp18        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[char]>
 ;* V45 tmp19        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[char]>
 ;  V46 tmp20        [V46,T17] (  3,  6   )     int  ->  r12         "Inlining Arg"
@@ -79,7 +79,7 @@
 ;* V67 tmp41        [V67    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V68 tmp42        [V68    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V69 tmp43        [V69    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[char]>
-;  V70 tmp44        [V70,T10] (  4,  8.00)     int  ->  [rbp-0x68]  spill-single-def "Inlining Arg"
+;  V70 tmp44        [V70,T09] (  4,  8.00)     int  ->  [rbp-0x68]  spill-single-def "Inlining Arg"
 ;* V71 tmp45        [V71    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[char]>
 ;* V72 tmp46        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[char]>
 ;  V73 tmp47        [V73,T27] (  2,  4.00)   byref  ->  [rbp-0xC8]  spill-single-def "Inlining Arg"
@@ -541,13 +541,9 @@ G_M48529_IG37:        ; bbWeight=1.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
        mov      r8, 0xD1FFAB1E
        test     rsi, r8
        je       SHORT G_M48529_IG38
-       mov      r8d, r13d
-       and      r8d, 0xD1FFAB1E
-       mov      r10d, r13d
-       and      r10d, 0xD1FFAB1E
-       or       r8d, r10d
+       test     r13d, 0xD1FFAB1E
        jne      G_M48529_IG53
-						;; size=81 bbWeight=1.00 PerfScore 6.75
+						;; size=65 bbWeight=1.00 PerfScore 5.75
 G_M48529_IG38:        ; bbWeight=0.52, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        test     dl, 16
        je       G_M48529_IG57
@@ -1474,7 +1470,7 @@ G_M48529_IG135:        ; bbWeight=0.00, funclet epilog, nogc, extend
        ret      
 						;; size=5 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 3662, prolog size 39, PerfScore 302.34, instruction count 836, allocated bytes for code 3662 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (Tier1)
+; Total bytes of code 3646, prolog size 39, PerfScore 301.34, instruction count 832, allocated bytes for code 3646 (MethodHash=7d21426e) for method System.Uri:ParseRemaining():this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.56%) : 53549.dasm - System.Composition.TypedParts.Util.DirectAttributeContext:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (Tier1)
@@ -44,7 +44,7 @@
 ;  V32 tmp29        [V32,T46] (  6,  0   )     ref  ->  rbp         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V33 tmp30        [V33,T55] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V34 tmp31        [V34,T47] (  5,  0   )     ref  ->  r15         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V35 tmp32        [V35,T52] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V35 tmp32        [V35,T54] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V36 tmp33        [V36    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V37 tmp34        [V37,T34] (  2,  1.64)     int  ->  rcx        
 ;* V38 tmp35        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -134,8 +134,8 @@
 ;* V122 tmp119      [V122    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V87.m_type (fldOffset=0x0)" P-INDEP
 ;* V123 tmp120      [V123    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V88.m_type (fldOffset=0x0)" P-INDEP
 ;* V124 tmp121      [V124    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V90.m_type (fldOffset=0x0)" P-INDEP
-;  V125 tmp122      [V125,T53] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V126 tmp123      [V126,T54] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V125 tmp122      [V125,T52] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V126 tmp123      [V126,T53] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V127 tmp124      [V127,T20] (  2,  2.55)    long  ->  rax         "Cast away GC"
 ;* V128 tmp125      [V128    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V129 tmp126      [V129    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
@@ -628,12 +628,9 @@ G_M8729_IG47:        ; bbWeight=0, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M8729_IG49
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M8729_IG48:        ; bbWeight=0, gcrefRegs=80C8 {rbx rsi rdi r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbp]
        mov      rbp, r15
@@ -792,7 +789,7 @@ G_M8729_IG62:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1418, prolog size 40, PerfScore 103.25, instruction count 326, allocated bytes for code 1418 (MethodHash=61dadde6) for method System.Composition.TypedParts.Util.DirectAttributeContext:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (Tier1)
+; Total bytes of code 1410, prolog size 40, PerfScore 103.25, instruction count 323, allocated bytes for code 1410 (MethodHash=61dadde6) for method System.Composition.TypedParts.Util.DirectAttributeContext:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.59%) : 700339.dasm - System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,bool):System.Attribute[] (Tier1)
@@ -41,7 +41,7 @@
 ;  V29 tmp25        [V29,T43] (  6,  0.00)     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V30 tmp26        [V30,T61] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V31 tmp27        [V31,T44] (  5,  0.00)     ref  ->  r12         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V32 tmp28        [V32,T56] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V32 tmp28        [V32,T60] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V33 tmp29        [V33    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V34 tmp30        [V34,T28] (  2,  2   )     int  ->  rcx        
 ;* V35 tmp31        [V35    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -140,13 +140,13 @@
 ;* V128 tmp124      [V128    ] (  0,  0   )    long  ->  zero-ref    "field V93.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V129 tmp125      [V129    ] (  0,  0   )    long  ->  zero-ref    "field V95.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V130 tmp126      [V130    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V97.m_type (fldOffset=0x0)" P-INDEP
-;  V131 tmp127      [V131,T58] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
-;  V132 tmp128      [V132,T59] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V131 tmp127      [V131,T57] (  2,  0   )     ref  ->  rcx         single-def "argument with side effect"
+;  V132 tmp128      [V132,T58] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V133 tmp129      [V133,T14] (  2,  3.36)    long  ->  rax         "Cast away GC"
 ;* V134 tmp130      [V134    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V135 tmp131      [V135    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;* V136 tmp132      [V136    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V137 tmp133      [V137,T60] (  2,  0   )     ref  ->  rdx         "argument with side effect"
+;  V137 tmp133      [V137,T59] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;* V138 tmp134      [V138    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V139 cse0        [V139,T50] (  3,  0.00)     int  ->  r15         "CSE #04: conservative"
 ;  V140 cse1        [V140,T06] ( 13,  3.84)     ref  ->  rbp         multi-def "CSE #02: aggressive"
@@ -158,7 +158,7 @@
 ;  V146 rat3        [V146,T04] (  4,  6   )     ref  ->  rdi         "replacement local"
 ;  V147 rat4        [V147,T49] (  3,  0.00)     ref  ->  rdx         "Spilling to split statement for tree"
 ;  V148 rat5        [V148,T42] (  4,  0.00)     ref  ->  r12         "replacement local"
-;  V149 rat6        [V149,T57] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
+;  V149 rat6        [V149,T56] (  3,  0.00)    long  ->  rcx         "CSE for expectedClsNode"
 ;  V150 rat7        [V150,T02] (  5,  7.00)     ref  ->  r14         "replacement local"
 ;  V151 rat8        [V151,T26] (  3,  2.00)    long  ->  rcx         "CSE for expectedClsNode"
 ;
@@ -543,12 +543,9 @@ G_M17769_IG39:        ; bbWeight=0, gcrefRegs=50A8 {rbx rbp rdi r12 r14}, byrefR
        call     [rax]System.RuntimeType:get_GenericParameterAttributes():int:this
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M17769_IG41
-						;; size=27 bbWeight=0 PerfScore 0.00
+						;; size=19 bbWeight=0 PerfScore 0.00
 G_M17769_IG40:        ; bbWeight=0.00, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=2000 {r13}, byref
        ; gcrRegs -[r14]
        mov      r14, r12
@@ -787,7 +784,7 @@ G_M17769_IG54:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1361, prolog size 38, PerfScore 86.46, instruction count 314, allocated bytes for code 1361 (MethodHash=f911ba96) for method System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,bool):System.Attribute[] (Tier1)
+; Total bytes of code 1353, prolog size 38, PerfScore 86.46, instruction count 311, allocated bytes for code 1353 (MethodHash=f911ba96) for method System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,bool):System.Attribute[] (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-0.64%) : 479271.dasm - System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (Tier1)
@@ -16,13 +16,13 @@
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;  V06 tmp1         [V06,T38] (  3,  0   )     ref  ->  rsi         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V07 tmp2         [V07,T45] (  2,  0   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V07 tmp2         [V07,T44] (  2,  0   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.String>
 ;  V08 tmp3         [V08,T39] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V09 tmp4         [V09,T34] (  5,  0.00)     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V10 tmp5         [V10,T46] (  2,  0.00)     ref  ->  rsi         class-hnd exact single-def "non-inline candidate call" <System.String>
+;  V10 tmp5         [V10,T45] (  2,  0.00)     ref  ->  rsi         class-hnd exact single-def "non-inline candidate call" <System.String>
 ;  V11 tmp6         [V11,T40] (  3,  0.00)     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp8         [V13,T47] (  2,  0.00)     ref  ->  rsi         single-def
+;  V13 tmp8         [V13,T46] (  2,  0.00)     ref  ->  rsi         single-def
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp11        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def
@@ -46,7 +46,7 @@
 ;  V34 tmp29        [V34,T33] (  6,  0   )     ref  ->  r14         class-hnd "Inline stloc first use temp" <System.RuntimeType>
 ;* V35 tmp30        [V35,T52] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V36 tmp31        [V36,T35] (  5,  0   )     ref  ->  r13         class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V37 tmp32        [V37,T43] (  3,  0   )     int  ->  rax         "Inline stloc first use temp"
+;  V37 tmp32        [V37,T50] (  2,  0   )     int  ->  rax         "Inline stloc first use temp"
 ;* V38 tmp33        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V39 tmp34        [V39,T20] (  2,  1   )     int  ->  rax        
 ;* V40 tmp35        [V40    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TypeHandle>
@@ -81,7 +81,7 @@
 ;  V69 tmp64        [V69,T10] (  6,  1.88)     ref  ->  rcx        
 ;  V70 tmp65        [V70,T51] (  2,  0.00)   ubyte  ->  rsi         "Inline return value spill temp"
 ;  V71 tmp66        [V71,T36] (  5,  0.00)     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Reflection.Assembly>
-;  V72 tmp67        [V72,T44] (  3,  0.00)   ubyte  ->  rsi         "guarded devirt return temp"
+;  V72 tmp67        [V72,T43] (  3,  0.00)   ubyte  ->  rsi         "guarded devirt return temp"
 ;* V73 tmp68        [V73    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeAssembly>
 ;* V74 tmp69        [V74    ] (  0,  0   )    long  ->  zero-ref    "field V38.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;* V75 tmp70        [V75,T28] (  0,  0   )    long  ->  zero-ref    "field V40.m_asTAddr (fldOffset=0x0)" P-INDEP
@@ -89,9 +89,9 @@
 ;* V77 tmp72        [V77,T29] (  0,  0   )    long  ->  zero-ref    "field V48.m_asTAddr (fldOffset=0x0)" P-INDEP
 ;  V78 tmp73        [V78,T13] (  2,  1.61)    long  ->  rax         "Cast away GC"
 ;  V79 tmp74        [V79,T32] (  2,  0.03)     ref  ->  rdx         single-def "argument with side effect"
-;  V80 tmp75        [V80,T48] (  2,  0.00)     ref  ->   r8         single-def "argument with side effect"
-;  V81 tmp76        [V81,T49] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
-;  V82 tmp77        [V82,T50] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V80 tmp75        [V80,T47] (  2,  0.00)     ref  ->   r8         single-def "argument with side effect"
+;  V81 tmp76        [V81,T48] (  2,  0.00)     ref  ->  rdx         single-def "argument with side effect"
+;  V82 tmp77        [V82,T49] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;* V83 tmp78        [V83    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V84 cse0         [V84,T16] (  3,  1.47)     int  ->  rcx         "CSE #08: moderate"
 ;  V85 cse1         [V85,T05] (  7,  1.90)     ref  ->  rsi         "CSE #02: aggressive"
@@ -401,12 +401,9 @@ G_M33009_IG30:        ; bbWeight=0, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0008
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M33009_IG32
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M33009_IG31:        ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[r14]
        mov      r14, r13
@@ -749,7 +746,7 @@ G_M33009_IG57:        ; bbWeight=0.00, gcVars=0000000000004001 {V00 V02}, gcrefR
        int3     
 						;; size=77 bbWeight=0.00 PerfScore 0.00
 
-; Total bytes of code 1252, prolog size 26, PerfScore 53.14, instruction count 304, allocated bytes for code 1252 (MethodHash=abb37f0e) for method System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (Tier1)
+; Total bytes of code 1244, prolog size 26, PerfScore 53.14, instruction count 301, allocated bytes for code 1244 (MethodHash=abb37f0e) for method System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (Tier1)
 ; ============================================================
 
 Unwind Info:
-4 (-0.77%) : 26464.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (Instrumented Tier1)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T21] (  4,  8   )   byref  ->  rcx         ld-addr-op single-def
 ;  V01 loc0         [V01,T05] ( 14,254.00)     int  ->  rsi        
-;  V02 loc1         [V02,T02] ( 16,296.00)     int  ->  rdi        
+;  V02 loc1         [V02,T02] ( 15,275.00)     int  ->  rdi        
 ;  V03 loc2         [V03,T03] ( 15,275.00)     int  ->  rbp        
 ;  V04 loc3         [V04,T04] ( 15,275.00)     int  ->  r14        
 ;  V05 loc4         [V05,T07] ( 10,170.00)     int  ->  r15        
@@ -160,13 +160,11 @@ G_M28360_IG09:        ; bbWeight=21, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, by
        mov      rcx, 0xD1FFAB1E
        call     CORINFO_HELP_COUNTPROFILE32
        ; gcr arg pop 0
-       mov      ecx, edi
-       and      ecx, ebp
-       mov      eax, edi
-       and      eax, r14d
-       or       ecx, eax
+       mov      ecx, ebp
+       and      ecx, r14d
        mov      eax, ebp
-       and      eax, r14d
+       or       eax, r14d
+       and      eax, edi
        or       ecx, eax
        mov      eax, esi
        rol      eax, 5
@@ -183,7 +181,7 @@ G_M28360_IG09:        ; bbWeight=21, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, by
        inc      r13d
        cmp      r13d, 60
        jl       SHORT G_M28360_IG09
-						;; size=78 bbWeight=21 PerfScore 225.75
+						;; size=74 bbWeight=21 PerfScore 215.25
 G_M28360_IG10:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        mov      r13d, 60
 						;; size=6 bbWeight=1.00 PerfScore 0.25
@@ -245,7 +243,7 @@ G_M28360_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 522, prolog size 16, PerfScore 1923.50, instruction count 151, allocated bytes for code 522 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (Instrumented Tier1)
+; Total bytes of code 518, prolog size 16, PerfScore 1913.00, instruction count 149, allocated bytes for code 518 (MethodHash=c3689137) for method System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (Instrumented Tier1)
 ; ============================================================
 
 Unwind Info:
-11 (-1.10%) : 416691.dasm - System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int) (Tier1)
@@ -23,15 +23,15 @@
 ;* V11 tmp8         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp9         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp10        [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp11        [V14,T04] (  4,  3.27)     int  ->  rcx         "Inline stloc first use temp"
+;  V14 tmp11        [V14,T09] (  3,  2.27)     int  ->  rcx         "Inline stloc first use temp"
 ;* V15 tmp12        [V15,T19] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp13        [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V17 tmp14        [V17,T05] (  8,  3.22)     int  ->  rcx         "Inline stloc first use temp"
+;  V17 tmp14        [V17,T04] (  8,  3.22)     int  ->  rcx         "Inline stloc first use temp"
 ;  V18 tmp15        [V18,T10] (  8,  2.52)     int  ->  rdx         "Inline stloc first use temp"
 ;  V19 tmp16        [V19,T15] (  3,  1.21)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
-;  V20 tmp17        [V20,T08] (  3,  2.89)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
+;  V20 tmp17        [V20,T07] (  3,  2.89)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V21 tmp18        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V22 tmp19        [V22,T09] (  3,  2.73)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.TaskExceptionHolder>
+;  V22 tmp19        [V22,T08] (  3,  2.73)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.TaskExceptionHolder>
 ;* V23 tmp20        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V24 tmp21        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp22        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
@@ -59,9 +59,9 @@
 ;* V47 tmp44        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskExceptionHolder>
 ;  V48 tmp45        [V48,T22] (  2,  0   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V49 tmp46        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V50 tmp47        [V50,T06] (  3,  3.11)     ref  ->  rcx         single-def "arr expr"
+;  V50 tmp47        [V50,T05] (  3,  3.11)     ref  ->  rcx         single-def "arr expr"
 ;  V51 rat0         [V51,T12] (  3,  1.75)     ref  ->  rdx         "Spilling to split statement for tree"
-;  V52 rat1         [V52,T07] (  5,  2.96)     ref  ->  rax         "replacement local"
+;  V52 rat1         [V52,T06] (  5,  2.96)     ref  ->  rax         "replacement local"
 ;
 ; Lcl frame size = 32
 
@@ -106,13 +106,9 @@ G_M42179_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 						;; size=44 bbWeight=1 PerfScore 7.75
 G_M42179_IG06:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x34]
-       mov      edx, ecx
-       and      edx, 0xD1FFAB1E
-       mov      eax, ecx
-       and      eax, 0xD1FFAB1E
-       or       edx, eax
+       test     ecx, 0xD1FFAB1E
        je       G_M42179_IG21
-						;; size=26 bbWeight=1 PerfScore 4.25
+						;; size=15 bbWeight=1 PerfScore 3.25
 G_M42179_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x34]
        test     ecx, 0xD1FFAB1E
@@ -482,7 +478,7 @@ G_M42179_IG51:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 998, prolog size 7, PerfScore 70.00, instruction count 213, allocated bytes for code 998 (MethodHash=b4495b3c) for method System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int) (Tier1)
+; Total bytes of code 987, prolog size 7, PerfScore 69.00, instruction count 209, allocated bytes for code 987 (MethodHash=b4495b3c) for method System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int) (Tier1)
 ; ============================================================
 
 Unwind Info:
-11 (-1.37%) : 416692.dasm - System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (Tier1)
@@ -18,15 +18,15 @@
 ;* V06 tmp2         [V06    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V07 tmp3         [V07    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V08 tmp4         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V09 tmp5         [V09,T03] (  4,  3.27)     int  ->  rcx         "Inline stloc first use temp"
+;  V09 tmp5         [V09,T08] (  3,  2.27)     int  ->  rcx         "Inline stloc first use temp"
 ;* V10 tmp6         [V10,T18] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V11 tmp7         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V12 tmp8         [V12,T04] (  8,  3.22)     int  ->  rcx         "Inline stloc first use temp"
+;  V12 tmp8         [V12,T03] (  8,  3.22)     int  ->  rcx         "Inline stloc first use temp"
 ;  V13 tmp9         [V13,T09] (  8,  2.52)     int  ->  rdx         "Inline stloc first use temp"
 ;  V14 tmp10        [V14,T14] (  3,  1.21)     ref  ->  rcx         class-hnd "Inline return value spill temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
-;  V15 tmp11        [V15,T07] (  3,  2.89)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
+;  V15 tmp11        [V15,T06] (  3,  2.89)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V17 tmp13        [V17,T08] (  3,  2.73)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.TaskExceptionHolder>
+;  V17 tmp13        [V17,T07] (  3,  2.73)     ref  ->  rdx         class-hnd exact single-def "dup spill" <System.Threading.Tasks.TaskExceptionHolder>
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V19 tmp15        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
@@ -47,9 +47,9 @@
 ;* V35 tmp31        [V35    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp32        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V37 tmp33        [V37,T10] (  2,  2.01)   byref  ->  rcx         single-def "Inlining Arg"
-;  V38 tmp34        [V38,T05] (  3,  3.11)     ref  ->  rcx         single-def "arr expr"
+;  V38 tmp34        [V38,T04] (  3,  3.11)     ref  ->  rcx         single-def "arr expr"
 ;  V39 rat0         [V39,T11] (  3,  1.75)     ref  ->  rdx         "Spilling to split statement for tree"
-;  V40 rat1         [V40,T06] (  5,  2.96)     ref  ->  rax         "replacement local"
+;  V40 rat1         [V40,T05] (  5,  2.96)     ref  ->  rax         "replacement local"
 ;
 ; Lcl frame size = 32
 
@@ -67,13 +67,9 @@ G_M30140_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 						;; size=13 bbWeight=1 PerfScore 3.00
 G_M30140_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x34]
-       mov      edx, ecx
-       and      edx, 0xD1FFAB1E
-       mov      eax, ecx
-       and      eax, 0xD1FFAB1E
-       or       edx, eax
+       test     ecx, 0xD1FFAB1E
        je       G_M30140_IG18
-						;; size=26 bbWeight=1 PerfScore 4.25
+						;; size=15 bbWeight=1 PerfScore 3.25
 G_M30140_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x34]
        test     ecx, 0xD1FFAB1E
@@ -396,7 +392,7 @@ G_M30140_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 805, prolog size 7, PerfScore 56.40, instruction count 169, allocated bytes for code 805 (MethodHash=74148a43) for method System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (Tier1)
+; Total bytes of code 794, prolog size 7, PerfScore 55.40, instruction count 165, allocated bytes for code 794 (MethodHash=74148a43) for method System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (Tier1)
 ; ============================================================
 
 Unwind Info:
-8 (-2.29%) : 749292.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
@@ -14,7 +14,7 @@
 ;  V02 loc1         [V02,T11] (  5,  0   )     ref  ->  rdi         class-hnd <System.RuntimeType>
 ;* V03 loc2         [V03,T16] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc3         [V04,T12] (  5,  0   )     ref  ->  r14         class-hnd exact <System.RuntimeType>
-;  V05 loc4         [V05,T15] (  3,  0   )     int  ->  rax        
+;  V05 loc4         [V05,T15] (  2,  0   )     int  ->  rax        
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;* V07 tmp1         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.TypeHandle>
 ;  V08 tmp2         [V08,T09] (  3,  2   )     int  ->  rcx        
@@ -172,12 +172,9 @@ G_M56028_IG12:        ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        call     [System.RuntimeType:get_GenericParameterAttributes():int:this]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 4
-       and      eax, 8
-       or       ecx, eax
+       test     al, 12
        je       SHORT G_M56028_IG14
-						;; size=71 bbWeight=0 PerfScore 0.00
+						;; size=63 bbWeight=0 PerfScore 0.00
 G_M56028_IG13:        ; bbWeight=0, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rdi, r14
@@ -233,7 +230,7 @@ G_M56028_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        jmp      G_M56028_IG06
 						;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 349, prolog size 10, PerfScore 29.50, instruction count 107, allocated bytes for code 349 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
+; Total bytes of code 341, prolog size 10, PerfScore 29.50, instruction count 104, allocated bytes for code 341 (MethodHash=370d2523) for method System.RuntimeType:GetBaseType():System.RuntimeType:this (Tier1)
 ; ============================================================
 
 Unwind Info:
-32 (-3.58%) : 386139.dasm - Xunit.Sdk.AsyncUtility:TryConvertToTask(System.Object):System.Threading.Tasks.Task (Tier1)
@@ -10,7 +10,7 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  7,  4.29)     ref  ->  rbx         class-hnd single-def <System.Object>
-;  V01 loc0         [V01,T03] (  4,  3.90)     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
+;  V01 loc0         [V01,T02] (  4,  3.90)     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T05] (  4,  0   )     ref  ->  rsi         class-hnd exact single-def <System.RuntimeType>
 ;  V03 loc2         [V03,T04] (  5,  0   )     ref  ->  rdi         class-hnd single-def <System.Reflection.TypeInfo>
 ;  V04 loc3         [V04,T09] (  3,  0   )     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
@@ -30,7 +30,7 @@
 ;  V18 tmp13        [V18,T16] (  3,  0   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V19 tmp14        [V19,T07] (  4,  0   )     ref  ->  rbp         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.MethodInfo,bool]>
 ;  V20 tmp15        [V20,T17] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V21 tmp16        [V21,T02] (  8,  4.95)     int  ->  rcx         single-def "Inline stloc first use temp"
+;  V21 tmp16        [V21,T03] (  6,  3.00)     int  ->  rcx         single-def "Inline stloc first use temp"
 ;* V22 tmp17        [V22,T08] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V23 tmp18        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V24 tmp19        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.Reflection.MethodInfo]>
@@ -58,10 +58,10 @@ G_M3689_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, rcx
        ; gcrRegs +[rbx]
 						;; size=18 bbWeight=1 PerfScore 5.75
-G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     rbx, rbx
-       je       G_M3689_IG08
-						;; size=9 bbWeight=1 PerfScore 1.25
+       je       SHORT G_M3689_IG08
+						;; size=5 bbWeight=1 PerfScore 1.25
 G_M3689_IG03:        ; bbWeight=0.98, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rax, rbx
        ; gcrRegs +[rax]
@@ -73,16 +73,9 @@ G_M3689_IG04:        ; bbWeight=0.98, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {
        test     rax, rax
        je       G_M3689_IG11
        mov      ecx, dword ptr [rax+0x34]
-       mov      edx, ecx
-       and      edx, 0xD1FFAB1E
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       or       edx, r8d
-       mov      r8d, ecx
-       and      r8d, 0xD1FFAB1E
-       or       edx, r8d
+       test     ecx, 0xD1FFAB1E
        je       SHORT G_M3689_IG07
-						;; size=48 bbWeight=0.98 PerfScore 6.10
+						;; size=20 bbWeight=0.98 PerfScore 4.39
 G_M3689_IG05:        ; bbWeight=0.98, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx]
        add      rsp, 56
@@ -425,7 +418,7 @@ G_M3689_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 894, prolog size 15, PerfScore 22.70, instruction count 206, allocated bytes for code 894 (MethodHash=6785f196) for method Xunit.Sdk.AsyncUtility:TryConvertToTask(System.Object):System.Threading.Tasks.Task (Tier1)
+; Total bytes of code 862, prolog size 15, PerfScore 20.99, instruction count 199, allocated bytes for code 862 (MethodHash=6785f196) for method Xunit.Sdk.AsyncUtility:TryConvertToTask(System.Object):System.Threading.Tasks.Task (Tier1)
 ; ============================================================
 
 Unwind Info:
-52 (-1.84%) : 695767.dasm - Xunit.Sdk.Sha1Digest:ProcessBlock():this (Tier1)
@@ -10,11 +10,11 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T63] ( 14, 14.00)     ref  ->  rcx         this class-hnd single-def <Xunit.Sdk.Sha1Digest>
-;  V01 loc0         [V01,T13] ( 70,182.00)     int  ->  rax        
-;  V02 loc1         [V02,T16] ( 68,182.00)     int  ->   r9        
-;  V03 loc2         [V03,T17] ( 61,182.00)     int  ->  rsi        
-;  V04 loc3         [V04,T15] ( 69,182.00)     int  ->  rbp        
-;  V05 loc4         [V05,T14] ( 70,182.00)     int  ->  r15        
+;  V01 loc0         [V01,T13] ( 68,177.00)     int  ->  rax        
+;  V02 loc1         [V02,T15] ( 67,177.00)     int  ->   r9        
+;  V03 loc2         [V03,T17] ( 59,177.00)     int  ->  rsi        
+;  V04 loc3         [V04,T16] ( 67,177.00)     int  ->  rbp        
+;  V05 loc4         [V05,T14] ( 68,177.00)     int  ->  r15        
 ;  V06 loc5         [V06,T08] ( 73,201.00)     int  ->  registers  
 ;* V07 loc6         [V07,T81] (  0,  0   )     int  ->  zero-ref   
 ;  V08 loc7         [V08,T18] (  2,130.68)     int  ->  rax        
@@ -359,13 +359,11 @@ G_M42046_IG11:        ; bbWeight=1.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
 						;; size=6 bbWeight=1.00 PerfScore 0.25
 G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        lea      r14d, [r13+0x01]
-       mov      edi, r9d
-       and      edi, esi
-       mov      r11d, r9d
-       and      r11d, ebp
-       or       r11d, edi
        mov      edi, esi
        and      edi, ebp
+       mov      r11d, esi
+       or       r11d, ebp
+       and      r11d, r9d
        or       r11d, edi
        mov      edi, eax
        rol      edi, 5
@@ -385,13 +383,11 @@ G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
        rol      r9d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, eax
-       and      edi, r9d
-       mov      r13d, eax
-       and      r13d, esi
-       or       edi, r13d
+       mov      edi, r9d
+       and      edi, esi
        mov      r13d, r9d
-       and      r13d, esi
+       or       r13d, esi
+       and      r13d, eax
        or       edi, r13d
        mov      r13d, r15d
        rol      r13d, 5
@@ -404,14 +400,12 @@ G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
        rol      eax, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      r13d, r15d
-       ; gcrRegs -[r13]
-       and      r13d, eax
-       mov      edi, r15d
-       and      edi, r9d
-       or       edi, r13d
        mov      r13d, eax
+       ; gcrRegs -[r13]
        and      r13d, r9d
+       mov      edi, eax
+       or       edi, r9d
+       and      edi, r15d
        or       edi, r13d
        mov      r13d, ebp
        rol      r13d, 5
@@ -424,21 +418,17 @@ G_M42046_IG12:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000
        rol      r15d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      r13d, ebp
-       ; gcrRegs -[r13]
-       and      r13d, r15d
-       mov      edi, ebp
-       and      edi, eax
-       or       edi, r13d
        mov      r13d, r15d
+       ; gcrRegs -[r13]
        and      r13d, eax
+       mov      edi, r15d
+       or       edi, eax
+       and      edi, ebp
        or       edi, r13d
        mov      r13d, esi
        rol      r13d, 5
        add      r13d, r9d
        add      edi, r13d
-						;; size=249 bbWeight=5.00 PerfScore 151.25
-G_M42046_IG13:        ; bbWeight=5.00, extend
        mov      r9, rbx
        ; gcrRegs +[r9]
        mov      r9d, dword ptr [r9+4*r11+0x10]
@@ -446,14 +436,14 @@ G_M42046_IG13:        ; bbWeight=5.00, extend
        lea      r9d, [rdi+r9+D1FFAB1EH]
        rol      ebp, 30
        mov      r11d, r14d
+						;; size=247 bbWeight=5.00 PerfScore 161.25
+G_M42046_IG13:        ; bbWeight=5.00, extend
        lea      r14d, [r11+0x01]
-       mov      edi, esi
-       and      edi, ebp
-       mov      r13d, esi
-       and      r13d, r15d
-       or       edi, r13d
+       mov      edi, ebp
+       and      edi, r15d
        mov      r13d, ebp
-       and      r13d, r15d
+       or       r13d, r15d
+       and      r13d, esi
        or       edi, r13d
        mov      r13d, r9d
        rol      r13d, 5
@@ -464,7 +454,7 @@ G_M42046_IG13:        ; bbWeight=5.00, extend
        mov      eax, dword ptr [rax+4*r11+0x10]
        ; gcrRegs -[rax]
        lea      eax, [rdi+rax+D1FFAB1EH]
-						;; size=76 bbWeight=5.00 PerfScore 55.00
+						;; size=49 bbWeight=5.00 PerfScore 32.50
 G_M42046_IG14:        ; bbWeight=5.00, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        rol      esi, 30
        dec      r12d
@@ -835,13 +825,11 @@ G_M42046_IG30:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        rol      r9d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, eax
-       and      edi, r9d
-       mov      r13d, eax
-       and      r13d, esi
-       or       edi, r13d
+       mov      edi, r9d
+       and      edi, esi
        mov      r13d, r9d
-       and      r13d, esi
+       or       r13d, esi
+       and      r13d, eax
        or       edi, r13d
        mov      r13d, r15d
        rol      r13d, 5
@@ -856,14 +844,12 @@ G_M42046_IG30:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        rol      eax, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, r15d
-       and      edi, eax
-       mov      r13d, r15d
-       ; gcrRegs -[r13]
-       and      r13d, r9d
-       or       edi, r13d
+       mov      edi, eax
+       and      edi, r9d
        mov      r13d, eax
-       and      r13d, r9d
+       ; gcrRegs -[r13]
+       or       r13d, r9d
+       and      r13d, r15d
        or       edi, r13d
        mov      r13d, ebp
        rol      r13d, 5
@@ -878,14 +864,12 @@ G_M42046_IG30:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        rol      r15d, 30
        mov      r11d, r14d
        lea      r14d, [r11+0x01]
-       mov      edi, ebp
-       and      edi, r15d
-       mov      r13d, ebp
-       ; gcrRegs -[r13]
-       and      r13d, eax
-       or       edi, r13d
+       mov      edi, r15d
+       and      edi, eax
        mov      r13d, r15d
-       and      r13d, eax
+       ; gcrRegs -[r13]
+       or       r13d, eax
+       and      r13d, ebp
        or       edi, r13d
        mov      r13d, esi
        rol      r13d, 5
@@ -900,16 +884,14 @@ G_M42046_IG30:        ; bbWeight=0, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=0000
        lea      r9d, [rdi+r9+D1FFAB1EH]
        rol      ebp, 30
        mov      r11d, r14d
-						;; size=246 bbWeight=0 PerfScore 0.00
-G_M42046_IG31:        ; bbWeight=0, extend
        lea      r14d, [r11+0x01]
-       mov      edi, esi
-       and      edi, ebp
-       mov      r13d, esi
-       and      r13d, r15d
-       or       edi, r13d
+       mov      edi, ebp
+       and      edi, r15d
        mov      r13d, ebp
-       and      r13d, r15d
+       or       r13d, r15d
+						;; size=243 bbWeight=0 PerfScore 0.00
+G_M42046_IG31:        ; bbWeight=0, extend
+       and      r13d, esi
        or       edi, r13d
        mov      r13d, r9d
        rol      r13d, 5
@@ -923,7 +905,7 @@ G_M42046_IG31:        ; bbWeight=0, extend
        ; gcrRegs -[rax]
        lea      eax, [rdi+rax+D1FFAB1EH]
        jmp      G_M42046_IG14
-						;; size=68 bbWeight=0 PerfScore 0.00
+						;; size=48 bbWeight=0 PerfScore 0.00
 G_M42046_IG32:        ; bbWeight=0, gcrefRegs=800A {rcx rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r15]
        cmp      r13d, r10d
@@ -1061,7 +1043,7 @@ G_M42046_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2833, prolog size 16, PerfScore 2365.84, instruction count 768, allocated bytes for code 2833 (MethodHash=64eb5bc1) for method Xunit.Sdk.Sha1Digest:ProcessBlock():this (Tier1)
+; Total bytes of code 2781, prolog size 16, PerfScore 2353.34, instruction count 750, allocated bytes for code 2781 (MethodHash=64eb5bc1) for method Xunit.Sdk.Sha1Digest:ProcessBlock():this (Tier1)
 ; ============================================================
 
 Unwind Info:
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch
-20 (-11.83%) : 5028.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -16,11 +16,10 @@
 ;* V05 tmp4         [V05    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V06 tmp5         [V06,T04] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V07 tmp6         [V07    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V08 cse0         [V08,T08] (  2,  1   )     ref  ->  rax         "CSE #02: aggressive"
+;  V08 cse0         [V08,T07] (  2,  1   )     ref  ->  rax         "CSE #02: aggressive"
 ;  V09 cse1         [V09,T06] (  3,  1.50)     int  ->   r8         "CSE #03: aggressive"
-;  V10 cse2         [V10,T07] (  3,  1.50)     int  ->  rdx         "CSE #05: aggressive"
-;  V11 cse3         [V11,T02] (  4,  3   )     int  ->  rsi         "CSE #01: aggressive"
-;  V12 cse4         [V12,T05] (  3,  1.50)   byref  ->  rcx         "CSE #04: aggressive"
+;  V10 cse2         [V10,T02] (  4,  3   )     int  ->  rsi         "CSE #01: aggressive"
+;  V11 cse3         [V11,T05] (  3,  1.50)   byref  ->  rcx         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -56,14 +55,8 @@ G_M29564_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        or       r8d, r10d
        or       r8d, 1
        mov      word  ptr [rdx], r8w
-       movzx    rdx, word  ptr [rcx]
-       ; byrRegs -[rdx]
-       mov      r8d, edx
-       and      r8d, 0xF000
-       and      edx, 0xFFE
-       or       edx, r8d
-       mov      word  ptr [rcx], dx
-						;; size=96 bbWeight=0.50 PerfScore 6.88
+       and      word  ptr [rcx], 0xFFFE
+						;; size=76 bbWeight=0.50 PerfScore 6.38
 G_M29564_IG04:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -72,7 +65,7 @@ G_M29564_IG04:        ; bbWeight=0.50, epilog, nogc, extend
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M29564_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
-       ; byrRegs -[rcx]
+       ; byrRegs -[rcx rdx]
        mov      rax, 0xD1FFAB1E      ; const ptr
        mov      rax, gword ptr [rax]
        ; gcrRegs +[rax]
@@ -98,7 +91,7 @@ G_M29564_IG08:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 
-; Total bytes of code 169, prolog size 6, PerfScore 17.62, instruction count 47, allocated bytes for code 169 (MethodHash=67038c83) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 149, prolog size 6, PerfScore 17.12, instruction count 42, allocated bytes for code 149 (MethodHash=67038c83) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:CreateMissing(ushort):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-7.77%) : 19613.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetDiagnostics(Microsoft.CodeAnalysis.DiagnosticInfo[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
@@ -27,8 +27,7 @@
 ;* V16 tmp14        [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V17 tmp15        [V17,T07] (  2,  4   )     ref  ->   r9         single-def "argument with side effect"
 ;  V18 cse0         [V18,T10] (  3,  3   )     int  ->  rdx         "CSE #01: aggressive"
-;  V19 cse1         [V19,T11] (  3,  3   )     int  ->  rax         "CSE #03: aggressive"
-;  V20 cse2         [V20,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
+;  V19 cse1         [V19,T09] (  3,  3   )   byref  ->  rbx         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -126,15 +125,10 @@ G_M59497_IG05:        ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0008
        ; byrRegs -[rcx]
 						;; size=24 bbWeight=0.50 PerfScore 2.62
 G_M59497_IG06:        ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref
-       movzx    rax, word  ptr [rbx]
-       mov      ecx, eax
-       and      ecx, 0xF000
-       and      eax, 0xFFE
-       or       eax, ecx
-       mov      word  ptr [rbx], ax
+       and      word  ptr [rbx], 0xFFFE
        mov      rax, r15
        ; gcrRegs +[rax]
-						;; size=24 bbWeight=1 PerfScore 4.25
+						;; size=8 bbWeight=1 PerfScore 3.25
 G_M59497_IG07:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -146,7 +140,7 @@ G_M59497_IG07:        ; bbWeight=1, epilog, nogc, extend
        ret      
 						;; size=13 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 206, prolog size 12, PerfScore 44.00, instruction count 64, allocated bytes for code 206 (MethodHash=d2901796) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetDiagnostics(Microsoft.CodeAnalysis.DiagnosticInfo[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
+; Total bytes of code 190, prolog size 12, PerfScore 43.00, instruction count 59, allocated bytes for code 190 (MethodHash=d2901796) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia:SetDiagnostics(Microsoft.CodeAnalysis.DiagnosticInfo[]):Microsoft.CodeAnalysis.GreenNode:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
-8 (-7.08%) : 33981.dasm - ILLink.RoslynAnalyzer.ITypeSymbolExtensions:IsTypeInterestingForDataflow(Microsoft.CodeAnalysis.ITypeSymbol,bool):bool (FullOpts)
@@ -11,7 +11,7 @@
 ;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->  rbx         class-hnd single-def <Microsoft.CodeAnalysis.ITypeSymbol>
 ;  V01 arg1         [V01,T01] (  3,  2.50)   ubyte  ->  rsi         single-def
 ;  V02 loc0         [V02,T02] (  3,  1.50)     ref  ->  rax         class-hnd single-def <Microsoft.CodeAnalysis.INamedTypeSymbol>
-;  V03 loc1         [V03,T03] (  3,  1.50)     int  ->  rax         single-def
+;  V03 loc1         [V03,T03] (  2,  1   )     int  ->  rax         single-def
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
 ;
 ; Lcl frame size = 40
@@ -52,13 +52,10 @@ G_M31917_IG04:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        call     [ILLink.RoslynAnalyzer.ITypeSymbolExtensions:GetFlags(Microsoft.CodeAnalysis.INamedTypeSymbol):int]
        ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-       mov      ecx, eax
-       and      ecx, 1
-       and      eax, 2
-       or       eax, ecx
+       test     al, 3
        setne    al
        movzx    rax, al
-						;; size=48 bbWeight=0.50 PerfScore 3.88
+						;; size=40 bbWeight=0.50 PerfScore 3.50
 G_M31917_IG05:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
@@ -84,7 +81,7 @@ G_M31917_IG09:        ; bbWeight=0.25, epilog, nogc, extend
        ret      
 						;; size=7 bbWeight=0.25 PerfScore 0.56
 
-; Total bytes of code 113, prolog size 6, PerfScore 15.00, instruction count 39, allocated bytes for code 113 (MethodHash=adc78352) for method ILLink.RoslynAnalyzer.ITypeSymbolExtensions:IsTypeInterestingForDataflow(Microsoft.CodeAnalysis.ITypeSymbol,bool):bool (FullOpts)
+; Total bytes of code 105, prolog size 6, PerfScore 14.62, instruction count 36, allocated bytes for code 105 (MethodHash=adc78352) for method ILLink.RoslynAnalyzer.ITypeSymbolExtensions:IsTypeInterestingForDataflow(Microsoft.CodeAnalysis.ITypeSymbol,bool):bool (FullOpts)
 ; ============================================================
 
 Unwind Info:
-16 (-4.43%) : 4943.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
@@ -45,18 +45,17 @@
 ;  V34 tmp30        [V34,T07] (  3,  3   )   byref  ->  rcx         single-def "dup spill"
 ;* V35 tmp31        [V35    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    "field V03._node (fldOffset=0x0)" P-INDEP
-;  V37 tmp33        [V37,T19] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
-;  V38 tmp34        [V38,T20] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
+;  V37 tmp33        [V37,T18] (  2,  1   )     ref  ->  r14         single-def "field V12._node (fldOffset=0x0)" P-INDEP
+;  V38 tmp34        [V38,T19] (  2,  1   )     ref  ->   r8         single-def "field V14._node (fldOffset=0x0)" P-INDEP
 ;  V39 tmp35        [V39,T11] (  4,  2   )     ref  ->  rdi         single-def "field V18._node (fldOffset=0x0)" P-INDEP
 ;  V40 tmp36        [V40,T12] (  4,  2   )     ref  ->  rsi         single-def "field V20._node (fldOffset=0x0)" P-INDEP
 ;  V41 tmp37        [V41,T09] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
 ;  V42 cse0         [V42,T04] (  4,  3   )    long  ->  rbp         "CSE #02: aggressive"
 ;  V43 cse1         [V43,T03] (  6,  3   )    long  ->  rsi         multi-def "CSE #03: aggressive"
 ;  V44 cse2         [V44,T16] (  3,  1.50)     int  ->  rdx         "CSE #05: conservative"
-;  V45 cse3         [V45,T17] (  3,  1.50)     int  ->  rax         "CSE #07: conservative"
-;  V46 cse4         [V46,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
-;  V47 rat0         [V47,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
-;  V48 rat1         [V48,T18] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
+;  V45 cse3         [V45,T05] (  4,  3   )    long  ->  rdi         "CSE #01: aggressive"
+;  V46 rat0         [V46,T02] (  5,  3.75)     ref  ->  rsi         "replacement local"
+;  V47 rat1         [V47,T17] (  3,  1.25)    long  ->  rcx         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 32
 
@@ -177,14 +176,9 @@ G_M12665_IG06:        ; bbWeight=0.50, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0
 G_M12665_IG07:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        lea      rcx, bword ptr [r14+0x0E]
        ; byrRegs +[rcx]
-       movzx    rax, word  ptr [rcx]
-       mov      edx, eax
-       and      edx, 0xF000
-       and      eax, 0xFFE
-       or       eax, edx
-       mov      word  ptr [rcx], ax
+       and      word  ptr [rcx], 0xFFFE
        jmp      SHORT G_M12665_IG09
-						;; size=27 bbWeight=0.50 PerfScore 3.25
+						;; size=11 bbWeight=0.50 PerfScore 2.75
 G_M12665_IG08:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        ; byrRegs -[rcx]
@@ -276,7 +270,7 @@ G_M12665_IG13:        ; bbWeight=0.50, epilog, nogc, extend
        ret      
 						;; size=11 bbWeight=0.50 PerfScore 1.88
 
-; Total bytes of code 361, prolog size 10, PerfScore 59.25, instruction count 115, allocated bytes for code 361 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
+; Total bytes of code 345, prolog size 10, PerfScore 58.75, instruction count 110, allocated bytes for code 345 (MethodHash=b5e6ce86) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ConvertToKeyword(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken (FullOpts)
 ; ============================================================
 
 Unwind Info:
-47 (-3.69%) : 4861.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken:.cctor() (FullOpts)
@@ -15,7 +15,7 @@
 ;* V04 tmp3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <<unknown class>>
-;  V07 tmp6         [V07,T48] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
+;  V07 tmp6         [V07,T47] (  6, 12   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V08 tmp7         [V08,T05] (  6, 96   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken>
 ;  V09 tmp8         [V09,T26] (  2, 32   )   byref  ->  [rsp+0x68]  spill-single-def "impAppendStmt"
 ;  V10 tmp9         [V10,T00] ( 13,208   )     ref  ->  [rsp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+SyntaxTokenWithTrivia>
@@ -27,14 +27,14 @@
 ;  V16 tmp15        [V16,T06] (  5, 80   )     ref  ->  rax         class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken+MissingTokenWithTrivia>
 ;  V17 tmp16        [V17,T30] (  2, 32   )   byref  ->  rcx         "impAppendStmt"
 ;* V18 tmp17        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V19 tmp18        [V19,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V19 tmp18        [V19,T55] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V20 tmp19        [V20    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V21 tmp20        [V21,T57] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
+;  V21 tmp20        [V21,T56] (  3,  6   )   byref  ->  rcx         single-def "dup spill"
 ;* V22 tmp21        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp22        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp23        [V24,T09] (  3, 48   )   byref  ->  rcx         "dup spill"
 ;* V25 tmp24        [V25    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;* V26 tmp25        [V26,T47] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
+;* V26 tmp25        [V26,T46] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;  V27 tmp26        [V27,T04] (  7,112   )     ref  ->  [rsp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxTrivia>
 ;* V28 tmp27        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V29 tmp28        [V29,T10] (  3, 48   )   byref  ->  rcx         "dup spill"
@@ -73,29 +73,27 @@
 ;  V62 tmp61        [V62,T21] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V63 tmp62        [V63,T22] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V64 tmp63        [V64,T23] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #10: moderate"
-;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #09: moderate"
-;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #06: moderate"
-;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #11: moderate"
-;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #17: moderate"
-;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #21: moderate"
-;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #26: moderate"
-;  V72 cse7         [V72,T42] (  3, 24   )     int  ->   r8         "CSE #28: moderate"
+;  V65 cse0         [V65,T24] (  5, 40   )     int  ->  [rsp+0x74]  spill-single-def "CSE #09: moderate"
+;  V66 cse1         [V66,T35] (  2, 16   )     ref  ->   r8         "CSE #08: moderate"
+;  V67 cse2         [V67,T37] (  3, 24   )     int  ->  rdx         "CSE #05: moderate"
+;  V68 cse3         [V68,T38] (  3, 24   )     int  ->  rdx         "CSE #10: moderate"
+;  V69 cse4         [V69,T39] (  3, 24   )     int  ->  rdx         "CSE #16: moderate"
+;  V70 cse5         [V70,T40] (  3, 24   )     int  ->  rdx         "CSE #20: moderate"
+;  V71 cse6         [V71,T41] (  3, 24   )     int  ->  r10         "CSE #25: moderate"
+;  V72 cse7         [V72,T42] (  3, 24   )     int  ->  r10         "CSE #12: moderate"
 ;  V73 cse8         [V73,T43] (  3, 24   )     int  ->  r10         "CSE #13: moderate"
-;  V74 cse9         [V74,T44] (  3, 24   )     int  ->  r10         "CSE #14: moderate"
-;  V75 cse10        [V75,T45] (  3, 24   )     int  ->  r10         "CSE #19: moderate"
-;  V76 cse11        [V76,T46] (  3, 24   )     int  ->   r8         "CSE #23: moderate"
-;  V77 cse12        [V77,T58] (  3,  3   )     int  ->  rdx         "CSE #02: moderate"
-;  V78 cse13        [V78,T59] (  3,  3   )     int  ->  rdx         "CSE #04: moderate"
-;  V79 cse14        [V79,T25] (  4, 32   )    long  ->  r12         "CSE #15: moderate"
-;  V80 cse15        [V80,T49] (  3, 10   )    long  ->  rsi         "CSE #05: moderate"
-;  V81 cse16        [V81,T50] (  3, 10   )    long  ->  rdi         "CSE #07: moderate"
-;  V82 cse17        [V82,T51] (  3, 10   )    long  ->  rbp         "CSE #16: moderate"
-;  V83 cse18        [V83,T52] (  3, 10   )    long  ->  r14         "CSE #20: moderate"
-;  V84 cse19        [V84,T53] (  3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment