Created
July 21, 2024 13:28
-
-
Save SwapnilGaikwad/c1699d6980959a888c67395c2dff65b3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; Assembly listing for method JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long:RunBasicScenario_LoadFirstFaulting():this (Instrumented Tier0) | |
; Emitting BLENDED_CODE for generic ARM64 - Unix | |
; Instrumented Tier0 code | |
; fp based frame | |
; partially interruptible | |
; Final local variable assignments | |
; | |
; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x1B8] do-not-enreg[] this class-hnd <JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long> | |
; V01 loc0 [V01 ] ( 1, 1 ) simd16 -> [fp+0x1A0] HFA(simd16) do-not-enreg[S] must-init <System.Numerics.Vector`1[long]> | |
; V02 loc1 [V02 ] ( 1, 1 ) simd16 -> [fp+0x190] HFA(simd16) do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.Vector`1[ulong]> | |
; V03 loc2 [V03 ] ( 1, 1 ) byref -> [fp+0x188] do-not-enreg[] must-init | |
; V04 loc3 [V04 ] ( 1, 1 ) simd16 -> [fp+0x170] HFA(simd16) do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.Vector`1[long]> | |
; V05 loc4 [V05 ] ( 1, 1 ) long -> [fp+0x168] do-not-enreg[] must-init | |
; V06 loc5 [V06 ] ( 1, 1 ) int -> [fp+0x164] do-not-enreg[] must-init | |
; V07 loc6 [V07 ] ( 1, 1 ) int -> [fp+0x160] do-not-enreg[] must-init | |
; V08 loc7 [V08 ] ( 1, 1 ) simd16 -> [fp+0x150] HFA(simd16) do-not-enreg[S] must-init <System.Numerics.Vector`1[ulong]> | |
; V09 loc8 [V09 ] ( 1, 1 ) simd16 -> [fp+0x140] HFA(simd16) do-not-enreg[S] must-init <System.Numerics.Vector`1[ubyte]> | |
; V10 loc9 [V10 ] ( 1, 1 ) byref -> [fp+0x138] do-not-enreg[] must-init | |
; V11 loc10 [V11 ] ( 1, 1 ) byref -> [fp+0x130] do-not-enreg[] must-init | |
; V12 loc11 [V12 ] ( 1, 1 ) ref -> [fp+0x128] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object> | |
; V13 loc12 [V13 ] ( 1, 1 ) ref -> [fp+0x120] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object> | |
; V14 loc13 [V14 ] ( 1, 1 ) struct (16) [fp+0x110] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Span`1[ubyte]> | |
; V15 loc14 [V15 ] ( 1, 1 ) struct (40) [fp+0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler> | |
; V16 loc15 [V16 ] ( 1, 1 ) int -> [fp+0xE4] do-not-enreg[] must-init | |
;# V17 OutArgs [V17 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
; V18 tmp1 [V18 ] ( 1, 1 ) struct (16) [fp+0xD0] do-not-enreg[SR] multireg-ret must-init "Return value temp for multireg return" <System.Span`1[ubyte]> | |
; V19 tmp2 [V19 ] ( 1, 1 ) struct (16) [fp+0xC0] do-not-enreg[SR] multireg-ret must-init "Return value temp for multireg return" <System.Span`1[ubyte]> | |
; V20 tmp3 [V20 ] ( 1, 1 ) struct (16) [fp+0xB0] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]> | |
; V21 tmp4 [V21 ] ( 1, 1 ) struct (16) [fp+0xA0] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]> | |
; V22 tmp5 [V22 ] ( 1, 1 ) struct (16) [fp+0x90] do-not-enreg[SR] multireg-ret must-init "Return value temp for multireg return" <System.Span`1[ubyte]> | |
; V23 tmp6 [V23 ] ( 1, 1 ) int -> [fp+0x8C] do-not-enreg[] "non-inline candidate call" | |
; V24 tmp7 [V24 ] ( 1, 1 ) ref -> [fp+0x80] do-not-enreg[] must-init "handle histogram profile tmp" | |
; V25 tmp8 [V25 ] ( 1, 1 ) ref -> [fp+0x78] do-not-enreg[] must-init "handle histogram profile tmp" | |
; V26 tmp9 [V26 ] ( 1, 1 ) ref -> [fp+0x70] do-not-enreg[] must-init "handle histogram profile tmp" | |
; V27 tmp10 [V27 ] ( 1, 1 ) int -> [fp+0x68] do-not-enreg[X] addr-exposed "patchpoint counter" | |
; V28 tmp11 [V28 ] ( 1, 1 ) ref -> [fp+0x60] do-not-enreg[] must-init "argument with side effect" | |
; V29 tmp12 [V29 ] ( 1, 1 ) ref -> [fp+0x58] do-not-enreg[] must-init "argument with side effect" | |
; V30 tmp13 [V30 ] ( 1, 1 ) ref -> [fp+0x50] do-not-enreg[] must-init "argument with side effect" | |
; V31 tmp14 [V31 ] ( 1, 1 ) ref -> [fp+0x48] do-not-enreg[] must-init "argument with side effect" | |
; V32 tmp15 [V32 ] ( 1, 1 ) long -> [fp+0x40] do-not-enreg[] "Cast away GC" | |
; V33 tmp16 [V33 ] ( 1, 1 ) ref -> [fp+0x38] do-not-enreg[] must-init "argument with side effect" | |
; V34 tmp17 [V34 ] ( 1, 1 ) long -> [fp+0x30] do-not-enreg[] "Cast away GC" | |
; V35 tmp18 [V35 ] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[] "Cast away GC" | |
; V36 tmp19 [V36 ] ( 1, 1 ) long -> [fp+0x20] do-not-enreg[] "argument with side effect" | |
; V37 tmp20 [V37 ] ( 1, 1 ) long -> [fp+0x18] do-not-enreg[] "argument with side effect" | |
; V38 tmp21 [V38 ] ( 1, 1 ) long -> [fp+0x10] do-not-enreg[] "argument with side effect" | |
; | |
; Lcl frame size = 432 | |
G_M11398_IG01: ;; offset=0x0000 | |
stp fp, lr, [sp, #-0x1C0]! | |
mov fp, sp | |
movi v16.16b, #0 | |
add x9, fp, #120 | |
add x10, fp, #368 | |
stp q16, q16, [x9, #-0x40] | |
stp q16, q16, [x9, #-0x20] | |
bfm x9, xzr, #0, #5 | |
dczva x9 | |
add x9, x9, #64 | |
cmp x9, x10 | |
blo pc-16 (-4 instructions) | |
stp q16, q16, [x10] | |
stp q16, q16, [x10, #0x20] | |
str x0, [fp, #0x1B8] // [V00 this] | |
;; size=60 bbWeight=1 PerfScore 12.00 | |
G_M11398_IG02: ;; offset=0x003C | |
movz x0, #0xE618 | |
movk x0, #0x6039 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
movz x1, #0x6208 // code for TestLibrary.TestFramework:BeginScenario(System.String) | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
ptrue p0.d | |
mov z16.d, p0/z, #1 | |
str q16, [fp, #0x1A0] // [V01 loc0] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
ldrsb wzr, [x0] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
movz x1, #0x5518 // code for JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long+DataTable:get_inArray1Ptr():ulong:this | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
ptrue p0.d | |
mov z16.d, p0/z, #1 | |
ptrue p0.d | |
cmpne p0.d, p0/z, z16.d, #0 | |
ld1d { z16.d }, p0/z, [x0] | |
str q16, [fp, #0x190] // [V02 loc1] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
ldr x0, [x0, #0x20] | |
str x0, [fp, #0x80] // [V24 tmp7] | |
ldr x0, [fp, #0x80] // [V24 tmp7] | |
movz x1, #0x70F8 | |
movk x1, #0x1645 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
bl CORINFO_HELP_CLASSPROFILE32 | |
ldr x0, [fp, #0x80] // [V24 tmp7] | |
str x0, [fp, #0x60] // [V28 tmp11] | |
ldr x0, [fp, #0x60] // [V28 tmp11] | |
ldr x1, [fp, #0x60] // [V28 tmp11] | |
ldr x1, [x1] | |
ldr x1, [x1, #0x48] | |
ldr x1, [x1, #0x38] | |
blr x1 | |
str x0, [fp, #0xD0] // [V18 tmp1] | |
str x1, [fp, #0xD8] // [V18 tmp1+0x08] | |
;; size=180 bbWeight=1 PerfScore 73.00 | |
G_M11398_IG03: ;; offset=0x00F0 | |
ldp x0, x1, [fp, #0xD0] | |
stp x0, x1, [fp, #0x110] | |
;; size=8 bbWeight=1 PerfScore 4.00 | |
G_M11398_IG04: ;; offset=0x00F8 | |
add x0, fp, #272 // [V14 loc13] | |
movz x1, #0x5560 // code for System.Span`1[ubyte]:GetPinnableReference():byref:this | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
str x0, [fp, #0x188] // [V03 loc2] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
ldrsb wzr, [x0] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
movz x1, #0x5548 // code for JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long+DataTable:get_inArray3Ptr():ulong:this | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
ldr q16, [fp, #0x1A0] // [V01 loc0] | |
ptrue p0.d | |
cmpne p0.d, p0/z, z16.d, #0 | |
ld1d { z16.d }, p0/z, [x0] | |
str q16, [fp, #0x170] // [V04 loc3] | |
mov x0, #15 | |
str x0, [fp, #0x168] // [V05 loc4] | |
add x0, fp, #232 // [V15 loc14] | |
mov w1, #18 | |
mov w2, #1 | |
movz x3, #0x5458 // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this | |
movk x3, #0x15E7 LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
add x0, fp, #232 // [V15 loc14] | |
movz x1, #0xE678 | |
movk x1, #0x6039 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
movz x2, #0x5488 // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this | |
movk x2, #0x15E7 LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
ldr x0, [x0, #0x20] | |
str x0, [fp, #0x78] // [V25 tmp8] | |
ldr x0, [fp, #0x78] // [V25 tmp8] | |
movz x1, #0x7200 | |
movk x1, #0x1645 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
bl CORINFO_HELP_CLASSPROFILE32 | |
ldr x0, [fp, #0x78] // [V25 tmp8] | |
str x0, [fp, #0x58] // [V29 tmp12] | |
ldr x0, [fp, #0x58] // [V29 tmp12] | |
ldr x1, [fp, #0x58] // [V29 tmp12] | |
ldr x1, [x1] | |
ldr x1, [x1, #0x48] | |
ldr x1, [x1, #0x38] | |
blr x1 | |
str x0, [fp, #0xC0] // [V19 tmp2] | |
str x1, [fp, #0xC8] // [V19 tmp2+0x08] | |
;; size=236 bbWeight=1 PerfScore 82.00 | |
G_M11398_IG05: ;; offset=0x01E4 | |
ldp x0, x1, [fp, #0xC0] | |
stp x0, x1, [fp, #0x110] | |
;; size=8 bbWeight=1 PerfScore 4.00 | |
G_M11398_IG06: ;; offset=0x01EC | |
add x0, fp, #232 // [V15 loc14] | |
ldr w1, [fp, #0x118] // [V14 loc13+0x08] | |
movz x2, #0x52C0 // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this | |
movk x2, #0x15E7 LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
add x0, fp, #232 // [V15 loc14] | |
movz x1, #0xE478 | |
movk x1, #0x6039 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
movz x2, #0x5488 // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this | |
movk x2, #0x15E7 LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
add x0, fp, #232 // [V15 loc14] | |
movz x1, #0x54A0 // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
movz x1, #0x4318 // code for TestLibrary.TestFramework:LogInformation(System.String) | |
movk x1, #0x163F LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
add x1, fp, #368 // [V04 loc3] | |
movz x0, #0x39E8 | |
movk x0, #0x15E9 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_BOX | |
str x0, [fp, #0x128] // [V12 loc11] | |
add x0, fp, #176 // [V20 tmp3] | |
add x2, fp, #296 // [V12 loc11] | |
movz x1, #0x6B58 | |
movk x1, #0x1645 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
movz x3, #0x4798 // code for System.ReadOnlySpan`1[System.__Canon]:.ctor(byref):this | |
movk x3, #0x163F LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
ldr x1, [fp, #0xB0] // [V20 tmp3] | |
ldr x2, [fp, #0xB8] // [V20 tmp3+0x08] | |
movz x0, #0x9A30 | |
movk x0, #0x6039 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
movz x3, #0x47B0 // code for System.String:Join(System.String,System.ReadOnlySpan`1[System.Object]):System.String | |
movk x3, #0x163F LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
str x0, [fp, #0x50] // [V30 tmp13] | |
ldr x1, [fp, #0x50] // [V30 tmp13] | |
movz x0, #0xE6B0 | |
movk x0, #0x6039 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
movz x2, #0xE478 | |
movk x2, #0x6039 LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
movz x3, #0xFE88 // code for System.String:Concat(System.String,System.String,System.String):System.String | |
movk x3, #0x15E7 LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
movz x1, #0x4318 // code for TestLibrary.TestFramework:LogInformation(System.String) | |
movk x1, #0x163F LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
movn w0, #0 | |
str w0, [fp, #0x164] // [V06 loc5] | |
str wzr, [fp, #0xE4] // [V16 loc15] | |
mov w0, #0x3E8 | |
str w0, [fp, #0x68] // [V27 tmp10] | |
b G_M11398_IG12 | |
;; size=308 bbWeight=1 PerfScore 72.00 | |
G_M11398_IG07: ;; offset=0x0320 | |
add x0, fp, #400 // [V02 loc1] | |
ldr w1, [fp, #0xE4] // [V16 loc15] | |
movz x2, #0x47C8 // code for System.Numerics.Vector`1[ulong]:get_Item(int):ulong:this | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
cbz x0, G_M11398_IG11 | |
ldr w0, [fp, #0x164] // [V06 loc5] | |
cmn w0, #1 | |
bne G_M11398_IG08 | |
movz x0, #0x7308 | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
ldr q0, [fp, #0x170] // [V04 loc3] | |
ldr w0, [fp, #0xE4] // [V16 loc15] | |
mov x1, xzr | |
movz x2, #0x4738 // code for System.Numerics.Vector:WithElement[long](System.Numerics.Vector`1[long],int,long):System.Numerics.Vector`1[long] | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
str q0, [fp, #0x170] // [V04 loc3] | |
ldr w0, [fp, #0xE4] // [V16 loc15] | |
str w0, [fp, #0x164] // [V06 loc5] | |
b G_M11398_IG11 | |
;; size=108 bbWeight=1 PerfScore 30.00 | |
G_M11398_IG08: ;; offset=0x038C | |
add x0, fp, #368 // [V04 loc3] | |
ldr w1, [fp, #0xE4] // [V16 loc15] | |
movz x2, #0x47E0 // code for System.Numerics.Vector`1[long]:get_Item(int):long:this | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
tbnz x0, #63, G_M11398_IG10 | |
add x0, fp, #368 // [V04 loc3] | |
ldr w1, [fp, #0xE4] // [V16 loc15] | |
movz x2, #0x47E0 // code for System.Numerics.Vector`1[long]:get_Item(int):long:this | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
ldr x1, [fp, #0x168] // [V05 loc4] | |
cmp x0, x1 | |
ble G_M11398_IG22 | |
;; size=72 bbWeight=1 PerfScore 20.50 | |
G_M11398_IG09: ;; offset=0x03D4 | |
movz x0, #0x730C | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
;; size=16 bbWeight=0.50 PerfScore 1.25 | |
G_M11398_IG10: ;; offset=0x03E4 | |
movz x0, #0x7310 | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
ldr q0, [fp, #0x170] // [V04 loc3] | |
ldr w0, [fp, #0xE4] // [V16 loc15] | |
ldr x1, [fp, #0x168] // [V05 loc4] | |
movz x2, #0x4738 // code for System.Numerics.Vector:WithElement[long](System.Numerics.Vector`1[long],int,long):System.Numerics.Vector`1[long] | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
str q0, [fp, #0x170] // [V04 loc3] | |
;; size=52 bbWeight=1 PerfScore 15.00 | |
G_M11398_IG11: ;; offset=0x0418 | |
movz x0, #0x7314 | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
ldr w0, [fp, #0xE4] // [V16 loc15] | |
add w0, w0, #1 | |
str w0, [fp, #0xE4] // [V16 loc15] | |
;; size=28 bbWeight=1 PerfScore 6.00 | |
G_M11398_IG12: ;; offset=0x0434 | |
ldr w0, [fp, #0x68] // [V27 tmp10] | |
sub w0, w0, #1 | |
str w0, [fp, #0x68] // [V27 tmp10] | |
ldr w0, [fp, #0x68] // [V27 tmp10] | |
cmp w0, #0 | |
bgt G_M11398_IG14 | |
;; size=24 bbWeight=1 PerfScore 7.00 | |
G_M11398_IG13: ;; offset=0x044C | |
add x0, fp, #104 // [V27 tmp10] | |
mov w1, #303 | |
bl CORINFO_HELP_PATCHPOINT | |
;; size=12 bbWeight=0.01 PerfScore 0.02 | |
G_M11398_IG14: ;; offset=0x0458 | |
ldr w0, [fp, #0xE4] // [V16 loc15] | |
cmp w0, #2 | |
blt G_M11398_IG07 | |
mov w0, #1 | |
str w0, [fp, #0x160] // [V07 loc6] | |
ldr w0, [fp, #0x164] // [V06 loc5] | |
cmn w0, #1 | |
beq G_M11398_IG16 | |
ldr w0, [fp, #0x164] // [V06 loc5] | |
ldr w1, [fp, #0x160] // [V07 loc6] | |
cmp w0, w1 | |
bne G_M11398_IG21 | |
;; size=48 bbWeight=1 PerfScore 14.00 | |
G_M11398_IG15: ;; offset=0x0488 | |
movz x0, #0x7318 | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
;; size=16 bbWeight=0.50 PerfScore 1.25 | |
G_M11398_IG16: ;; offset=0x0498 | |
ldr q0, [fp, #0x190] // [V02 loc1] | |
mov w0, wzr | |
mov x1, #1 | |
movz x2, #0x4750 // code for System.Numerics.Vector:WithElement[ulong](System.Numerics.Vector`1[ulong],int,ulong):System.Numerics.Vector`1[ulong] | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
str q0, [fp, #0x190] // [V02 loc1] | |
ldr q0, [fp, #0x170] // [V04 loc3] | |
mov w0, wzr | |
mov x1, xzr | |
movz x2, #0x4738 // code for System.Numerics.Vector:WithElement[long](System.Numerics.Vector`1[long],int,long):System.Numerics.Vector`1[long] | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
str q0, [fp, #0x170] // [V04 loc3] | |
;; size=72 bbWeight=1 PerfScore 19.00 | |
G_M11398_IG17: ;; offset=0x04E0 | |
movz x0, #0x731C | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
ldr q0, [fp, #0x190] // [V02 loc1] | |
ldr w0, [fp, #0x160] // [V07 loc6] | |
mov x1, #1 | |
movz x2, #0x4750 // code for System.Numerics.Vector:WithElement[ulong](System.Numerics.Vector`1[ulong],int,ulong):System.Numerics.Vector`1[ulong] | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
str q0, [fp, #0x190] // [V02 loc1] | |
ldr q0, [fp, #0x170] // [V04 loc3] | |
ldr w0, [fp, #0x160] // [V07 loc6] | |
ldr x1, [fp, #0x168] // [V05 loc4] | |
movz x2, #0x4738 // code for System.Numerics.Vector:WithElement[long](System.Numerics.Vector`1[long],int,long):System.Numerics.Vector`1[long] | |
movk x2, #0x163F LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
ldr x2, [x2] | |
blr x2 | |
str q0, [fp, #0x170] // [V04 loc3] | |
add x1, fp, #368 // [V04 loc3] | |
movz x0, #0x39E8 | |
movk x0, #0x15E9 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_BOX | |
str x0, [fp, #0x120] // [V13 loc12] | |
add x0, fp, #160 // [V21 tmp4] | |
add x2, fp, #288 // [V13 loc12] | |
movz x1, #0x6B58 | |
movk x1, #0x1645 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
movz x3, #0x4798 // code for System.ReadOnlySpan`1[System.__Canon]:.ctor(byref):this | |
movk x3, #0x163F LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
ldr x1, [fp, #0xA0] // [V21 tmp4] | |
ldr x2, [fp, #0xA8] // [V21 tmp4+0x08] | |
movz x0, #0x9A30 | |
movk x0, #0x6039 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
movz x3, #0x47B0 // code for System.String:Join(System.String,System.ReadOnlySpan`1[System.Object]):System.String | |
movk x3, #0x163F LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
str x0, [fp, #0x48] // [V31 tmp14] | |
ldr x1, [fp, #0x48] // [V31 tmp14] | |
movz x0, #0xE6B0 | |
movk x0, #0x6039 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
movz x2, #0xE478 | |
movk x2, #0x6039 LSL #16 | |
movk x2, #0xFB86 LSL #32 | |
movz x3, #0xFE88 // code for System.String:Concat(System.String,System.String,System.String):System.String | |
movk x3, #0x15E7 LSL #16 | |
movk x3, #0xFB86 LSL #32 | |
ldr x3, [x3] | |
blr x3 | |
movz x1, #0x4318 // code for TestLibrary.TestFramework:LogInformation(System.String) | |
movk x1, #0x163F LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
ptrue p0.b | |
mov z16.b, p0/z, #1 | |
ptrue p0.b | |
cmpne p0.b, p0/z, z16.b, #0 | |
wrffr p0.b | |
ldr q16, [fp, #0x190] // [V02 loc1] | |
ptrue p0.d | |
cmpne p0.d, p0/z, z16.d, #0 | |
ldr x0, [fp, #0x188] // [V03 loc2] | |
str x0, [fp, #0x40] // [V32 tmp15] | |
ldr x0, [fp, #0x40] // [V32 tmp15] | |
ldr q16, [fp, #0x170] // [V04 loc3] | |
ldff1b { z16.d }, p0/z, [x0, z16.d] | |
str q16, [fp, #0x150] // [V08 loc7] | |
rdffr p0.b | |
mov z16.b, p0/z, #1 | |
str q16, [fp, #0x140] // [V09 loc8] | |
add x0, fp, #400 // [V02 loc1] | |
str x0, [fp, #0x138] // [V10 loc9] | |
add x0, fp, #368 // [V04 loc3] | |
str x0, [fp, #0x130] // [V11 loc10] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
ldrsb wzr, [x0] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
movz x1, #0x6220 // code for JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long+DataTable:get_outArrayPtr():ulong:this | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
ldr q16, [fp, #0x150] // [V08 loc7] | |
str q16, [x0] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
ldr x0, [x0, #0x20] | |
str x0, [fp, #0x70] // [V26 tmp9] | |
ldr x0, [fp, #0x70] // [V26 tmp9] | |
movz x1, #0x7320 | |
movk x1, #0x1645 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
bl CORINFO_HELP_CLASSPROFILE32 | |
ldr x0, [fp, #0x70] // [V26 tmp9] | |
str x0, [fp, #0x38] // [V33 tmp16] | |
ldr x0, [fp, #0x38] // [V33 tmp16] | |
ldr x1, [fp, #0x38] // [V33 tmp16] | |
ldr x1, [x1] | |
ldr x1, [x1, #0x48] | |
ldr x1, [x1, #0x38] | |
blr x1 | |
str x0, [fp, #0x90] // [V22 tmp5] | |
str x1, [fp, #0x98] // [V22 tmp5+0x08] | |
;; size=468 bbWeight=1 PerfScore 153.00 | |
G_M11398_IG18: ;; offset=0x06B4 | |
ldp x0, x1, [fp, #0x90] | |
stp x0, x1, [fp, #0x110] | |
;; size=8 bbWeight=1 PerfScore 4.00 | |
G_M11398_IG19: ;; offset=0x06BC | |
ldr w0, [fp, #0x118] // [V14 loc13+0x08] | |
str w0, [fp, #0x8C] // [V23 tmp6] | |
ldr x0, [fp, #0x138] // [V10 loc9] | |
str x0, [fp, #0x30] // [V34 tmp17] | |
ldr x0, [fp, #0x30] // [V34 tmp17] | |
str x0, [fp, #0x18] // [V37 tmp20] | |
ldr x0, [fp, #0x130] // [V11 loc10] | |
str x0, [fp, #0x28] // [V35 tmp18] | |
ldr x0, [fp, #0x28] // [V35 tmp18] | |
str x0, [fp, #0x10] // [V38 tmp21] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
ldrsb wzr, [x0] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
add x0, x0, #88 | |
movz x1, #0x6220 // code for JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long+DataTable:get_outArrayPtr():ulong:this | |
movk x1, #0x15E7 LSL #16 | |
movk x1, #0xFB86 LSL #32 | |
ldr x1, [x1] | |
blr x1 | |
str x0, [fp, #0x20] // [V36 tmp19] | |
ldr x5, [fp, #0x20] // [V36 tmp19] | |
ldr x1, [fp, #0x18] // [V37 tmp20] | |
ldr x4, [fp, #0x10] // [V38 tmp21] | |
ldr w3, [fp, #0x8C] // [V23 tmp6] | |
ldr x2, [fp, #0x188] // [V03 loc2] | |
ldr x0, [fp, #0x1B8] // [V00 this] | |
ldr q0, [fp, #0x140] // [V09 loc8] | |
movz x6, #0xE618 | |
movk x6, #0x6039 LSL #16 | |
movk x6, #0xFB86 LSL #32 | |
movz x7, #0x47F8 // code for JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long:ValidateFirstFaultingResult(ulong,byref,int,ulong,ulong,System.Numerics.Vector`1[ubyte],System.String):this | |
movk x7, #0x163F LSL #16 | |
movk x7, #0xFB86 LSL #32 | |
ldr x7, [x7] | |
blr x7 | |
;; size=140 bbWeight=1 PerfScore 50.00 | |
G_M11398_IG20: ;; offset=0x0748 | |
ldp fp, lr, [sp], #0x1C0 | |
ret lr | |
;; size=8 bbWeight=1 PerfScore 2.00 | |
G_M11398_IG21: ;; offset=0x0750 | |
movz x0, #0x7428 | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
b G_M11398_IG17 | |
;; size=20 bbWeight=0.50 PerfScore 1.75 | |
G_M11398_IG22: ;; offset=0x0764 | |
movz x0, #0x742C | |
movk x0, #0x1645 LSL #16 | |
movk x0, #0xFB86 LSL #32 | |
bl CORINFO_HELP_COUNTPROFILE32 | |
b G_M11398_IG11 | |
;; size=20 bbWeight=0.50 PerfScore 1.75 | |
; Total bytes of code 1912, prolog size 56, PerfScore 573.52, instruction count 478, allocated bytes for code 1912 (MethodHash=1b84d379) for method JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long:RunBasicScenario_LoadFirstFaulting():this (Instrumented Tier0) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment