Prepone for System.Collections method 51 PREPONE type# 6 method# 51 System.Collections.BitArray::And ; Assembly listing for method System.Collections.BitArray:And(System.Collections.BitArray):System.Collections.BitArray:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; Final local variable assignments ; ; V00 this [V00,T08] ( 7, 7 ) ref -> x0 this class-hnd ; V01 arg1 [V01,T09] ( 5, 5 ) ref -> x1 class-hnd ; V02 loc0 [V02,T04] ( 11, 10 ) ref -> x2 class-hnd ; V03 loc1 [V03,T05] ( 11, 10 ) ref -> x3 class-hnd ; V04 loc2 [V04,T02] ( 9, 14 ) int -> x5 ; V05 loc3 [V05,T00] ( 12, 35 ) int -> x6 ;* V06 loc4 [V06 ] ( 0, 0 ) long -> zero-ref ; V07 loc5 [V07 ] ( 5, 2.50) ref -> [fp+0x20] must-init pinned class-hnd ;* V08 loc6 [V08 ] ( 0, 0 ) long -> zero-ref ; V09 loc7 [V09 ] ( 5, 2.50) ref -> [fp+0x18] must-init pinned class-hnd ;* V10 loc8 [V10 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V11 loc9 [V11 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V12 loc10 [V12 ] ( 0, 0 ) long -> zero-ref ;* V13 loc11 [V13 ] ( 0, 0 ) long -> zero-ref ;* V14 loc12 [V14 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V15 loc13 [V15 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V16 loc14 [V16,T21] ( 3, 3 ) long -> x7 ; V17 loc15 [V17,T22] ( 3, 3 ) long -> x8 ; V18 loc16 [V18,T26] ( 2, 4 ) simd16 -> d16 HFA(simd16) ; V19 loc17 [V19,T27] ( 2, 4 ) simd16 -> d17 HFA(simd16) ;# V20 OutArgs [V20 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V21 tmp1 [V21,T12] ( 2, 4 ) int -> x4 "impAppendStmt" ; V22 tmp2 [V22,T28] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V23 tmp3 [V23,T01] ( 3, 24 ) byref -> x8 "dup spill" ; V24 tmp4 [V24,T14] ( 3, 3 ) byref -> x5 "dup spill" ; V25 tmp5 [V25,T15] ( 3, 3 ) byref -> x5 "dup spill" ; V26 tmp6 [V26,T16] ( 3, 3 ) byref -> x5 "dup spill" ; V27 tmp7 [V27,T17] ( 3, 3 ) byref -> x5 "dup spill" ; V28 tmp8 [V28,T18] ( 3, 3 ) byref -> x5 "dup spill" ; V29 tmp9 [V29,T19] ( 3, 3 ) byref -> x5 "dup spill" ; V30 tmp10 [V30,T20] ( 3, 3 ) byref -> x1 "dup spill" ; V31 tmp11 [V31,T29] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V32 tmp12 [V32,T13] ( 2, 4 ) int -> x5 "Inlining Arg" ; V33 tmp13 [V33,T30] ( 2, 0 ) ref -> x1 "argument with side effect" ; V34 tmp14 [V34,T31] ( 2, 0 ) ref -> x0 "argument with side effect" ; V35 tmp15 [V35,T32] ( 2, 0 ) ref -> x1 "argument with side effect" ; V36 tmp16 [V36,T24] ( 2, 2 ) long -> x7 "Cast away GC" ; V37 tmp17 [V37,T25] ( 2, 2 ) long -> x8 "Cast away GC" ; V38 cse0 [V38,T03] ( 3, 12 ) long -> x7 "CSE - aggressive" ; V39 cse1 [V39,T10] ( 3, 6 ) long -> x10 "CSE - aggressive" ; V40 cse2 [V40,T11] ( 3, 6 ) long -> x9 "CSE - aggressive" ; V41 cse3 [V41,T23] ( 3, 3 ) int -> x4 "CSE - moderate" ; V42 cse4 [V42,T06] ( 10, 9.50) int -> x1 "CSE - aggressive" ; V43 cse5 [V43,T07] ( 10, 9.50) int -> x4 "CSE - aggressive" ; ; Lcl frame size = 24 G_M9258_IG01: A9BD7BFD stp fp, lr, [sp,#-48]! F90017F3 str x19, [sp,#40] 910003FD mov fp, sp F90013BF str xzr, [fp,#32] // [V07 loc5] F9000FBF str xzr, [fp,#24] // [V09 loc7] ;; bbWeight=1 PerfScore 4.50 G_M9258_IG02: B4001341 cbz x1, G_M9258_IG24 ;; bbWeight=1 PerfScore 1.00 G_M9258_IG03: F9400402 ldr x2, [x0,#8] F9400423 ldr x3, [x1,#8] B9401004 ldr w4, [x0,#16] 2A0403E5 mov w5, w4 11007CA5 add w5, w5, #31 53057CA5 lsr w5, w5, #5 B9401021 ldr w1, [x1,#16] 6B01009F cmp w4, w1 54001401 bne G_M9258_IG25 B9400841 ldr w1, [x2,#8] 6B05003F cmp w1, w5 540013A3 blo G_M9258_IG25 B9400864 ldr w4, [x3,#8] 6B05009F cmp w4, w5 54001343 blo G_M9258_IG25 ;; bbWeight=1 PerfScore 24.50 G_M9258_IG04: 71001CBF cmp w5, #7 540008E8 bhi G_M9258_IG12 2A0503E5 mov w5, w5 10001546 adr x6, [@RWD00] B86578C6 ldr w6, [x6, x5, LSL #2] 10FFFD67 adr x7, [G_M9258_IG02] 8B0700C6 add x6, x6, x7 D61F00C0 br x6 ;; bbWeight=1 PerfScore 7.50 G_M9258_IG05: 7100183F cmp w1, #6 54001429 bls G_M9258_IG26 9100A045 add x5, x2, #40 B94000A6 ldr w6, [x5] 7100189F cmp w4, #6 540013A9 bls G_M9258_IG26 B9402867 ldr w7, [x3,#40] 0A0700C6 and w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG06: 7100143F cmp w1, #5 54001309 bls G_M9258_IG26 91009045 add x5, x2, #36 B94000A6 ldr w6, [x5] 7100149F cmp w4, #5 54001289 bls G_M9258_IG26 B9402467 ldr w7, [x3,#36] 0A0700C6 and w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG07: 7100103F cmp w1, #4 540011E9 bls G_M9258_IG26 91008045 add x5, x2, #32 B94000A6 ldr w6, [x5] 7100109F cmp w4, #4 54001169 bls G_M9258_IG26 B9402067 ldr w7, [x3,#32] 0A0700C6 and w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG08: 71000C3F cmp w1, #3 540010C9 bls G_M9258_IG26 91007045 add x5, x2, #28 B94000A6 ldr w6, [x5] 71000C9F cmp w4, #3 54001049 bls G_M9258_IG26 B9401C67 ldr w7, [x3,#28] 0A0700C6 and w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG09: 7100083F cmp w1, #2 54000FA9 bls G_M9258_IG26 91006045 add x5, x2, #24 B94000A6 ldr w6, [x5] 7100089F cmp w4, #2 54000F29 bls G_M9258_IG26 B9401867 ldr w7, [x3,#24] 0A0700C6 and w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG10: 7100043F cmp w1, #1 54000E89 bls G_M9258_IG26 91005045 add x5, x2, #20 B94000A6 ldr w6, [x5] 7100049F cmp w4, #1 54000E09 bls G_M9258_IG26 B9401467 ldr w7, [x3,#20] 0A0700C6 and w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG11: 7100003F cmp w1, #0 54000D69 bls G_M9258_IG26 91004041 add x1, x2, #16 B9400022 ldr w2, [x1] 7100009F cmp w4, #0 54000CE9 bls G_M9258_IG26 B9401063 ldr w3, [x3,#16] 0A030042 and w2, w2, w3 B9000022 str w2, [x1] 1400003D b G_M9258_IG22 ;; bbWeight=0.50 PerfScore 6.00 G_M9258_IG12: 52800006 mov w6, #0 F90013A2 str x2, [fp,#32] // [V07 loc5] F94013A7 ldr x7, [fp,#32] // [V07 loc5] B94008E7 ldr w7, [x7,#8] 35000067 cbnz w7, G_M9258_IG14 ;; bbWeight=0.50 PerfScore 3.75 G_M9258_IG13: D2800007 mov x7, #0 14000007 b G_M9258_IG15 ;; bbWeight=0.50 PerfScore 0.75 G_M9258_IG14: F94013A7 ldr x7, [fp,#32] // [V07 loc5] B94008E7 ldr w7, [x7,#8] 710000FF cmp w7, #0 54000B09 bls G_M9258_IG26 F94013A7 ldr x7, [fp,#32] // [V07 loc5] 910040E7 add x7, x7, #16 ;; bbWeight=0.50 PerfScore 4.50 G_M9258_IG15: F9000FA3 str x3, [fp,#24] // [V09 loc7] F9400FA8 ldr x8, [fp,#24] // [V09 loc7] B9400908 ldr w8, [x8,#8] 35000068 cbnz w8, G_M9258_IG17 ;; bbWeight=0.50 PerfScore 3.50 G_M9258_IG16: D2800008 mov x8, #0 14000013 b G_M9258_IG19 ;; bbWeight=0.50 PerfScore 0.75 G_M9258_IG17: F9400FA8 ldr x8, [fp,#24] // [V09 loc7] B9400908 ldr w8, [x8,#8] 7100011F cmp w8, #0 54000989 bls G_M9258_IG26 F9400FA8 ldr x8, [fp,#24] // [V09 loc7] 91004108 add x8, x8, #16 51000CA9 sub w9, w5, #3 7100013F cmp w9, #0 540001AD ble G_M9258_IG20 ;; bbWeight=0.50 PerfScore 5.50 G_M9258_IG18: 93407CC9 sxtw x9, x6 D37EF529 lsl x9, x9, #2 8B0900EA add x10, x7, x9 4C407950 ld1 {v16.4s}, [x10] 8B090109 add x9, x8, x9 4C407931 ld1 {v17.4s}, [x9] 4E311E10 and v16.4s, v16.4s, v17.4s 4C007950 st1 {v16.4s}, [x10] 110010C6 add w6, w6, #4 ;; bbWeight=2 PerfScore 21.00 G_M9258_IG19: 51000CA9 sub w9, w5, #3 6B0900DF cmp w6, w9 54FFFEAB blt G_M9258_IG18 ;; bbWeight=4 PerfScore 8.00 G_M9258_IG20: D2800007 mov x7, #0 F9000FA7 str x7, [fp,#24] // [V09 loc7] F90013A7 str x7, [fp,#32] // [V07 loc5] 6B0500DF cmp w6, w5 5400020A bge G_M9258_IG22 ;; bbWeight=0.50 PerfScore 2.00 G_M9258_IG21: 6B0100DF cmp w6, w1 54000682 bhs G_M9258_IG26 93407CC7 sxtw x7, x6 D37EF4E7 lsl x7, x7, #2 910040E7 add x7, x7, #16 8B070048 add x8, x2, x7 B9400109 ldr w9, [x8] 6B0400DF cmp w6, w4 540005A2 bhs G_M9258_IG26 B8676867 ldr w7, [x3, x7] 0A070127 and w7, w9, w7 B9000107 str w7, [x8] 110004C6 add w6, w6, #1 6B0500DF cmp w6, w5 54FFFE4B blt G_M9258_IG21 ;; bbWeight=4 PerfScore 60.00 G_M9258_IG22: B9401401 ldr w1, [x0,#20] 11000421 add w1, w1, #1 B9001401 str w1, [x0,#20] ;; bbWeight=1 PerfScore 4.50 G_M9258_IG23: F94017F3 ldr x19, [sp,#40] A8C37BFD ldp fp, lr, [sp],#48 D65F03C0 ret lr ;; bbWeight=1 PerfScore 4.00 G_M9258_IG24: D2937B00 movz x0, #0x9bd8 F2BDD880 movk x0, #0xeec4 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE93C0 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528103A0 mov w0, #0x81d D283B401 movz x1, #0x1da0 F2BDDA41 movk x1, #0xeed2 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE93FE bl CORINFO_HELP_STRCNS AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FF0F9F bl System.ArgumentNullException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE93FD bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M9258_IG25: D2812D00 movz x0, #0x968 F2BDD720 movk x0, #0xeeb9 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE93B1 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528076A0 mov w0, #949 D283B401 movz x1, #0x1da0 F2BDDA41 movk x1, #0xeed2 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE93EF bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF894F bl System.SR:GetResourceString(System.String,System.String):System.String AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FED032 bl System.ArgumentException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE93EC bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M9258_IG26: 97FE9393 bl CORINFO_HELP_RNGCHKFAIL D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 RWD00 dd 00000250h ; case G_M9258_IG22 dd 00000138h ; case G_M9258_IG11 dd 00000114h ; case G_M9258_IG10 dd 000000F0h ; case G_M9258_IG09 dd 000000CCh ; case G_M9258_IG08 dd 000000A8h ; case G_M9258_IG07 dd 00000084h ; case G_M9258_IG06 dd 00000060h ; case G_M9258_IG05 ; Total bytes of code 772, prolog size 20, PerfScore 271.95, (MethodHash=859cdbd5) for method System.Collections.BitArray:And(System.Collections.BitArray):System.Collections.BitArray:this ; ============================================================ Completed method System.Collections.BitArray::And , elapsed ms: 67.75 Completed assembly System.Collections - #types: 7, #methods: 1, skipped types: 0, skipped methods: 0 Prepone for System.Collections method 52 PREPONE type# 6 method# 52 System.Collections.BitArray::Or ; Assembly listing for method System.Collections.BitArray:Or(System.Collections.BitArray):System.Collections.BitArray:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; Final local variable assignments ; ; V00 this [V00,T08] ( 7, 7 ) ref -> x0 this class-hnd ; V01 arg1 [V01,T09] ( 5, 5 ) ref -> x1 class-hnd ; V02 loc0 [V02,T04] ( 11, 10 ) ref -> x2 class-hnd ; V03 loc1 [V03,T05] ( 11, 10 ) ref -> x3 class-hnd ; V04 loc2 [V04,T02] ( 9, 14 ) int -> x5 ; V05 loc3 [V05,T00] ( 12, 35 ) int -> x6 ;* V06 loc4 [V06 ] ( 0, 0 ) long -> zero-ref ; V07 loc5 [V07 ] ( 5, 2.50) ref -> [fp+0x20] must-init pinned class-hnd ;* V08 loc6 [V08 ] ( 0, 0 ) long -> zero-ref ; V09 loc7 [V09 ] ( 5, 2.50) ref -> [fp+0x18] must-init pinned class-hnd ;* V10 loc8 [V10 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V11 loc9 [V11 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V12 loc10 [V12 ] ( 0, 0 ) long -> zero-ref ;* V13 loc11 [V13 ] ( 0, 0 ) long -> zero-ref ;* V14 loc12 [V14 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V15 loc13 [V15 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V16 loc14 [V16,T21] ( 3, 3 ) long -> x7 ; V17 loc15 [V17,T22] ( 3, 3 ) long -> x8 ; V18 loc16 [V18,T26] ( 2, 4 ) simd16 -> d16 HFA(simd16) ; V19 loc17 [V19,T27] ( 2, 4 ) simd16 -> d17 HFA(simd16) ;# V20 OutArgs [V20 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V21 tmp1 [V21,T12] ( 2, 4 ) int -> x4 "impAppendStmt" ; V22 tmp2 [V22,T28] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V23 tmp3 [V23,T01] ( 3, 24 ) byref -> x8 "dup spill" ; V24 tmp4 [V24,T14] ( 3, 3 ) byref -> x5 "dup spill" ; V25 tmp5 [V25,T15] ( 3, 3 ) byref -> x5 "dup spill" ; V26 tmp6 [V26,T16] ( 3, 3 ) byref -> x5 "dup spill" ; V27 tmp7 [V27,T17] ( 3, 3 ) byref -> x5 "dup spill" ; V28 tmp8 [V28,T18] ( 3, 3 ) byref -> x5 "dup spill" ; V29 tmp9 [V29,T19] ( 3, 3 ) byref -> x5 "dup spill" ; V30 tmp10 [V30,T20] ( 3, 3 ) byref -> x1 "dup spill" ; V31 tmp11 [V31,T29] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V32 tmp12 [V32,T13] ( 2, 4 ) int -> x5 "Inlining Arg" ; V33 tmp13 [V33,T30] ( 2, 0 ) ref -> x1 "argument with side effect" ; V34 tmp14 [V34,T31] ( 2, 0 ) ref -> x0 "argument with side effect" ; V35 tmp15 [V35,T32] ( 2, 0 ) ref -> x1 "argument with side effect" ; V36 tmp16 [V36,T24] ( 2, 2 ) long -> x7 "Cast away GC" ; V37 tmp17 [V37,T25] ( 2, 2 ) long -> x8 "Cast away GC" ; V38 cse0 [V38,T03] ( 3, 12 ) long -> x7 "CSE - aggressive" ; V39 cse1 [V39,T10] ( 3, 6 ) long -> x10 "CSE - aggressive" ; V40 cse2 [V40,T11] ( 3, 6 ) long -> x9 "CSE - aggressive" ; V41 cse3 [V41,T23] ( 3, 3 ) int -> x4 "CSE - moderate" ; V42 cse4 [V42,T06] ( 10, 9.50) int -> x1 "CSE - aggressive" ; V43 cse5 [V43,T07] ( 10, 9.50) int -> x4 "CSE - aggressive" ; ; Lcl frame size = 24 G_M43100_IG01: A9BD7BFD stp fp, lr, [sp,#-48]! F90017F3 str x19, [sp,#40] 910003FD mov fp, sp F90013BF str xzr, [fp,#32] // [V07 loc5] F9000FBF str xzr, [fp,#24] // [V09 loc7] ;; bbWeight=1 PerfScore 4.50 G_M43100_IG02: B4001341 cbz x1, G_M43100_IG24 ;; bbWeight=1 PerfScore 1.00 G_M43100_IG03: F9400402 ldr x2, [x0,#8] F9400423 ldr x3, [x1,#8] B9401004 ldr w4, [x0,#16] 2A0403E5 mov w5, w4 11007CA5 add w5, w5, #31 53057CA5 lsr w5, w5, #5 B9401021 ldr w1, [x1,#16] 6B01009F cmp w4, w1 54001401 bne G_M43100_IG25 B9400841 ldr w1, [x2,#8] 6B05003F cmp w1, w5 540013A3 blo G_M43100_IG25 B9400864 ldr w4, [x3,#8] 6B05009F cmp w4, w5 54001343 blo G_M43100_IG25 ;; bbWeight=1 PerfScore 24.50 G_M43100_IG04: 71001CBF cmp w5, #7 540008E8 bhi G_M43100_IG12 2A0503E5 mov w5, w5 10001546 adr x6, [@RWD00] B86578C6 ldr w6, [x6, x5, LSL #2] 10FFFD67 adr x7, [G_M43100_IG02] 8B0700C6 add x6, x6, x7 D61F00C0 br x6 ;; bbWeight=1 PerfScore 7.50 G_M43100_IG05: 7100183F cmp w1, #6 54001429 bls G_M43100_IG26 9100A045 add x5, x2, #40 B94000A6 ldr w6, [x5] 7100189F cmp w4, #6 540013A9 bls G_M43100_IG26 B9402867 ldr w7, [x3,#40] 2A0700C6 orr w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG06: 7100143F cmp w1, #5 54001309 bls G_M43100_IG26 91009045 add x5, x2, #36 B94000A6 ldr w6, [x5] 7100149F cmp w4, #5 54001289 bls G_M43100_IG26 B9402467 ldr w7, [x3,#36] 2A0700C6 orr w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG07: 7100103F cmp w1, #4 540011E9 bls G_M43100_IG26 91008045 add x5, x2, #32 B94000A6 ldr w6, [x5] 7100109F cmp w4, #4 54001169 bls G_M43100_IG26 B9402067 ldr w7, [x3,#32] 2A0700C6 orr w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG08: 71000C3F cmp w1, #3 540010C9 bls G_M43100_IG26 91007045 add x5, x2, #28 B94000A6 ldr w6, [x5] 71000C9F cmp w4, #3 54001049 bls G_M43100_IG26 B9401C67 ldr w7, [x3,#28] 2A0700C6 orr w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG09: 7100083F cmp w1, #2 54000FA9 bls G_M43100_IG26 91006045 add x5, x2, #24 B94000A6 ldr w6, [x5] 7100089F cmp w4, #2 54000F29 bls G_M43100_IG26 B9401867 ldr w7, [x3,#24] 2A0700C6 orr w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG10: 7100043F cmp w1, #1 54000E89 bls G_M43100_IG26 91005045 add x5, x2, #20 B94000A6 ldr w6, [x5] 7100049F cmp w4, #1 54000E09 bls G_M43100_IG26 B9401467 ldr w7, [x3,#20] 2A0700C6 orr w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG11: 7100003F cmp w1, #0 54000D69 bls G_M43100_IG26 91004041 add x1, x2, #16 B9400022 ldr w2, [x1] 7100009F cmp w4, #0 54000CE9 bls G_M43100_IG26 B9401063 ldr w3, [x3,#16] 2A030042 orr w2, w2, w3 B9000022 str w2, [x1] 1400003D b G_M43100_IG22 ;; bbWeight=0.50 PerfScore 6.00 G_M43100_IG12: 52800006 mov w6, #0 F90013A2 str x2, [fp,#32] // [V07 loc5] F94013A7 ldr x7, [fp,#32] // [V07 loc5] B94008E7 ldr w7, [x7,#8] 35000067 cbnz w7, G_M43100_IG14 ;; bbWeight=0.50 PerfScore 3.75 G_M43100_IG13: D2800007 mov x7, #0 14000007 b G_M43100_IG15 ;; bbWeight=0.50 PerfScore 0.75 G_M43100_IG14: F94013A7 ldr x7, [fp,#32] // [V07 loc5] B94008E7 ldr w7, [x7,#8] 710000FF cmp w7, #0 54000B09 bls G_M43100_IG26 F94013A7 ldr x7, [fp,#32] // [V07 loc5] 910040E7 add x7, x7, #16 ;; bbWeight=0.50 PerfScore 4.50 G_M43100_IG15: F9000FA3 str x3, [fp,#24] // [V09 loc7] F9400FA8 ldr x8, [fp,#24] // [V09 loc7] B9400908 ldr w8, [x8,#8] 35000068 cbnz w8, G_M43100_IG17 ;; bbWeight=0.50 PerfScore 3.50 G_M43100_IG16: D2800008 mov x8, #0 14000013 b G_M43100_IG19 ;; bbWeight=0.50 PerfScore 0.75 G_M43100_IG17: F9400FA8 ldr x8, [fp,#24] // [V09 loc7] B9400908 ldr w8, [x8,#8] 7100011F cmp w8, #0 54000989 bls G_M43100_IG26 F9400FA8 ldr x8, [fp,#24] // [V09 loc7] 91004108 add x8, x8, #16 51000CA9 sub w9, w5, #3 7100013F cmp w9, #0 540001AD ble G_M43100_IG20 ;; bbWeight=0.50 PerfScore 5.50 G_M43100_IG18: 93407CC9 sxtw x9, x6 D37EF529 lsl x9, x9, #2 8B0900EA add x10, x7, x9 4C407950 ld1 {v16.4s}, [x10] 8B090109 add x9, x8, x9 4C407931 ld1 {v17.4s}, [x9] 4EB11E10 orr v16.4s, v16.4s, v17.4s 4C007950 st1 {v16.4s}, [x10] 110010C6 add w6, w6, #4 ;; bbWeight=2 PerfScore 21.00 G_M43100_IG19: 51000CA9 sub w9, w5, #3 6B0900DF cmp w6, w9 54FFFEAB blt G_M43100_IG18 ;; bbWeight=4 PerfScore 8.00 G_M43100_IG20: D2800007 mov x7, #0 F9000FA7 str x7, [fp,#24] // [V09 loc7] F90013A7 str x7, [fp,#32] // [V07 loc5] 6B0500DF cmp w6, w5 5400020A bge G_M43100_IG22 ;; bbWeight=0.50 PerfScore 2.00 G_M43100_IG21: 6B0100DF cmp w6, w1 54000682 bhs G_M43100_IG26 93407CC7 sxtw x7, x6 D37EF4E7 lsl x7, x7, #2 910040E7 add x7, x7, #16 8B070048 add x8, x2, x7 B9400109 ldr w9, [x8] 6B0400DF cmp w6, w4 540005A2 bhs G_M43100_IG26 B8676867 ldr w7, [x3, x7] 2A070127 orr w7, w9, w7 B9000107 str w7, [x8] 110004C6 add w6, w6, #1 6B0500DF cmp w6, w5 54FFFE4B blt G_M43100_IG21 ;; bbWeight=4 PerfScore 60.00 G_M43100_IG22: B9401401 ldr w1, [x0,#20] 11000421 add w1, w1, #1 B9001401 str w1, [x0,#20] ;; bbWeight=1 PerfScore 4.50 G_M43100_IG23: F94017F3 ldr x19, [sp,#40] A8C37BFD ldp fp, lr, [sp],#48 D65F03C0 ret lr ;; bbWeight=1 PerfScore 4.00 G_M43100_IG24: D2937B00 movz x0, #0x9bd8 F2BDD860 movk x0, #0xeec3 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE93C0 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528103A0 mov w0, #0x81d D283B401 movz x1, #0x1da0 F2BDDA21 movk x1, #0xeed1 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE93FE bl CORINFO_HELP_STRCNS AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FF0F9F bl System.ArgumentNullException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE93FD bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M43100_IG25: D2812D00 movz x0, #0x968 F2BDD700 movk x0, #0xeeb8 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE93B1 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528076A0 mov w0, #949 D283B401 movz x1, #0x1da0 F2BDDA21 movk x1, #0xeed1 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE93EF bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF894F bl System.SR:GetResourceString(System.String,System.String):System.String AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FED032 bl System.ArgumentException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE93EC bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M43100_IG26: 97FE9393 bl CORINFO_HELP_RNGCHKFAIL D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 RWD00 dd 00000250h ; case G_M43100_IG22 dd 00000138h ; case G_M43100_IG11 dd 00000114h ; case G_M43100_IG10 dd 000000F0h ; case G_M43100_IG09 dd 000000CCh ; case G_M43100_IG08 dd 000000A8h ; case G_M43100_IG07 dd 00000084h ; case G_M43100_IG06 dd 00000060h ; case G_M43100_IG05 ; Total bytes of code 772, prolog size 20, PerfScore 271.95, (MethodHash=dc9657a3) for method System.Collections.BitArray:Or(System.Collections.BitArray):System.Collections.BitArray:this ; ============================================================ Completed method System.Collections.BitArray::Or , elapsed ms: 57.57 Completed assembly System.Collections - #types: 7, #methods: 1, skipped types: 0, skipped methods: 0 Prepone for System.Collections method 53 PREPONE type# 6 method# 53 System.Collections.BitArray::Xor ; Assembly listing for method System.Collections.BitArray:Xor(System.Collections.BitArray):System.Collections.BitArray:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; Final local variable assignments ; ; V00 this [V00,T08] ( 7, 7 ) ref -> x0 this class-hnd ; V01 arg1 [V01,T09] ( 5, 5 ) ref -> x1 class-hnd ; V02 loc0 [V02,T04] ( 11, 10 ) ref -> x2 class-hnd ; V03 loc1 [V03,T05] ( 11, 10 ) ref -> x3 class-hnd ; V04 loc2 [V04,T02] ( 9, 14 ) int -> x5 ; V05 loc3 [V05,T00] ( 12, 35 ) int -> x6 ;* V06 loc4 [V06 ] ( 0, 0 ) long -> zero-ref ; V07 loc5 [V07 ] ( 5, 2.50) ref -> [fp+0x20] must-init pinned class-hnd ;* V08 loc6 [V08 ] ( 0, 0 ) long -> zero-ref ; V09 loc7 [V09 ] ( 5, 2.50) ref -> [fp+0x18] must-init pinned class-hnd ;* V10 loc8 [V10 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V11 loc9 [V11 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V12 loc10 [V12 ] ( 0, 0 ) long -> zero-ref ;* V13 loc11 [V13 ] ( 0, 0 ) long -> zero-ref ;* V14 loc12 [V14 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V15 loc13 [V15 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V16 loc14 [V16,T21] ( 3, 3 ) long -> x7 ; V17 loc15 [V17,T22] ( 3, 3 ) long -> x8 ; V18 loc16 [V18,T26] ( 2, 4 ) simd16 -> d16 HFA(simd16) ; V19 loc17 [V19,T27] ( 2, 4 ) simd16 -> d17 HFA(simd16) ;# V20 OutArgs [V20 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V21 tmp1 [V21,T12] ( 2, 4 ) int -> x4 "impAppendStmt" ; V22 tmp2 [V22,T28] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V23 tmp3 [V23,T01] ( 3, 24 ) byref -> x8 "dup spill" ; V24 tmp4 [V24,T14] ( 3, 3 ) byref -> x5 "dup spill" ; V25 tmp5 [V25,T15] ( 3, 3 ) byref -> x5 "dup spill" ; V26 tmp6 [V26,T16] ( 3, 3 ) byref -> x5 "dup spill" ; V27 tmp7 [V27,T17] ( 3, 3 ) byref -> x5 "dup spill" ; V28 tmp8 [V28,T18] ( 3, 3 ) byref -> x5 "dup spill" ; V29 tmp9 [V29,T19] ( 3, 3 ) byref -> x5 "dup spill" ; V30 tmp10 [V30,T20] ( 3, 3 ) byref -> x1 "dup spill" ; V31 tmp11 [V31,T29] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V32 tmp12 [V32,T13] ( 2, 4 ) int -> x5 "Inlining Arg" ; V33 tmp13 [V33,T30] ( 2, 0 ) ref -> x1 "argument with side effect" ; V34 tmp14 [V34,T31] ( 2, 0 ) ref -> x0 "argument with side effect" ; V35 tmp15 [V35,T32] ( 2, 0 ) ref -> x1 "argument with side effect" ; V36 tmp16 [V36,T24] ( 2, 2 ) long -> x7 "Cast away GC" ; V37 tmp17 [V37,T25] ( 2, 2 ) long -> x8 "Cast away GC" ; V38 cse0 [V38,T03] ( 3, 12 ) long -> x7 "CSE - aggressive" ; V39 cse1 [V39,T10] ( 3, 6 ) long -> x10 "CSE - aggressive" ; V40 cse2 [V40,T11] ( 3, 6 ) long -> x9 "CSE - aggressive" ; V41 cse3 [V41,T23] ( 3, 3 ) int -> x4 "CSE - moderate" ; V42 cse4 [V42,T06] ( 10, 9.50) int -> x1 "CSE - aggressive" ; V43 cse5 [V43,T07] ( 10, 9.50) int -> x4 "CSE - aggressive" ; ; Lcl frame size = 24 G_M31876_IG01: A9BD7BFD stp fp, lr, [sp,#-48]! F90017F3 str x19, [sp,#40] 910003FD mov fp, sp F90013BF str xzr, [fp,#32] // [V07 loc5] F9000FBF str xzr, [fp,#24] // [V09 loc7] ;; bbWeight=1 PerfScore 4.50 G_M31876_IG02: B4001341 cbz x1, G_M31876_IG24 ;; bbWeight=1 PerfScore 1.00 G_M31876_IG03: F9400402 ldr x2, [x0,#8] F9400423 ldr x3, [x1,#8] B9401004 ldr w4, [x0,#16] 2A0403E5 mov w5, w4 11007CA5 add w5, w5, #31 53057CA5 lsr w5, w5, #5 B9401021 ldr w1, [x1,#16] 6B01009F cmp w4, w1 54001401 bne G_M31876_IG25 B9400841 ldr w1, [x2,#8] 6B05003F cmp w1, w5 540013A3 blo G_M31876_IG25 B9400864 ldr w4, [x3,#8] 6B05009F cmp w4, w5 54001343 blo G_M31876_IG25 ;; bbWeight=1 PerfScore 24.50 G_M31876_IG04: 71001CBF cmp w5, #7 540008E8 bhi G_M31876_IG12 2A0503E5 mov w5, w5 10001546 adr x6, [@RWD00] B86578C6 ldr w6, [x6, x5, LSL #2] 10FFFD67 adr x7, [G_M31876_IG02] 8B0700C6 add x6, x6, x7 D61F00C0 br x6 ;; bbWeight=1 PerfScore 7.50 G_M31876_IG05: 7100183F cmp w1, #6 54001429 bls G_M31876_IG26 9100A045 add x5, x2, #40 B94000A6 ldr w6, [x5] 7100189F cmp w4, #6 540013A9 bls G_M31876_IG26 B9402867 ldr w7, [x3,#40] 4A0700C6 eor w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG06: 7100143F cmp w1, #5 54001309 bls G_M31876_IG26 91009045 add x5, x2, #36 B94000A6 ldr w6, [x5] 7100149F cmp w4, #5 54001289 bls G_M31876_IG26 B9402467 ldr w7, [x3,#36] 4A0700C6 eor w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG07: 7100103F cmp w1, #4 540011E9 bls G_M31876_IG26 91008045 add x5, x2, #32 B94000A6 ldr w6, [x5] 7100109F cmp w4, #4 54001169 bls G_M31876_IG26 B9402067 ldr w7, [x3,#32] 4A0700C6 eor w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG08: 71000C3F cmp w1, #3 540010C9 bls G_M31876_IG26 91007045 add x5, x2, #28 B94000A6 ldr w6, [x5] 71000C9F cmp w4, #3 54001049 bls G_M31876_IG26 B9401C67 ldr w7, [x3,#28] 4A0700C6 eor w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG09: 7100083F cmp w1, #2 54000FA9 bls G_M31876_IG26 91006045 add x5, x2, #24 B94000A6 ldr w6, [x5] 7100089F cmp w4, #2 54000F29 bls G_M31876_IG26 B9401867 ldr w7, [x3,#24] 4A0700C6 eor w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG10: 7100043F cmp w1, #1 54000E89 bls G_M31876_IG26 91005045 add x5, x2, #20 B94000A6 ldr w6, [x5] 7100049F cmp w4, #1 54000E09 bls G_M31876_IG26 B9401467 ldr w7, [x3,#20] 4A0700C6 eor w6, w6, w7 B90000A6 str w6, [x5] ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG11: 7100003F cmp w1, #0 54000D69 bls G_M31876_IG26 91004041 add x1, x2, #16 B9400022 ldr w2, [x1] 7100009F cmp w4, #0 54000CE9 bls G_M31876_IG26 B9401063 ldr w3, [x3,#16] 4A030042 eor w2, w2, w3 B9000022 str w2, [x1] 1400003D b G_M31876_IG22 ;; bbWeight=0.50 PerfScore 6.00 G_M31876_IG12: 52800006 mov w6, #0 F90013A2 str x2, [fp,#32] // [V07 loc5] F94013A7 ldr x7, [fp,#32] // [V07 loc5] B94008E7 ldr w7, [x7,#8] 35000067 cbnz w7, G_M31876_IG14 ;; bbWeight=0.50 PerfScore 3.75 G_M31876_IG13: D2800007 mov x7, #0 14000007 b G_M31876_IG15 ;; bbWeight=0.50 PerfScore 0.75 G_M31876_IG14: F94013A7 ldr x7, [fp,#32] // [V07 loc5] B94008E7 ldr w7, [x7,#8] 710000FF cmp w7, #0 54000B09 bls G_M31876_IG26 F94013A7 ldr x7, [fp,#32] // [V07 loc5] 910040E7 add x7, x7, #16 ;; bbWeight=0.50 PerfScore 4.50 G_M31876_IG15: F9000FA3 str x3, [fp,#24] // [V09 loc7] F9400FA8 ldr x8, [fp,#24] // [V09 loc7] B9400908 ldr w8, [x8,#8] 35000068 cbnz w8, G_M31876_IG17 ;; bbWeight=0.50 PerfScore 3.50 G_M31876_IG16: D2800008 mov x8, #0 14000013 b G_M31876_IG19 ;; bbWeight=0.50 PerfScore 0.75 G_M31876_IG17: F9400FA8 ldr x8, [fp,#24] // [V09 loc7] B9400908 ldr w8, [x8,#8] 7100011F cmp w8, #0 54000989 bls G_M31876_IG26 F9400FA8 ldr x8, [fp,#24] // [V09 loc7] 91004108 add x8, x8, #16 51000CA9 sub w9, w5, #3 7100013F cmp w9, #0 540001AD ble G_M31876_IG20 ;; bbWeight=0.50 PerfScore 5.50 G_M31876_IG18: 93407CC9 sxtw x9, x6 D37EF529 lsl x9, x9, #2 8B0900EA add x10, x7, x9 4C407950 ld1 {v16.4s}, [x10] 8B090109 add x9, x8, x9 4C407931 ld1 {v17.4s}, [x9] 6E311E10 eor v16.4s, v16.4s, v17.4s 4C007950 st1 {v16.4s}, [x10] 110010C6 add w6, w6, #4 ;; bbWeight=2 PerfScore 21.00 G_M31876_IG19: 51000CA9 sub w9, w5, #3 6B0900DF cmp w6, w9 54FFFEAB blt G_M31876_IG18 ;; bbWeight=4 PerfScore 8.00 G_M31876_IG20: D2800007 mov x7, #0 F9000FA7 str x7, [fp,#24] // [V09 loc7] F90013A7 str x7, [fp,#32] // [V07 loc5] 6B0500DF cmp w6, w5 5400020A bge G_M31876_IG22 ;; bbWeight=0.50 PerfScore 2.00 G_M31876_IG21: 6B0100DF cmp w6, w1 54000682 bhs G_M31876_IG26 93407CC7 sxtw x7, x6 D37EF4E7 lsl x7, x7, #2 910040E7 add x7, x7, #16 8B070048 add x8, x2, x7 B9400109 ldr w9, [x8] 6B0400DF cmp w6, w4 540005A2 bhs G_M31876_IG26 B8676867 ldr w7, [x3, x7] 4A070127 eor w7, w9, w7 B9000107 str w7, [x8] 110004C6 add w6, w6, #1 6B0500DF cmp w6, w5 54FFFE4B blt G_M31876_IG21 ;; bbWeight=4 PerfScore 60.00 G_M31876_IG22: B9401401 ldr w1, [x0,#20] 11000421 add w1, w1, #1 B9001401 str w1, [x0,#20] ;; bbWeight=1 PerfScore 4.50 G_M31876_IG23: F94017F3 ldr x19, [sp,#40] A8C37BFD ldp fp, lr, [sp],#48 D65F03C0 ret lr ;; bbWeight=1 PerfScore 4.00 G_M31876_IG24: D2937B00 movz x0, #0x9bd8 F2BDD880 movk x0, #0xeec4 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE93C0 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528103A0 mov w0, #0x81d D283B401 movz x1, #0x1da0 F2BDDA41 movk x1, #0xeed2 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE93FE bl CORINFO_HELP_STRCNS AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FF0F9F bl System.ArgumentNullException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE93FD bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M31876_IG25: D2812D00 movz x0, #0x968 F2BDD720 movk x0, #0xeeb9 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE93B1 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528076A0 mov w0, #949 D283B401 movz x1, #0x1da0 F2BDDA41 movk x1, #0xeed2 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE93EF bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF894F bl System.SR:GetResourceString(System.String,System.String):System.String AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FED032 bl System.ArgumentException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE93EC bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M31876_IG26: 97FE9393 bl CORINFO_HELP_RNGCHKFAIL D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 RWD00 dd 00000250h ; case G_M31876_IG22 dd 00000138h ; case G_M31876_IG11 dd 00000114h ; case G_M31876_IG10 dd 000000F0h ; case G_M31876_IG09 dd 000000CCh ; case G_M31876_IG08 dd 000000A8h ; case G_M31876_IG07 dd 00000084h ; case G_M31876_IG06 dd 00000060h ; case G_M31876_IG05 ; Total bytes of code 772, prolog size 20, PerfScore 271.95, (MethodHash=4e7e837b) for method System.Collections.BitArray:Xor(System.Collections.BitArray):System.Collections.BitArray:this ; ============================================================ Completed method System.Collections.BitArray::Xor , elapsed ms: 57.47 Completed assembly System.Collections - #types: 7, #methods: 1, skipped types: 0, skipped methods: 0 Prepone for System.Collections method 54 PREPONE type# 6 method# 54 System.Collections.BitArray::Not ; Assembly listing for method System.Collections.BitArray:Not():System.Collections.BitArray:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; Final local variable assignments ; ; V00 this [V00,T06] ( 7, 7 ) ref -> x0 this class-hnd ; V01 loc0 [V01,T01] ( 27, 21 ) ref -> x1 class-hnd ; V02 loc1 [V02,T03] ( 7, 12 ) int -> x2 ; V03 loc2 [V03,T00] ( 11, 31 ) int -> x3 ;* V04 loc3 [V04 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V05 loc4 [V05 ] ( 0, 0 ) long -> zero-ref ; V06 loc5 [V06 ] ( 5, 2.50) ref -> [fp+0x18] must-init pinned class-hnd ;* V07 loc6 [V07 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V08 loc7 [V08 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V09 loc8 [V09 ] ( 0, 0 ) long -> zero-ref ;* V10 loc9 [V10 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V11 loc10 [V11,T09] ( 3, 3 ) long -> x4 ; V12 loc11 [V12,T18] ( 2, 4 ) simd16 -> d16 HFA(simd16) ;# V13 OutArgs [V13 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V14 tmp1 [V14,T02] ( 2, 16 ) int -> x6 "Strict ordering of exceptions for Array store" ; V15 tmp2 [V15,T10] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V16 tmp3 [V16,T11] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V17 tmp4 [V17,T12] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V18 tmp5 [V18,T13] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V19 tmp6 [V19,T14] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V20 tmp7 [V20,T15] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V21 tmp8 [V21,T16] ( 2, 2 ) int -> x2 "Strict ordering of exceptions for Array store" ; V22 tmp9 [V22,T08] ( 2, 4 ) int -> x2 "Inlining Arg" ; V23 tmp10 [V23,T17] ( 2, 2 ) long -> x4 "Cast away GC" ; V24 cse0 [V24,T04] ( 3, 12 ) long -> x5 "CSE - aggressive" ; V25 cse1 [V25,T07] ( 3, 6 ) long -> x5 "CSE - aggressive" ; V26 cse2 [V26,T05] ( 16, 11.50) int -> x4 "CSE - aggressive" ; ; Lcl frame size = 16 G_M14226_IG01: A9BE7BFD stp fp, lr, [sp,#-32]! 910003FD mov fp, sp F9000FBF str xzr, [fp,#24] // [V06 loc5] ;; bbWeight=1 PerfScore 2.50 G_M14226_IG02: F9400401 ldr x1, [x0,#8] B9401002 ldr w2, [x0,#16] 11007C42 add w2, w2, #31 53057C42 lsr w2, w2, #5 71001C5F cmp w2, #7 54000648 bhi G_M14226_IG10 2A0203E4 mov w4, w2 10000C42 adr x2, [@RWD00] B8647842 ldr w2, [x2, x4, LSL #2] 10FFFEE3 adr x3, [G_M14226_IG02] 8B030042 add x2, x2, x3 D61F0040 br x2 ;; bbWeight=1 PerfScore 15.00 G_M14226_IG03: B9400824 ldr w4, [x1,#8] 7100189F cmp w4, #6 54000B29 bls G_M14226_IG19 B9402824 ldr w4, [x1,#40] 2A2403E2 mvn w2, w4 B9002822 str w2, [x1,#40] ;; bbWeight=0.50 PerfScore 4.50 G_M14226_IG04: B9400824 ldr w4, [x1,#8] 7100149F cmp w4, #5 54000A69 bls G_M14226_IG19 B9402424 ldr w4, [x1,#36] 2A2403E2 mvn w2, w4 B9002422 str w2, [x1,#36] ;; bbWeight=0.50 PerfScore 4.50 G_M14226_IG05: B9400824 ldr w4, [x1,#8] 7100109F cmp w4, #4 540009A9 bls G_M14226_IG19 B9402024 ldr w4, [x1,#32] 2A2403E2 mvn w2, w4 B9002022 str w2, [x1,#32] ;; bbWeight=0.50 PerfScore 4.50 G_M14226_IG06: B9400824 ldr w4, [x1,#8] 71000C9F cmp w4, #3 540008E9 bls G_M14226_IG19 B9401C24 ldr w4, [x1,#28] 2A2403E2 mvn w2, w4 B9001C22 str w2, [x1,#28] ;; bbWeight=0.50 PerfScore 4.50 G_M14226_IG07: B9400824 ldr w4, [x1,#8] 7100089F cmp w4, #2 54000829 bls G_M14226_IG19 B9401824 ldr w4, [x1,#24] 2A2403E2 mvn w2, w4 B9001822 str w2, [x1,#24] ;; bbWeight=0.50 PerfScore 4.50 G_M14226_IG08: B9400824 ldr w4, [x1,#8] 7100049F cmp w4, #1 54000769 bls G_M14226_IG19 B9401424 ldr w4, [x1,#20] 2A2403E2 mvn w2, w4 B9001422 str w2, [x1,#20] ;; bbWeight=0.50 PerfScore 4.50 G_M14226_IG09: B9400824 ldr w4, [x1,#8] 7100009F cmp w4, #0 540006A9 bls G_M14226_IG19 B9401022 ldr w2, [x1,#16] 2A2203E2 mvn w2, w2 B9001022 str w2, [x1,#16] 1400002C b G_M14226_IG17 ;; bbWeight=0.50 PerfScore 5.00 G_M14226_IG10: 52800003 mov w3, #0 F9000FA1 str x1, [fp,#24] // [V06 loc5] B4000081 cbz x1, G_M14226_IG11 F9400FA4 ldr x4, [fp,#24] // [V06 loc5] B9400884 ldr w4, [x4,#8] 35000064 cbnz w4, G_M14226_IG12 ;; bbWeight=0.50 PerfScore 4.25 G_M14226_IG11: D2800004 mov x4, #0 14000011 b G_M14226_IG14 ;; bbWeight=0.50 PerfScore 0.75 G_M14226_IG12: F9400FA4 ldr x4, [fp,#24] // [V06 loc5] B9400884 ldr w4, [x4,#8] 7100009F cmp w4, #0 540004A9 bls G_M14226_IG19 F9400FA4 ldr x4, [fp,#24] // [V06 loc5] 91004084 add x4, x4, #16 51000C45 sub w5, w2, #3 710000BF cmp w5, #0 5400016D ble G_M14226_IG15 ;; bbWeight=0.50 PerfScore 5.50 G_M14226_IG13: 93407C65 sxtw x5, x3 D37EF4A5 lsl x5, x5, #2 8B050085 add x5, x4, x5 4C4078B0 ld1 {v16.4s}, [x5] 6E205A10 mvn v16.16b, v16.16b 4C0078B0 st1 {v16.4s}, [x5] 11001063 add w3, w3, #4 ;; bbWeight=2 PerfScore 14.00 G_M14226_IG14: 51000C45 sub w5, w2, #3 6B05007F cmp w3, w5 54FFFEEB blt G_M14226_IG13 ;; bbWeight=4 PerfScore 8.00 G_M14226_IG15: D2800004 mov x4, #0 F9000FA4 str x4, [fp,#24] // [V06 loc5] 6B02007F cmp w3, w2 540001AA bge G_M14226_IG17 B9400824 ldr w4, [x1,#8] ;; bbWeight=0.50 PerfScore 3.00 G_M14226_IG16: 6B04007F cmp w3, w4 540001E2 bhs G_M14226_IG19 93407C65 sxtw x5, x3 D37EF4A5 lsl x5, x5, #2 910040A5 add x5, x5, #16 B8656826 ldr w6, [x1, x5] 2A2603E6 mvn w6, w6 B8256826 str w6, [x1, x5] 11000463 add w3, w3, #1 6B02007F cmp w3, w2 54FFFECB blt G_M14226_IG16 ;; bbWeight=4 PerfScore 40.00 G_M14226_IG17: B9401401 ldr w1, [x0,#20] 11000423 add w3, w1, #1 B9001403 str w3, [x0,#20] ;; bbWeight=1 PerfScore 4.50 G_M14226_IG18: A8C27BFD ldp fp, lr, [sp],#32 D65F03C0 ret lr ;; bbWeight=1 PerfScore 2.00 G_M14226_IG19: 97FE93E8 bl CORINFO_HELP_RNGCHKFAIL D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 RWD00 dd 00000188h ; case G_M14226_IG17 dd 000000C0h ; case G_M14226_IG09 dd 000000A8h ; case G_M14226_IG08 dd 00000090h ; case G_M14226_IG07 dd 00000078h ; case G_M14226_IG06 dd 00000060h ; case G_M14226_IG05 dd 00000048h ; case G_M14226_IG04 dd 00000030h ; case G_M14226_IG03 ; Total bytes of code 432, prolog size 12, PerfScore 174.70, (MethodHash=1f77c86d) for method System.Collections.BitArray:Not():System.Collections.BitArray:this ; ============================================================ Completed method System.Collections.BitArray::Not , elapsed ms: 40.83 Completed assembly System.Collections - #types: 7, #methods: 1, skipped types: 0, skipped methods: 0 Prepone for System.Collections method 59 PREPONE type# 6 method# 59 System.Collections.BitArray::CopyTo ; Assembly listing for method System.Collections.BitArray:CopyTo(System.Array,int):this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; Final local variable assignments ; ; V00 this [V00,T01] ( 20, 26.50) ref -> x19 this class-hnd ; V01 arg1 [V01,T20] ( 10, 8 ) ref -> x21 class-hnd ; V02 arg2 [V02,T14] ( 16, 10.25) int -> x20 ; V03 loc0 [V03,T38] ( 6, 4 ) ref -> x22 class-hnd ; V04 loc1 [V04,T66] ( 3, 1.50) int -> x24 ld-addr-op ; V05 loc2 [V05,T41] ( 6, 3 ) int -> x21 ; V06 loc3 [V06,T62] ( 4, 1.75) ref -> x0 class-hnd ; V07 loc4 [V07,T42] ( 6, 3 ) int -> x22 ; V08 loc5 [V08,T55] ( 4, 2 ) int -> x21 ;* V09 loc6 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ; V10 loc7 [V10,T23] ( 11, 9 ) int -> x25 ; V11 loc8 [V11,T51] ( 5, 2.50) int -> x22 ld-addr-op ; V12 loc9 [V12,T05] ( 6, 20.50) int -> x23 ; V13 loc10 [V13,T31] ( 6, 6 ) ref -> x22 class-hnd ; V14 loc11 [V14,T00] ( 14, 39 ) int -> x24 ;* V15 loc12 [V15 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V16 loc13 [V16 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V17 loc14 [V17 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V18 loc15 [V18 ] ( 0, 0 ) long -> zero-ref ;* V19 loc16 [V19 ] ( 0, 0 ) byref -> zero-ref pinned ;* V20 loc17 [V20 ] ( 0, 0 ) int -> zero-ref ;* V21 loc18 [V21 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V22 loc19 [V22 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V23 loc20 [V23 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V24 loc21 [V24 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V25 loc22 [V25 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V26 loc23 [V26 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V27 loc24 [V27 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V28 loc25 [V28 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V29 loc26 [V29 ] ( 0, 0 ) long -> zero-ref ;* V30 loc27 [V30 ] ( 0, 0 ) byref -> zero-ref pinned ;* V31 loc28 [V31 ] ( 0, 0 ) int -> zero-ref ;* V32 loc29 [V32 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V33 loc30 [V33 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V34 loc31 [V34 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V35 loc32 [V35 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V36 loc33 [V36 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V37 loc34 [V37 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V38 loc35 [V38 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V39 loc36 [V39,T79] ( 3, 8.50) simd16 -> d8 HFA(simd16) ; V40 loc37 [V40,T80] ( 3, 8.50) simd16 -> d10 HFA(simd16) ; V41 loc38 [V41,T37] ( 2, 4.50) long -> x25 ; V42 loc39 [V42 ] ( 3, 1.50) byref -> [fp+0x10] must-init pinned ; V43 loc40 [V43,T17] ( 3, 12 ) int -> x0 ; V44 loc41 [V44,T77] ( 8, 32 ) simd16 -> d16 HFA(simd16) ; V45 loc42 [V45,T81] ( 2, 8 ) simd16 -> d17 HFA(simd16) ; V46 loc43 [V46,T82] ( 2, 8 ) simd16 -> d17 HFA(simd16) ; V47 loc44 [V47,T83] ( 2, 8 ) simd16 -> d17 HFA(simd16) ; V48 loc45 [V48,T84] ( 2, 8 ) simd16 -> d16 HFA(simd16) ; V49 loc46 [V49,T85] ( 2, 8 ) simd16 -> d16 HFA(simd16) ; V50 loc47 [V50,T86] ( 2, 8 ) simd16 -> d16 HFA(simd16) ;* V51 loc48 [V51 ] ( 0, 0 ) int -> zero-ref ; V52 loc49 [V52,T39] ( 2, 4 ) int -> x1 ld-addr-op ;# V53 OutArgs [V53 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V54 tmp1 [V54,T89] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V55 tmp2 [V55,T28] ( 2, 8 ) int -> x0 "Strict ordering of exceptions for Array store" ;* V56 tmp3 [V56 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "struct address for call/obj" ;* V57 tmp4 [V57 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "struct address for call/obj" ; V58 tmp5 [V58,T90] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V59 tmp6 [V59,T91] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V60 tmp7 [V60,T57] ( 2, 2 ) int -> x1 "Strict ordering of exceptions for Array store" ; V61 tmp8 [V61,T92] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V62 tmp9 [V62,T93] ( 3, 0 ) ref -> x19 class-hnd exact "Single-def Box Helper" ; V63 tmp10 [V63,T94] ( 3, 0 ) ref -> x20 class-hnd exact "NewObj constructor temp" ; V64 tmp11 [V64,T95] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V65 tmp12 [V65,T67] ( 2, 1 ) int -> x2 "Inline return value spill temp" ; V66 tmp13 [V66,T52] ( 3, 2.50) int -> x2 "Inline stloc first use temp" ; V67 tmp14 [V67,T58] ( 2, 2 ) int -> x2 "Inline stloc first use temp" ; V68 tmp15 [V68,T32] ( 3, 6 ) byref -> x22 "Inlining Arg" ; V69 tmp16 [V69,T40] ( 2, 4 ) bool -> x0 "Inlining Arg" ; V70 tmp17 [V70,T53] ( 2, 2.50) ref -> x24 class-hnd "Inlining Arg" ; V71 tmp18 [V71,T54] ( 2, 2.50) ref -> x23 class-hnd "Inlining Arg" ; V72 tmp19 [V72,T59] ( 2, 2 ) int -> x4 "Inlining Arg" ;* V73 tmp20 [V73 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ; V74 tmp21 [V74,T60] ( 2, 2 ) int -> x1 "Inlining Arg" ;* V75 tmp22 [V75 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ;* V76 tmp23 [V76 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ;* V77 tmp24 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" ; V78 tmp25 [V78,T56] ( 2, 2 ) byref -> x23 "Inlining Arg" ; V79 tmp26 [V79,T49] ( 3, 3 ) int -> x24 "Inlining Arg" ;* V80 tmp27 [V80 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V81 tmp28 [V81 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ;* V82 tmp29 [V82 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ;* V83 tmp30 [V83 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ; V84 tmp31 [V84,T68] ( 2, 1.50) ref -> x26 class-hnd "Inlining Arg" ; V85 tmp32 [V85,T69] ( 2, 1.50) ref -> x25 class-hnd "Inlining Arg" ; V86 tmp33 [V86,T74] ( 2, 1 ) int -> x25 "Inline stloc first use temp" ;* V87 tmp34 [V87 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ; V88 tmp35 [V88,T08] ( 2, 16 ) int -> x2 ld-addr-op "Inlining Arg" ;* V89 tmp36 [V89 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V90 tmp37 [V90 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V91 tmp38 [V91 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V92 tmp39 [V92 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V93 tmp40 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V94 tmp41 [V94 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V95 tmp42 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V96 tmp43 [V96 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V97 tmp44 [V97 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V98 tmp45 [V98 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V99 tmp46 [V99,T07] ( 2, 16 ) byref -> x20 "Inlining Arg" ; V100 tmp47 [V100,T04] ( 3, 24 ) int -> x24 "Inlining Arg" ;* V101 tmp48 [V101 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V102 tmp49 [V102 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ;* V103 tmp50 [V103 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ;* V104 tmp51 [V104 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ; V105 tmp52 [V105,T21] ( 2, 10 ) ref -> x27 class-hnd "Inlining Arg" ; V106 tmp53 [V106,T22] ( 2, 10 ) ref -> x26 class-hnd "Inlining Arg" ; V107 tmp54 [V107,T87] ( 2, 1 ) simd16 -> d8 HFA(simd16) "Inline return value spill temp" ; V108 tmp55 [V108,T88] ( 2, 1 ) simd16 -> d10 HFA(simd16) "Inline return value spill temp" ; V109 tmp56 [V109,T09] ( 2, 16 ) int -> x1 "impAppendStmt" ; V110 tmp57 [V110,T10] ( 2, 16 ) int -> x1 "Inlining Arg" ; V111 tmp58 [V111,T11] ( 2, 16 ) int -> x0 "Inlining Arg" ; V112 tmp59 [V112,T78] ( 3, 12 ) simd16 -> d0 HFA(simd16) "Inline return value spill temp" ; V113 tmp60 [V113,T12] ( 2, 16 ) int -> x0 "Inlining Arg" ; V114 tmp61 [V114,T34] ( 3, 6 ) int -> x0 "Inline stloc first use temp" ; V115 tmp62 [V115,T13] ( 8, 14.50) byref -> x20 V09._pointer(offs=0x00) P-INDEP "field V09._pointer (fldOffset=0x0)" ; V116 tmp63 [V116,T06] ( 9, 18.50) int -> x24 V09._length(offs=0x08) P-INDEP "field V09._length (fldOffset=0x8)" ; V117 tmp64 [V117,T71] ( 2, 1 ) byref -> x20 V75._pointer(offs=0x00) P-INDEP "field V75._pointer (fldOffset=0x0)" ; V118 tmp65 [V118,T75] ( 2, 1 ) int -> x24 V75._length(offs=0x08) P-INDEP "field V75._length (fldOffset=0x8)" ; V119 tmp66 [V119,T72] ( 2, 1 ) byref -> x20 V76._pointer(offs=0x00) P-INDEP "field V76._pointer (fldOffset=0x0)" ; V120 tmp67 [V120,T76] ( 2, 1 ) int -> x24 V76._length(offs=0x08) P-INDEP "field V76._length (fldOffset=0x8)" ;* V121 tmp68 [V121 ] ( 0, 0 ) byref -> zero-ref V77._pointer(offs=0x00) P-INDEP "field V77._pointer (fldOffset=0x0)" ;* V122 tmp69 [V122 ] ( 0, 0 ) int -> zero-ref V77._length(offs=0x08) P-INDEP "field V77._length (fldOffset=0x8)" ; V123 tmp70 [V123,T73] ( 2, 1 ) byref -> x20 V81._value(offs=0x00) P-INDEP "field V81._value (fldOffset=0x0)" ; V124 tmp71 [V124,T24] ( 2, 8 ) byref -> x0 V87._pointer(offs=0x00) P-INDEP "field V87._pointer (fldOffset=0x0)" ; V125 tmp72 [V125,T29] ( 2, 8 ) int -> x1 V87._length(offs=0x08) P-INDEP "field V87._length (fldOffset=0x8)" ; V126 tmp73 [V126,T25] ( 2, 8 ) byref -> x0 V93._pointer(offs=0x00) P-INDEP "field V93._pointer (fldOffset=0x0)" ;* V127 tmp74 [V127 ] ( 0, 0 ) int -> zero-ref V93._length(offs=0x08) P-INDEP "field V93._length (fldOffset=0x8)" ;* V128 tmp75 [V128 ] ( 0, 0 ) byref -> zero-ref V95._pointer(offs=0x00) P-INDEP "field V95._pointer (fldOffset=0x0)" ;* V129 tmp76 [V129 ] ( 0, 0 ) int -> zero-ref V95._length(offs=0x08) P-INDEP "field V95._length (fldOffset=0x8)" ; V130 tmp77 [V130,T26] ( 2, 8 ) byref -> x20 V98._pointer(offs=0x00) P-INDEP "field V98._pointer (fldOffset=0x0)" ; V131 tmp78 [V131,T30] ( 2, 8 ) int -> x24 V98._length(offs=0x08) P-INDEP "field V98._length (fldOffset=0x8)" ; V132 tmp79 [V132,T27] ( 2, 8 ) byref -> x20 V102._value(offs=0x00) P-INDEP "field V102._value (fldOffset=0x0)" ; V133 tmp80 [V133,T96] ( 2, 0 ) ref -> x1 "argument with side effect" ; V134 tmp81 [V134,T97] ( 2, 0 ) ref -> x0 "argument with side effect" ; V135 tmp82 [V135,T98] ( 2, 0 ) ref -> x21 "argument with side effect" ; V136 tmp83 [V136,T99] ( 2, 0 ) ref -> x3 "argument with side effect" ; V137 tmp84 [V137,T63] ( 3, 1.50) ref -> x0 "argument with side effect" ; V138 tmp85 [V138,T100] ( 2, 0 ) ref -> x0 "argument with side effect" ; V139 tmp86 [V139,T101] ( 2, 0 ) ref -> x20 "argument with side effect" ; V140 tmp87 [V140,T102] ( 2, 0 ) ref -> x2 "argument with side effect" ; V141 tmp88 [V141,T43] ( 3, 3 ) ref -> x1 "arr expr" ; V142 tmp89 [V142,T103] ( 2, 0 ) ref -> x0 "argument with side effect" ; V143 tmp90 [V143,T104] ( 2, 0 ) ref -> x1 "argument with side effect" ; V144 tmp91 [V144,T64] ( 3, 1.50) ref -> x0 "argument with side effect" ; V145 tmp92 [V145,T02] ( 3, 24 ) ref -> x2 "arr expr" ; V146 tmp93 [V146,T33] ( 3, 6 ) ref -> x0 "argument with side effect" ; V147 tmp94 [V147,T44] ( 3, 3 ) ref -> x0 "arr expr" ; V148 tmp95 [V148,T45] ( 3, 3 ) ref -> x0 "arr expr" ; V149 tmp96 [V149,T46] ( 3, 3 ) ref -> x0 "arr expr" ; V150 tmp97 [V150,T47] ( 3, 3 ) ref -> x0 "arr expr" ; V151 tmp98 [V151,T105] ( 2, 0 ) ref -> x0 "argument with side effect" ; V152 tmp99 [V152,T106] ( 2, 0 ) ref -> x1 "argument with side effect" ; V153 tmp100 [V153,T61] ( 2, 2 ) long -> x25 "Cast away GC" ; V154 tmp101 [V154,T03] ( 3, 24 ) ref -> x0 "arr expr" ; V155 tmp102 [V155,T15] ( 3, 12 ) ref -> x2 "arr expr" ; V156 tmp103 [V156,T107] ( 2, 0 ) ref -> x0 "argument with side effect" ; V157 tmp104 [V157,T108] ( 2, 0 ) ref -> x20 "argument with side effect" ; V158 tmp105 [V158,T109] ( 2, 0 ) ref -> x2 "argument with side effect" ; V159 cse0 [V159,T18] ( 3, 12 ) int -> x1 "CSE - aggressive" ; V160 cse1 [V160,T16] ( 3, 12 ) ref -> x26 "CSE - aggressive" ; V161 cse2 [V161,T19] ( 3, 12 ) long -> x0 "CSE - aggressive" ; V162 cse3 [V162,T36] ( 9, 4.50) int -> x23 "CSE - moderate" ; V163 cse4 [V163,T48] ( 3, 3 ) ref -> x23 "CSE - moderate" ; V164 cse5 [V164,T65] ( 3, 1.50) ref -> x25 "CSE - conservative" ; V165 cse6 [V165,T35] ( 3, 6 ) int -> x1 "CSE - moderate" ; V166 cse7 [V166,T70] ( 3, 1 ) int -> x1 "CSE - conservative" ; V167 rat0 [V167,T50] ( 3, 3 ) int -> x22 "ReplaceWithLclVar is creating a new local variable" ; ; Lcl frame size = 8 G_M40488_IG01: A9B87BFD stp fp, lr, [sp,#-128]! 6D01A7E8 stp d8, d9, [sp,#24] 6D02AFEA stp d10, d11, [sp,#40] A903D3F3 stp x19, x20, [sp,#56] A904DBF5 stp x21, x22, [sp,#72] A905E3F7 stp x23, x24, [sp,#88] A906EBF9 stp x25, x26, [sp,#104] F9003FFB str x27, [sp,#120] 910003FD mov fp, sp F9000BBF str xzr, [fp,#16] // [V42 loc39] AA0003F3 mov x19, x0 AA0103F5 mov x21, x1 2A0203F4 mov w20, w2 ;; bbWeight=1 PerfScore 11.00 G_M40488_IG02: B4002D55 cbz x21, G_M40488_IG36 ;; bbWeight=1 PerfScore 1.00 G_M40488_IG03: 7100029F cmp w20, #0 54002EEB blt G_M40488_IG37 ;; bbWeight=1 PerfScore 1.50 G_M40488_IG04: F94002B6 ldr x22, [x21] B94002C0 ldr w0, [x22] 7201001F tst w0, #0x80000000 9A9F07E0 cset x0, ne D2860C01 movz x1, #0x3060 F2A51401 movk x1, #0x28a0 LSL #16 F2C04341 movk x1, #538 LSL #32 F9400037 ldr x23, [x1] AA1703F8 mov x24, x23 35000200 cbnz w0, G_M40488_IG06 ;; bbWeight=1 PerfScore 13.00 G_M40488_IG05: D288BF00 movz x0, #0x45f8 F2BDD360 movk x0, #0xee9b LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 5280E561 mov w1, #0x72b 97FE83FE bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE D284D300 movz x0, #0x2698 F2A51400 movk x0, #0x28a0 LSL #16 F2C04340 movk x0, #538 LSL #32 C8DFFC00 ldar x0, [x0] AA1803E1 mov x1, x24 AA1703E2 mov x2, x23 F9400003 ldr x3, [x0] F9402463 ldr x3, [x3,#72] F9401063 ldr x3, [x3,#32] D63F0060 blr x3 ;; bbWeight=0.25 PerfScore 4.63 G_M40488_IG06: B94006C1 ldr w1, [x22,#4] 51006021 sub w1, w1, #24 53037C22 lsr w2, w1, #3 35000282 cbnz w2, G_M40488_IG09 ;; bbWeight=1 PerfScore 5.50 G_M40488_IG07: AA1503E1 mov x1, x21 D2888000 movz x0, #0x4400 F2BDD740 movk x0, #0xeeba LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE7B5D bl CORINFO_HELP_ISINSTANCEOFARRAY AA0003F6 mov x22, x0 B40005D6 cbz x22, G_M40488_IG11 ;; bbWeight=1 PerfScore 4.50 G_M40488_IG08: B9401277 ldr w23, [x19,#16] 2A1703E4 mov w4, w23 12001098 and w24, w4, #31 35000198 cbnz w24, G_M40488_IG10 F9400664 ldr x4, [x19,#8] B9400884 ldr w4, [x4,#8] F9400660 ldr x0, [x19,#8] AA1603E2 mov x2, x22 2A1403E3 mov w3, w20 52800001 mov w1, #0 97FE5D3E bl System.Array:Copy(System.Array,int,System.Array,int,int) 1400012D b G_M40488_IG33 ;; bbWeight=0.50 PerfScore 8.75 G_M40488_IG09: 7100045F cmp w2, #1 54002C81 bne G_M40488_IG38 17FFFFEB b G_M40488_IG07 ;; bbWeight=0.50 PerfScore 1.25 G_M40488_IG10: 510006E0 sub w0, w23, #1 13057C15 asr w21, w0, #5 F9400660 ldr x0, [x19,#8] 2A1503E4 mov w4, w21 AA1603E2 mov x2, x22 2A1403E3 mov w3, w20 52800001 mov w1, #0 97FE5D32 bl System.Array:Copy(System.Array,int,System.Array,int,int) F9400661 ldr x1, [x19,#8] B9400820 ldr w0, [x1,#8] 6B0002BF cmp w21, w0 540035C2 bhs G_M40488_IG44 93407EA0 sxtw x0, x21 D37EF400 lsl x0, x0, #2 91004000 add x0, x0, #16 B8606821 ldr w1, [x1, x0] 52800020 mov w0, #1 1AD82000 lsl w0, w0, w24 51000400 sub w0, w0, #1 0A000021 and w1, w1, w0 0B150280 add w0, w20, w21 B9400AC2 ldr w2, [x22,#8] 6B02001F cmp w0, w2 54003442 bhs G_M40488_IG44 0B150280 add w0, w20, w21 93407C00 sxtw x0, x0 D37EF400 lsl x0, x0, #2 91004000 add x0, x0, #16 B8206AC1 str w1, [x22, x0] 1400010C b G_M40488_IG33 ;; bbWeight=0.50 PerfScore 15.75 G_M40488_IG11: AA1503E1 mov x1, x21 D294E400 movz x0, #0xa720 F2BDD8A0 movk x0, #0xeec5 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE7B29 bl CORINFO_HELP_ISINSTANCEOFARRAY B4001340 cbz x0, G_M40488_IG27 B9401277 ldr w23, [x19,#16] 2A1703E1 mov w1, w23 11001C21 add w1, w1, #7 53037C36 lsr w22, w1, #3 B9400AA1 ldr w1, [x21,#8] 7100003F cmp w1, #0 5400212B blt G_M40488_IG35 4B140021 sub w1, w1, w20 6B16003F cmp w1, w22 540029AB blt G_M40488_IG39 ;; bbWeight=0.50 PerfScore 7.75 G_M40488_IG12: 12000AF5 and w21, w23, #7 34000055 cbz w21, G_M40488_IG13 510006D6 sub w22, w22, #1 ;; bbWeight=0.50 PerfScore 1.00 G_M40488_IG13: B9400801 ldr w1, [x0,#8] 6B14003F cmp w1, w20 54002B63 blo G_M40488_IG41 ;; bbWeight=0.25 PerfScore 1.13 G_M40488_IG14: 91004017 add x23, x0, #16 4B140038 sub w24, w1, w20 D2860C00 movz x0, #0x3060 F2A51400 movk x0, #0x28a0 LSL #16 F2C04340 movk x0, #538 LSL #32 F9400019 ldr x25, [x0] AA1903FA mov x26, x25 7100031F cmp w24, #0 5400020A bge G_M40488_IG16 ;; bbWeight=0.50 PerfScore 3.75 G_M40488_IG15: D288BF00 movz x0, #0x45f8 F2BDD360 movk x0, #0xee9b LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 5280E561 mov w1, #0x72b 97FE8398 bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE D284D300 movz x0, #0x2698 F2A51400 movk x0, #0x28a0 LSL #16 F2C04340 movk x0, #538 LSL #32 C8DFFC00 ldar x0, [x0] AA1A03E1 mov x1, x26 AA1903E2 mov x2, x25 F9400003 ldr x3, [x0] F9402463 ldr x3, [x3,#72] F9401063 ldr x3, [x3,#32] D63F0060 blr x3 ;; bbWeight=0.25 PerfScore 4.63 G_M40488_IG16: 93407E80 sxtw x0, x20 8B170014 add x20, x0, x23 53027ED9 lsr w25, w22, #2 120006D6 and w22, w22, #3 52800017 mov w23, #0 7100033F cmp w25, #0 5400056D ble G_M40488_IG22 ;; bbWeight=0.50 PerfScore 2.25 G_M40488_IG17: AA1403E0 mov x0, x20 2A1803E1 mov w1, w24 F9400662 ldr x2, [x19,#8] B9400843 ldr w3, [x2,#8] 6B0302FF cmp w23, w3 54002C22 bhs G_M40488_IG44 93407EE3 sxtw x3, x23 D37EF463 lsl x3, x3, #2 91004063 add x3, x3, #16 B8636842 ldr w2, [x2, x3] 7100103F cmp w1, #4 540025A3 blo G_M40488_IG40 ;; bbWeight=4 PerfScore 60.00 G_M40488_IG18: B9000002 str w2, [x0] 7100131F cmp w24, #4 540025A3 blo G_M40488_IG41 ;; bbWeight=4 PerfScore 10.00 G_M40488_IG19: 51001318 sub w24, w24, #4 D2860C00 movz x0, #0x3060 F2A51400 movk x0, #0x28a0 LSL #16 F2C04340 movk x0, #538 LSL #32 F940001A ldr x26, [x0] AA1A03FB mov x27, x26 7100031F cmp w24, #0 5400020A bge G_M40488_IG21 ;; bbWeight=4 PerfScore 28.00 G_M40488_IG20: D288BF00 movz x0, #0x45f8 F2BDD360 movk x0, #0xee9b LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 5280E561 mov w1, #0x72b 97FE836B bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE D284D300 movz x0, #0x2698 F2A51400 movk x0, #0x28a0 LSL #16 F2C04340 movk x0, #538 LSL #32 C8DFFC00 ldar x0, [x0] AA1B03E1 mov x1, x27 AA1A03E2 mov x2, x26 F9400003 ldr x3, [x0] F9402463 ldr x3, [x3,#72] F9401063 ldr x3, [x3,#32] D63F0060 blr x3 ;; bbWeight=1 PerfScore 18.50 G_M40488_IG21: 91001294 add x20, x20, #4 110006F7 add w23, w23, #1 6B1902FF cmp w23, w25 54FFFAEB blt G_M40488_IG17 ;; bbWeight=4 PerfScore 10.00 G_M40488_IG22: 34000275 cbz w21, G_M40488_IG23 6B1802DF cmp w22, w24 54002742 bhs G_M40488_IG44 93407EC1 sxtw x1, x22 F9400660 ldr x0, [x19,#8] B9400802 ldr w2, [x0,#8] 6B02033F cmp w25, w2 540026A2 bhs G_M40488_IG44 93407F22 sxtw x2, x25 D37EF442 lsl x2, x2, #2 91004042 add x2, x2, #16 B8626800 ldr w0, [x0, x2] 531D72C2 lsl w2, w22, #3 1AC22800 asr w0, w0, w2 52800022 mov w2, #1 1AD52042 lsl w2, w2, w21 51000442 sub w2, w2, #1 0A020000 and w0, w0, w2 38217A80 strb w0, [x20, x1] ;; bbWeight=0.50 PerfScore 10.00 G_M40488_IG23: 510006D6 sub w22, w22, #1 71000ADF cmp w22, #2 540012E8 bhi G_M40488_IG33 2A1603E0 mov w0, w22 100024E1 adr x1, [@RWD00] B8607821 ldr w1, [x1, x0, LSL #2] 10FFE682 adr x2, [G_M40488_IG02] 8B020021 add x1, x1, x2 D61F0020 br x1 ;; bbWeight=0.50 PerfScore 4.00 G_M40488_IG24: 71000B1F cmp w24, #2 540023E9 bls G_M40488_IG44 F9400660 ldr x0, [x19,#8] B9400801 ldr w1, [x0,#8] 6B01033F cmp w25, w1 54002362 bhs G_M40488_IG44 93407F21 sxtw x1, x25 D37EF421 lsl x1, x1, #2 91004021 add x1, x1, #16 B8616800 ldr w0, [x0, x1] 13107C00 asr w0, w0, #16 39000A80 strb w0, [x20,#2] ;; bbWeight=0.50 PerfScore 8.00 G_M40488_IG25: 7100071F cmp w24, #1 54002269 bls G_M40488_IG44 F9400660 ldr x0, [x19,#8] B9400801 ldr w1, [x0,#8] 6B01033F cmp w25, w1 540021E2 bhs G_M40488_IG44 93407F21 sxtw x1, x25 D37EF421 lsl x1, x1, #2 91004021 add x1, x1, #16 B8616800 ldr w0, [x0, x1] 13087C00 asr w0, w0, #8 39000680 strb w0, [x20,#1] ;; bbWeight=0.50 PerfScore 8.00 G_M40488_IG26: 7100031F cmp w24, #0 540020E9 bls G_M40488_IG44 F9400660 ldr x0, [x19,#8] B9400801 ldr w1, [x0,#8] 6B01033F cmp w25, w1 54002062 bhs G_M40488_IG44 93407F21 sxtw x1, x25 D37EF421 lsl x1, x1, #2 91004021 add x1, x1, #16 38617800 ldrb w0, [x0, x1] 39000280 strb w0, [x20] 1400006D b G_M40488_IG33 ;; bbWeight=0.50 PerfScore 8.00 G_M40488_IG27: AA1503E1 mov x1, x21 D29AE500 movz x0, #0xd728 F2BDDD80 movk x0, #0xeeec LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE7A8A bl CORINFO_HELP_ISINSTANCEOFARRAY AA0003F6 mov x22, x0 B4001BD6 cbz x22, G_M40488_IG43 B9400AA0 ldr w0, [x21,#8] 7100001F cmp w0, #0 54000DAB blt G_M40488_IG35 4B140000 sub w0, w0, w20 B9401277 ldr w23, [x19,#16] 6B17001F cmp w0, w23 540018CB blt G_M40488_IG42 ;; bbWeight=0.50 PerfScore 7.00 G_M40488_IG28: 52800018 mov w24, #0 710082FF cmp w23, #32 54000B2B blt G_M40488_IG32 D2804020 movz x0, #513 F2A10080 movk x0, #0x804 LSL #16 F2C40200 movk x0, #0x2010 LSL #32 F2F00800 movk x0, #0x8040 LSL #48 97FFF0DF bl System.Runtime.Intrinsics.Vector128:g__SoftwareFallback|29_0(long):System.Runtime.Intrinsics.Vector128`1[UInt64] 4EA01C08 mov v8.16b, v0.16b 52800020 mov w0, #1 6E084509 mov v9.d[0], v8.d[1] 97FFF0A5 bl System.Runtime.Intrinsics.Vector128:g__SoftwareFallback|20_0(ubyte):System.Runtime.Intrinsics.Vector128`1[Byte] 4EA01C0A mov v10.16b, v0.16b B9400AC0 ldr w0, [x22,#8] 6B00029F cmp w20, w0 54001BE2 bhs G_M40488_IG44 93407E80 sxtw x0, x20 91004000 add x0, x0, #16 8B0002C0 add x0, x22, x0 F9000BA0 str x0, [fp,#16] // [V42 loc39] F9400BB9 ldr x25, [fp,#16] // [V42 loc39] B9401260 ldr w0, [x19,#16] 7100801F cmp w0, #32 6E180528 mov v8.d[1], v9.d[0] 5400052B blt G_M40488_IG30 ;; bbWeight=0.50 PerfScore 11.50 G_M40488_IG29: F9400660 ldr x0, [x19,#8] 131F7F01 asr w1, w24, #31 12001021 and w1, w1, #31 0B180021 add w1, w1, w24 13057C21 asr w1, w1, #5 B9400802 ldr w2, [x0,#8] 6B02003F cmp w1, w2 540019C2 bhs G_M40488_IG44 93407C21 sxtw x1, x1 D37EF421 lsl x1, x1, #2 91004021 add x1, x1, #16 B8616800 ldr w0, [x0, x1] 12009C01 and w1, w0, #0xff00ff 13812021 ror w1, w1, #8 12089C00 and w0, w0, #0xff00ff00 13806000 ror w0, w0, #24 0B000020 add w0, w1, w0 6E084509 mov v9.d[0], v8.d[1] 6E08454B mov v11.d[0], v10.d[1] 97FFF096 bl System.Runtime.Intrinsics.Vector128:g__SoftwareFallback|23_0(int):System.Runtime.Intrinsics.Vector128`1[Int32] 4E003810 zip1 v16.16b, v0.16b, v0.16b 4E103A10 zip1 v16.16b, v16.16b, v16.16b 4E103A11 zip1 v17.16b, v16.16b, v16.16b 6E180528 mov v8.d[1], v9.d[0] 4E281E31 and v17.16b, v17.16b, v8.16b 6E18056A mov v10.d[1], v11.d[0] 6E2A6E31 umin v17.16b, v17.16b, v10.16b 93407F00 sxtw x0, x24 8B000320 add x0, x25, x0 4C007011 st1 {v17.16b}, [x0] 4E107A10 zip2 v16.16b, v16.16b, v16.16b 4E281E10 and v16.16b, v16.16b, v8.16b 6E2A6E10 umin v16.16b, v16.16b, v10.16b 91004000 add x0, x0, #16 4C007010 st1 {v16.16b}, [x0] 11008318 add w24, w24, #32 11008300 add w0, w24, #32 B9401261 ldr w1, [x19,#16] 6B01001F cmp w0, w1 54FFFB2D ble G_M40488_IG29 ;; bbWeight=4 PerfScore 160.00 G_M40488_IG30: D2800000 mov x0, #0 F9000BA0 str x0, [fp,#16] // [V42 loc39] B9401260 ldr w0, [x19,#16] 6B00031F cmp w24, w0 5400032A bge G_M40488_IG33 ;; bbWeight=0.50 PerfScore 3.00 G_M40488_IG31: 53057F00 lsr w0, w24, #5 12001301 and w1, w24, #31 F9400662 ldr x2, [x19,#8] B9400843 ldr w3, [x2,#8] 6B03001F cmp w0, w3 54001462 bhs G_M40488_IG44 93407C00 sxtw x0, x0 D37EF400 lsl x0, x0, #2 91004000 add x0, x0, #16 B8606840 ldr w0, [x2, x0] 1AC12800 asr w0, w0, w1 7200001F tst w0, #1 9A9F07E0 cset x0, ne 0B180281 add w1, w20, w24 B9400AC2 ldr w2, [x22,#8] 6B02003F cmp w1, w2 54001302 bhs G_M40488_IG44 93407C21 sxtw x1, x1 91004021 add x1, x1, #16 38217AC0 strb w0, [x22, x1] 11000718 add w24, w24, #1 ;; bbWeight=2 PerfScore 46.00 G_M40488_IG32: B9401260 ldr w0, [x19,#16] 6B00031F cmp w24, w0 54FFFD2B blt G_M40488_IG31 ;; bbWeight=4 PerfScore 18.00 G_M40488_IG33: F9403FFB ldr x27, [sp,#120] A946EBF9 ldp x25, x26, [sp,#104] A945E3F7 ldp x23, x24, [sp,#88] A944DBF5 ldp x21, x22, [sp,#72] A943D3F3 ldp x19, x20, [sp,#56] 6D42AFEA ldp d10, d11, [sp,#40] 6D41A7E8 ldp d8, d9, [sp,#24] A8C87BFD ldp fp, lr, [sp],#128 D65F03C0 ret lr ;; bbWeight=1 PerfScore 10.00 G_M40488_IG34: 97FE82AF bl CORINFO_HELP_THROWDIVZERO ;; bbWeight=0 PerfScore 0.00 G_M40488_IG35: 97FE82AA bl CORINFO_HELP_OVERFLOW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG36: D2937B00 movz x0, #0x9bd8 F2BDD8A0 movk x0, #0xeec5 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE82AE bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528106A0 mov w0, #0x835 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE82EC bl CORINFO_HELP_STRCNS AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FEFE8D bl System.ArgumentNullException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE82EB bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG37: D29BD400 movz x0, #0xdea0 F2BDD540 movk x0, #0xeeaa LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE829F bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 B9000A74 str w20, [x19,#8] D28F6900 movz x0, #0x7b48 F2BDD8A0 movk x0, #0xeec5 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE8299 bl CORINFO_HELP_NEWSFAST AA0003F4 mov x20, x0 52810820 mov w0, #0x841 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE82D7 bl CORINFO_HELP_STRCNS AA0003F5 mov x21, x0 52801020 mov w0, #129 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE82D1 bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF7831 bl System.SR:GetResourceString(System.String,System.String):System.String AA0003E3 mov x3, x0 AA1503E1 mov x1, x21 AA1303E2 mov x2, x19 AA1403E0 mov x0, x20 97FEFC7E bl System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this AA1403E0 mov x0, x20 97FE82CC bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG38: D2812D00 movz x0, #0x968 F2BDD740 movk x0, #0xeeba LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE8280 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 52809460 mov w0, #0x4a3 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE82BE bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF781E bl System.SR:GetResourceString(System.String,System.String):System.String AA0003F4 mov x20, x0 528106A0 mov w0, #0x835 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE82B6 bl CORINFO_HELP_STRCNS AA0003E2 mov x2, x0 AA1403E1 mov x1, x20 AA1303E0 mov x0, x19 97FEBF0C bl System.ArgumentException:.ctor(System.String,System.String):this AA1303E0 mov x0, x19 97FE82B4 bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG39: D2812D00 movz x0, #0x968 F2BDD740 movk x0, #0xeeba LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE8268 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528020A0 mov w0, #261 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE82A6 bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF7806 bl System.SR:GetResourceString(System.String,System.String):System.String AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FEBEE9 bl System.ArgumentException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE82A3 bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG40: 52800500 mov w0, #40 97FF3BFD bl System.ThrowHelper:ThrowArgumentOutOfRangeException(int) D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 G_M40488_IG41: 97FF3B6B bl System.ThrowHelper:ThrowArgumentOutOfRangeException() D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 G_M40488_IG42: D2812D00 movz x0, #0x968 F2BDD740 movk x0, #0xeeba LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE8252 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528020A0 mov w0, #261 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE8290 bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF77F0 bl System.SR:GetResourceString(System.String,System.String):System.String AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FEBED3 bl System.ArgumentException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE828D bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG43: D2812D00 movz x0, #0x968 F2BDD740 movk x0, #0xeeba LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE8241 bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 52807C60 mov w0, #995 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE827F bl CORINFO_HELP_STRCNS D2800001 mov x1, #0 97FF77DF bl System.SR:GetResourceString(System.String,System.String):System.String AA0003F4 mov x20, x0 528106A0 mov w0, #0x835 D283B401 movz x1, #0x1da0 F2BDDA61 movk x1, #0xeed3 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE8277 bl CORINFO_HELP_STRCNS AA0003E2 mov x2, x0 AA1403E1 mov x1, x20 AA1303E0 mov x0, x19 97FEBECD bl System.ArgumentException:.ctor(System.String,System.String):this AA1303E0 mov x0, x19 97FE8275 bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M40488_IG44: 97FE821C bl CORINFO_HELP_RNGCHKFAIL D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 RWD00 dd 0000039Ch ; case G_M40488_IG26 dd 0000036Ch ; case G_M40488_IG25 dd 0000033Ch ; case G_M40488_IG24 ; Total bytes of code 2040, prolog size 52, PerfScore 711.38, (MethodHash=7d6661d7) for method System.Collections.BitArray:CopyTo(System.Array,int):this ; ============================================================ Completed method System.Collections.BitArray::CopyTo , elapsed ms: 147.74 Completed assembly System.Collections - #types: 7, #methods: 1, skipped types: 0, skipped methods: 0 Prepone for System.Collections method 76 PREPONE type# 6 method# 76 System.Collections.BitArray::.ctor ; Assembly listing for method System.Collections.BitArray:.ctor(System.Boolean[]):this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; Final local variable assignments ; ; V00 this [V00,T05] ( 7, 9 ) ref -> x19 this class-hnd ; V01 arg1 [V01,T06] ( 6, 6.50) ref -> x20 class-hnd ; V02 loc0 [V02,T00] ( 15, 31.50) int -> x22 ;* V03 loc1 [V03 ] ( 0, 0 ) long -> zero-ref ; V04 loc2 [V04 ] ( 5, 2.50) ref -> [fp+0x28] must-init pinned class-hnd ;* V05 loc3 [V05 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V06 loc4 [V06 ] ( 0, 0 ) struct (32) zero-ref HFA(simd16) do-not-enreg[S] ;* V07 loc5 [V07 ] ( 0, 0 ) int -> zero-ref ;* V08 loc6 [V08 ] ( 0, 0 ) long -> zero-ref ;* V09 loc7 [V09 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V10 loc8 [V10 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V11 loc9 [V11 ] ( 0, 0 ) int -> zero-ref ;* V12 loc10 [V12 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V13 loc11 [V13 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ;* V14 loc12 [V14 ] ( 0, 0 ) int -> zero-ref ; V15 loc13 [V15,T19] ( 3, 4.50) simd16 -> d0 HFA(simd16) ; V16 loc14 [V16,T14] ( 3, 3 ) long -> x0 ; V17 loc15 [V17,T20] ( 2, 4 ) simd16 -> d16 HFA(simd16) ; V18 loc16 [V18,T21] ( 2, 4 ) simd16 -> d16 HFA(simd16) ; V19 loc17 [V19,T16] ( 11, 22 ) simd16 -> d16 HFA(simd16) ;* V20 loc18 [V20 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V21 loc19 [V21,T22] ( 2, 4 ) simd16 -> d17 HFA(simd16) ; V22 loc20 [V22,T23] ( 2, 4 ) simd16 -> d17 HFA(simd16) ; V23 loc21 [V23,T17] ( 11, 22 ) simd16 -> d17 HFA(simd16) ;* V24 loc22 [V24 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ; V25 loc23 [V25,T10] ( 2, 4 ) int -> x1 ;* V26 loc24 [V26 ] ( 0, 0 ) int -> zero-ref ; V27 loc25 [V27,T11] ( 2, 4 ) int -> x1 ld-addr-op ;# V28 OutArgs [V28 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V29 tmp1 [V29,T12] ( 2, 4 ) int -> x0 "impAppendStmt" ; V30 tmp2 [V30,T02] ( 3, 12 ) byref -> x0 "dup spill" ;* V31 tmp3 [V31 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "struct address for call/obj" ;* V32 tmp4 [V32 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "struct address for call/obj" ;* V33 tmp5 [V33 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "struct address for call/obj" ; V34 tmp6 [V34,T27] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" ; V35 tmp7 [V35,T13] ( 2, 4 ) int -> x1 "Inlining Arg" ; V36 tmp8 [V36,T26] ( 2, 1 ) simd16 -> d0 HFA(simd16) "Inline return value spill temp" ; V37 tmp9 [V37,T24] ( 2, 4 ) simd16 -> d17 HFA(simd16) ld-addr-op "Inline ldloca(s) first use temp" ; V38 tmp10 [V38,T25] ( 2, 4 ) simd16 -> d18 HFA(simd16) ld-addr-op "Inline ldloca(s) first use temp" ; V39 tmp11 [V39,T18] ( 2, 8 ) simd16 -> [fp+0x10] HFA(simd16) do-not-enreg[SF] ld-addr-op "Inlining Arg" ; V40 tmp12 [V40,T07] ( 3, 6 ) int -> x0 "Inline stloc first use temp" ; V41 tmp13 [V41,T28] ( 2, 0 ) ref -> x1 "argument with side effect" ; V42 tmp14 [V42,T15] ( 2, 2 ) long -> x0 "Cast away GC" ; V43 tmp15 [V43,T03] ( 3, 12 ) ref -> x2 "arr expr" ; V44 tmp16 [V44,T04] ( 3, 12 ) ref -> x2 "arr expr" ; V45 cse0 [V45,T08] ( 3, 6 ) int -> x3 "CSE - moderate" ; V46 cse1 [V46,T09] ( 3, 6 ) long -> x1 "CSE - moderate" ; V47 cse2 [V47,T01] ( 8, 14.50) int -> x21 "CSE - moderate" ; ; Lcl frame size = 32 G_M45590_IG01: A9BB7BFD stp fp, lr, [sp,#-80]! A90353F3 stp x19, x20, [sp,#48] A9045BF5 stp x21, x22, [sp,#64] 910003FD mov fp, sp F90017BF str xzr, [fp,#40] // [V04 loc2] AA0003F3 mov x19, x0 AA0103F4 mov x20, x1 ;; bbWeight=1 PerfScore 5.50 G_M45590_IG02: B4000D74 cbz x20, G_M45590_IG17 ;; bbWeight=1 PerfScore 1.00 G_M45590_IG03: B9400A95 ldr w21, [x20,#8] 2A1503E1 mov w1, w21 11007C21 add w1, w1, #31 53057C21 lsr w1, w1, #5 93407C21 sxtw x1, x1 D2888000 movz x0, #0x4400 F2BDD720 movk x0, #0xeeb9 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE886A bl CORINFO_HELP_NEWARR_1_VC 9100226E add x14, x19, #8 AA0003EF mov x15, x0 97FE8813 bl CORINFO_HELP_ASSIGN_REF B9001275 str w21, [x19,#16] 52800016 mov w22, #0 2A1503E0 mov w0, w21 7100801F cmp w0, #32 54000A2B blt G_M45590_IG12 ;; bbWeight=1 PerfScore 13.50 G_M45590_IG04: D2881000 movz x0, #0x4080 F2A20400 movk x0, #0x1020 LSL #16 F2C08100 movk x0, #0x408 LSL #32 F2E02040 movk x0, #258 LSL #48 97FFFB7F bl System.Runtime.Intrinsics.Vector128:g__SoftwareFallback|24_0(long):System.Runtime.Intrinsics.Vector128`1[Int64] F90017B4 str x20, [fp,#40] // [V04 loc2] F94017A0 ldr x0, [fp,#40] // [V04 loc2] B9400800 ldr w0, [x0,#8] 35000060 cbnz w0, G_M45590_IG06 ;; bbWeight=0.50 PerfScore 5.00 G_M45590_IG05: D2800000 mov x0, #0 14000029 b G_M45590_IG08 ;; bbWeight=0.50 PerfScore 0.75 G_M45590_IG06: F94017A0 ldr x0, [fp,#40] // [V04 loc2] B9400800 ldr w0, [x0,#8] 7100001F cmp w0, #0 54000B49 bls G_M45590_IG18 F94017A0 ldr x0, [fp,#40] // [V04 loc2] 91004000 add x0, x0, #16 ;; bbWeight=0.50 PerfScore 4.50 G_M45590_IG07: 93407EC1 sxtw x1, x22 8B010001 add x1, x0, x1 4C407030 ld1 {v16.16b}, [x1] 4E010FF1 dup v17.16b, wzr 6E318E10 cmeq v16.16b, v16.16b, v17.16b 4E201E10 and v16.16b, v16.16b, v0.16b 4E30BE10 addp v16.16b, v16.16b, v16.16b 4E30BE10 addp v16.16b, v16.16b, v16.16b 4E30BE10 addp v16.16b, v16.16b, v16.16b 91004021 add x1, x1, #16 4C407031 ld1 {v17.16b}, [x1] 4E010FF2 dup v18.16b, wzr 6E328E31 cmeq v17.16b, v17.16b, v18.16b 4E201E31 and v17.16b, v17.16b, v0.16b 4E31BE31 addp v17.16b, v17.16b, v17.16b 4E31BE31 addp v17.16b, v17.16b, v17.16b 4E31BE31 addp v17.16b, v17.16b, v17.16b 4E513A10 zip1 v16.8h, v16.8h, v17.8h 3D8007B0 str q16, [fp,#16] // [V39 tmp11] B94013A1 ldr w1, [fp,#16] // [V39 tmp11] F9400662 ldr x2, [x19,#8] 131F7EC3 asr w3, w22, #31 12001063 and w3, w3, #31 0B160063 add w3, w3, w22 13057C63 asr w3, w3, #5 B9400844 ldr w4, [x2,#8] 6B04007F cmp w3, w4 54000782 bhs G_M45590_IG18 93407C63 sxtw x3, x3 D37EF463 lsl x3, x3, #2 91004063 add x3, x3, #16 2A2103E1 mvn w1, w1 B8236841 str w1, [x2, x3] 110082D6 add w22, w22, #32 ;; bbWeight=2 PerfScore 90.00 G_M45590_IG08: 110082C1 add w1, w22, #32 6B0102BF cmp w21, w1 54FFFB8A bge G_M45590_IG07 ;; bbWeight=4 PerfScore 8.00 G_M45590_IG09: D2800000 mov x0, #0 F90017A0 str x0, [fp,#40] // [V04 loc2] 6B1602BF cmp w21, w22 5400032D ble G_M45590_IG13 ;; bbWeight=0.50 PerfScore 1.50 G_M45590_IG10: 6B1502DF cmp w22, w21 540005A2 bhs G_M45590_IG18 93407EC0 sxtw x0, x22 91004000 add x0, x0, #16 38607A80 ldrb w0, [x20, x0] 34000200 cbz w0, G_M45590_IG11 53057EC0 lsr w0, w22, #5 120012C1 and w1, w22, #31 F9400662 ldr x2, [x19,#8] B9400843 ldr w3, [x2,#8] 6B03001F cmp w0, w3 54000462 bhs G_M45590_IG18 93407C00 sxtw x0, x0 D37EF400 lsl x0, x0, #2 91004000 add x0, x0, #16 8B000040 add x0, x2, x0 B9400002 ldr w2, [x0] 52800023 mov w3, #1 1AC12061 lsl w1, w3, w1 2A010041 orr w1, w2, w1 B9000001 str w1, [x0] ;; bbWeight=2 PerfScore 47.00 G_M45590_IG11: 110006D6 add w22, w22, #1 ;; bbWeight=2 PerfScore 1.00 G_M45590_IG12: 6B1602BF cmp w21, w22 54FFFD2C bgt G_M45590_IG10 ;; bbWeight=4 PerfScore 6.00 G_M45590_IG13: B900167F str wzr, [x19,#20] ;; bbWeight=1 PerfScore 1.00 G_M45590_IG14: A9445BF5 ldp x21, x22, [sp,#64] A94353F3 ldp x19, x20, [sp,#48] A8C57BFD ldp fp, lr, [sp],#80 D65F03C0 ret lr ;; bbWeight=1 PerfScore 4.00 G_M45590_IG15: 97FE87AA bl CORINFO_HELP_OVERFLOW ;; bbWeight=0 PerfScore 0.00 G_M45590_IG16: 97FE87AD bl CORINFO_HELP_THROWDIVZERO ;; bbWeight=0 PerfScore 0.00 G_M45590_IG17: D2937B00 movz x0, #0x9bd8 F2BDD880 movk x0, #0xeec4 LSL #16 F2CFFF00 movk x0, #0x7ff8 LSL #32 97FE87AD bl CORINFO_HELP_NEWSFAST AA0003F3 mov x19, x0 528100A0 mov w0, #0x805 D283B401 movz x1, #0x1da0 F2BDDA41 movk x1, #0xeed2 LSL #16 F2CFFF01 movk x1, #0x7ff8 LSL #32 97FE87EB bl CORINFO_HELP_STRCNS AA0003E1 mov x1, x0 AA1303E0 mov x0, x19 97FF038C bl System.ArgumentNullException:.ctor(System.String):this AA1303E0 mov x0, x19 97FE87EA bl CORINFO_HELP_THROW ;; bbWeight=0 PerfScore 0.00 G_M45590_IG18: 97FE8791 bl CORINFO_HELP_RNGCHKFAIL D43E0000 bkpt ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 524, prolog size 28, PerfScore 241.15, (MethodHash=39e44de9) for method System.Collections.BitArray:.ctor(System.Boolean[]):this ; ============================================================ Completed method System.Collections.BitArray::.ctor , elapsed ms: 60.74 Completed assembly System.Collections - #types: 7, #methods: 1, skipped types: 0, skipped methods: 0