Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5081081076, [percent: local period] instance int32 [benchapp] Benchmarks::Medium()[OptimizedTier1]() /tmp/jitted-40403-26716.so 0.50 stp x29, x30, [sp, #-16]! 0.37 mov x29, sp 0.69 ldr x0, [x0, #8] 0.29 ↓ cbz x0, 128 0.39 add x1, x0, #0x10 0.39 ldr w0, [x0, #8] 0.17 18: mov x2, #0x2d18 // #11544 0.27 movk x2, #0x49c0, lsl #16 0.39 movk x2, #0xea95, lsl #32 0.56 ldr x2, [x2] 0.21 asr w3, w0, #0 0.27 add x2, x2, #0x8 0.10 mov x4, x1 0.46 cmp w3, #0x8 ↓ b.lt 134 0.48 ldr q16, [x2] 0.33 cmp w3, #0x10 ↓ b.le 94 0.42 sub w0, w3, #0x10 mov w2, w0 0.52 add x0, x1, x2 0.04 movi v17.16b, #0xf 0.48 ldr q18, instance int32 [benchapp] Benchmarks::Medium()[OptimizedTier1]+0x1d0 0.25 nop 1.50 60: ldr q19, [x4] 2.08 and v20.16b, v19.16b, v17.16b 0.10 tbl v20.16b, {v16.16b}, v20.16b 1.58 sshr v19.16b, v19.16b, #4 0.50 tbl v19.16b, {v18.16b}, v19.16b 1.20 and v19.16b, v20.16b, v19.16b 0.69 umaxp v20.4s, v19.4s, v19.4s 1.20 mov x2, v20.d[0] 1.64 cmp x2, #0x0 ↓ b.ne 188 12.61 add x4, x4, #0x10 1.50 cmp x4, x0 ↑ b.cc 60 0.37 94: sub w0, w3, #0x8 0.15 mov w0, w0 0.29 add x0, x1, x0 0.62 cmp x4, x0 0.21 csel x4, x0, x4, hi // hi = pmore 0.54 ldr x2, [x4] 0.39 mov v17.d[0], x2 0.39 ldr x2, [x0] 0.44 mov v17.d[1], x2 0.52 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b 0.52 tbl v16.16b, {v16.16b}, v18.16b 0.37 ldr q18, instance int32 [benchapp] Benchmarks::Medium()[OptimizedTier1]+0x1d0 0.42 sshr v17.16b, v17.16b, #4 0.19 tbl v17.16b, {v18.16b}, v17.16b 0.21 and v16.16b, v16.16b, v17.16b 0.23 umaxp v17.4s, v16.4s, v16.4s 0.12 mov x2, v17.d[0] 0.44 cmp x2, #0x0 ↓ b.eq 180 19.34 cmeq v16.16b, v16.16b, #0 0.15 mvn v16.16b, v16.16b 0.29 shrn v16.8b, v16.8h, #4 0.12 mov x2, v16.d[0] 0.46 rbit x2, x2 0.19 clz x2, x2 0.39 lsr w2, w2, #2 0.42 mov w3, #0xffffffff // #-1 0.50 cmp w2, #0x10 csel w2, w2, w3, ne // ne = any 0.54 asr w3, w2, #0 0.56 cmp w3, #0x8 ↓ b.ge 1bc 37.65 118: sub x1, x4, x1 0.04 add w0, w1, w3 0.77 120: ldp x29, x30, [sp], #16 ← ret 128: mov x1, xzr mov w0, wzr ↑ b 18 134: mov w0, w0 add x0, x1, x0 cmp x1, x0 ↓ b.eq 180 144: ldrb w3, [x4] add x5, x2, #0x20 asr w6, w3, #5 mov w7, #0x1 // #1 lsl w3, w7, w3 ldrsb wzr, [x5] ldr w5, [x5, w6, uxtw #2] tst w5, w3 ↓ b.ne 178 add x4, x4, #0x1 cmp x4, x0 ↑ b.ne 144 ↓ b 180 178: sub x0, x4, x1 ↑ b 120 180: mov w0, #0xffffffff // #-1 ↑ b 120 188: cmeq v17.16b, v19.16b, #0 mvn v16.16b, v17.16b shrn v18.8b, v16.8h, #4 mov x3, v18.d[0] rbit x0, x3 clz x0, x0 lsr w0, w0, #2 mov w2, #0xffffffff // #-1 cmp w0, #0x10 csel w0, w0, w2, ne // ne = any sub x1, x4, x1 add w0, w1, w0 ↑ b 120 1bc: mov x4, x0 sub w3, w2, #0x8 ↑ b 118 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5081081076, [percent: local period] instance void [benchapp-Job-RTQYDZ-1Emitted] BenchmarkDotNet.Autogenerated.Runnable_0::WorkloadActionUnroll(int64)[Optimized]() /tmp/jitted-40403-25486.so Percent stp x29, x30, [sp, #-48]! stp x19, x20, [sp, #16] stp x21, x22, [sp, #32] mov x29, sp mov x19, x0 mov x20, x1 mov x21, xzr cmp x21, x20 ↓ b.ge 1e8 1.32 24: ldp x1, x22, [x19, #56] 1.97 ldr x0, [x1, #8] 1.97 ldr x1, [x1, #24] 1.32 → blr x1 1.97 stlur w0, [x22, #56] 0.66 ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 2.63 → blr x1 3.29 stlr w0, [x22] 0.66 ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] ldr x0, [x1, #8] 1.97 ldr x1, [x1, #24] 0.66 → blr x1 0.66 stlr w0, [x22] 0.66 ldr x0, [x19, #64] add x22, x0, #0x38 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 0.66 → blr x1 0.66 stlr w0, [x22] 0.66 ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] ldr x0, [x1, #8] 1.32 ldr x1, [x1, #24] 0.66 → blr x1 0.66 stlr w0, [x22] 1.32 ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] 2.63 ldr x1, [x1, #24] 1.32 → blr x1 3.29 stlr w0, [x22] 0.66 ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] ldr x1, [x1, #24] 0.66 → blr x1 0.66 stlr w0, [x22] 1.32 ldr x0, [x19, #64] add x22, x0, #0x38 ldr x1, [x19, #56] 1.97 ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 0.66 → blr x1 stlr w0, [x22] 1.97 ldr x0, [x19, #64] 0.66 add x22, x0, #0x38 0.66 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 1.32 → blr x1 0.66 stlr w0, [x22] 1.97 ldr x0, [x19, #64] add x22, x0, #0x38 1.32 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 1.32 → blr x1 2.63 stlr w0, [x22] 0.66 ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] ldr x1, [x1, #24] 0.66 → blr x1 1.32 stlr w0, [x22] ldr x0, [x19, #64] add x22, x0, #0x38 0.66 ldr x1, [x19, #56] 0.66 ldr x0, [x1, #8] 1.32 ldr x1, [x1, #24] 1.32 → blr x1 2.63 stlr w0, [x22] ldr x0, [x19, #64] add x22, x0, #0x38 1.32 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 1.32 → blr x1 stlr w0, [x22] 1.32 ldr x0, [x19, #64] add x22, x0, #0x38 ldr x1, [x19, #56] ldr x0, [x1, #8] ldr x1, [x1, #24] 0.66 → blr x1 3.95 stlr w0, [x22] 1.97 ldr x0, [x19, #64] add x22, x0, #0x38 ldr x1, [x19, #56] 1.32 ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 1.32 → blr x1 2.63 stlr w0, [x22] 1.32 ldr x0, [x19, #64] add x22, x0, #0x38 1.32 ldr x1, [x19, #56] ldr x0, [x1, #8] 0.66 ldr x1, [x1, #24] 0.66 → blr x1 0.66 stlr w0, [x22] add x21, x21, #0x1 1.32 cmp x21, x20 ↑ b.lt 24 1e8: ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #48 ← ret