Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-45730-32494.so 0.30 stp x29, x30, [sp, #-80]! 0.37 stp x19, x20, [sp, #24] 0.15 stp x21, x22, [sp, #40] 0.52 stp x23, x24, [sp, #56] 0.15 str x25, [sp, #72] 0.30 mov x29, sp mov x19, x0 0.07 ldr w20, [x19, #32] 0.07 asr w21, w20, #0 0.07 ldp x23, x22, [x19] 0.30 ldrb w24, [x19, #40] 0.15 ldrb w25, [x19, #44] 0.37 ldrb w0, [x19, #68] 0.30 ↓ cbnz w0, 354 0.45 38: ldr w0, [x19, #88] 0.37 ↓ cbz w0, 3dc 0.30 uxtb w0, w1 0.60 cmp w0, #0x2c ↓ b.ne 304 0.22 add w0, w20, #0x1 0.15 str w0, [x19, #32] 0.22 ldr x0, [x19, #8] 0.07 add x0, x0, #0x1 str x0, [x19, #8] 0.22 ldr w0, [x19, #32] 0.22 ldr w1, [x19, #56] 0.07 cmp x1, w0, sxtw 0.22 ↓ b.le 434 1.05 add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] 0.22 cmp w0, w2 ↓ b.cs 858 0.45 ldr x1, [x1] 0.30 ldrb w1, [x1, w0, uxtw #0] 0.22 cmp w1, #0x20 ↓ b.le 494 0.75 94: ldrsw x0, [x19, #32] 0.15 str x0, [x19, #24] 0.15 ldrb w0, [x19, #68] 0.22 cmp w0, #0x2 ↓ b.eq 528 0.22 a8: ldrb w2, [x19, #38] 0.30 ↓ cbz w2, 79c 0.22 cmp w1, #0x22 ↓ b.ne 558 0.15 strb wzr, [x19, #44] 0.37 ldr w1, [x19, #32] 0.15 add w1, w1, #0x1 0.45 ldr w2, [x20, #8] 0.15 cmp w1, w2 ↓ b.hi 620 0.52 ldr x0, [x20] mov w3, w1 0.15 add x0, x0, x3 sub w20, w2, w1 0.30 mov x1, #0x3358 // #13144 movk x1, #0xd00, lsl #16 0.22 movk x1, #0xf729, lsl #32 0.30 ldr x1, [x1] mov x2, x0 0.22 asr w3, w20, #0 0.15 add x1, x1, #0x8 0.07 mov x4, x2 0.15 cmp w3, #0x8 ↓ b.lt 5c0 0.37 ldr q16, [x1] 0.07 cmp w3, #0x10 ↓ b.le 26c 0.07 sub w1, w3, #0x10 mov w1, w1 0.15 add x2, x2, x1 0.07 movi v17.16b, #0xf 0.30 ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x860 0.45 128: ldr q19, [x4] 0.45 and v20.16b, v19.16b, v17.16b tbl v20.16b, {v16.16b}, v20.16b 0.45 sshr v19.16b, v19.16b, #4 0.15 tbl v19.16b, {v18.16b}, v19.16b and v19.16b, v20.16b, v19.16b 0.37 umaxp v20.4s, v19.4s, v19.4s 0.15 mov x1, v20.d[0] 0.07 cmp x1, #0x0 ↓ b.eq 260 16.64 cmeq v17.16b, v19.16b, #0 movi v16.16b, #0x80 0.45 and v18.16b, v17.16b, v16.16b 0.45 ldr q16, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x870 0.45 ushl v16.16b, v18.16b, v16.16b 0.22 uxtl2 v17.8h, v16.16b 0.15 shl v17.8h, v17.8h, #8 uaddw v16.8h, v17.8h, v16.8b 0.22 addv h16, v16.8h 0.22 umov w1, v16.h[0] 0.07 mvn w1, w1 0.07 rbit w1, w1 0.30 clz w1, w1 0.07 sub x4, x4, x0 0.07 add w3, w1, w4 0.30 18c: ↓ tbnz w3, #31, 660 33.51 cmp w3, w20 ↓ b.cs 858 0.30 ldrb w1, [x0, w3, uxtw #0] 5.47 cmp w1, #0x22 ↓ b.ne 638 2.40 ldr x1, [x19, #8] 0.07 add w2, w3, #0x2 0.15 add x1, x1, w2, sxtw 0.15 str x1, [x19, #8] 0.37 cmp w3, w20 ↓ b.hi 620 0.30 str x0, [x19, #152] 0.37 str w3, [x19, #160] 0.15 strb wzr, [x19, #46] mov w0, #0x7 // #7 0.15 strb w0, [x19, #40] 0.22 ldr w1, [x19, #32] add w1, w1, w3 0.22 add w1, w1, #0x2 0.30 str w1, [x19, #32] 0.82 1e0: ldr w0, [x19, #32] 1.80 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.45 ↓ b.le 6b8 4.42 add x20, x19, #0x30 0.07 mov x1, x20 0.45 ldr w2, [x1, #8] 0.37 cmp w0, w2 0.07 ↓ b.cs 858 0.60 ldr x1, [x1] 0.22 ldrb w2, [x1, w0, uxtw #0] 0.90 cmp w2, #0x20 ↓ b.le 6d8 1.87 214: cmp w2, #0x3a ↓ b.ne 774 0.30 ldr w3, [x19, #32] 0.60 add w3, w3, #0x1 0.15 str w3, [x19, #32] 0.22 ldr x3, [x19, #8] add x3, x3, #0x1 0.07 str x3, [x19, #8] 0.22 mov w3, #0x5 // #5 0.07 strb w3, [x19, #40] 0.60 23c: mov w20, wzr 0.15 240: ↓ cbnz w20, 824 0.45 mov w0, #0x1 // #1 ldr x25, [sp, #72] 0.30 ldp x23, x24, [sp, #56] 0.15 ldp x21, x22, [sp, #40] 0.60 ldp x19, x20, [sp, #24] 0.30 ldp x29, x30, [sp], #80 0.15 ← ret 2.40 260: add x4, x4, #0x10 0.07 cmp x4, x2 ↑ b.cc 128 26c: sub w3, w20, #0x8 mov w1, w3 add x1, x0, x1 cmp x4, x1 csel x4, x1, x4, hi // hi = pmore ldr x2, [x4] mov v17.d[0], x2 ldr x2, [x1] mov v17.d[1], x2 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b tbl v16.16b, {v16.16b}, v18.16b ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x860 sshr v17.16b, v17.16b, #4 tbl v17.16b, {v18.16b}, v17.16b and v16.16b, v16.16b, v17.16b umaxp v17.4s, v16.4s, v16.4s mov x2, v17.d[0] cmp x2, #0x0 ↓ b.eq 60c cmeq v16.16b, v16.16b, #0 movi v17.16b, #0x80 and v16.16b, v16.16b, v17.16b ldr q17, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x870 ushl v16.16b, v16.16b, v17.16b uxtl2 v17.8h, v16.16b shl v17.8h, v17.8h, #8 uaddw v16.8h, v17.8h, v16.8b addv h16, v16.8h umov w2, v16.h[0] mvn w2, w2 rbit w2, w2 clz w2, w2 cmp w2, #0x8 ↓ b.ge 614 2f8: sub x1, x4, x0 add w3, w1, w2 ↑ b 18c 0.07 304: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 32c 310: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0xcdd7, lsl #16 0.07 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 23c 32c: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 7f8 338: mov x0, x19 mov x1, #0xc570 // #50544 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 23c 354: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 3b8 uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 38c mov x0, x19 mov x1, #0xc7b0 // #51120 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 23c ↓ b 748 38c: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc7f8 // #51192 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 240 3b8: uxtb w1, w1 mov x0, x19 mov x2, #0xc810 // #51216 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 240 3dc: ldrb w0, [x19, #70] ↓ cbz w0, 408 uxtb w1, w1 mov x0, x19 mov x2, #0xc5a0 // #50592 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 23c ↓ b 748 408: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 434: mov x0, x19 mov x1, #0xc5b8 // #50616 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ldr w3, [x19, #32] sub w3, w3, #0x1 str w3, [x19, #32] ldr x3, [x19, #8] sub x3, x3, #0x1 str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 494: mov x0, x19 mov x1, #0xc510 // #50448 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 504 mov x0, x19 mov x1, #0xc5b8 // #50616 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 504: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 858 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 528: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc7b0 // #51120 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 23c ↓ b 748 558: cmp w1, #0x7d ↓ b.ne 594 ldrb w3, [x19, #69] ↑ cbnz w3, 310 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 594: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 5c0: mov w3, w20 add x2, x2, x3 cmp x4, x2 ↓ b.eq 60c 5d0: ldrb w3, [x4] add x5, x1, #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 604 add x4, x4, #0x1 cmp x4, x2 ↑ b.ne 5d0 ↓ b 60c 604: sub x3, x4, x0 ↑ b 18c 60c: mov w3, #0xffffffff // #-1 ↑ b 18c 614: mov x4, x1 sub w2, w2, #0x8 ↑ b 2f8 620: mov x0, #0xdb00 // #56064 movk x0, #0xcd46, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 638: mov x1, x0 mov w2, w20 mov x0, x19 mov x4, #0xc6c0 // #50880 movk x4, #0xcdd7, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 1e0 ↓ b 748 660: mov x0, x19 mov x1, #0xc5b8 // #50616 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ldr x3, [x19, #8] add w4, w20, #0x1 add x3, x3, w4, sxtw str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6b8: mov x0, x19 mov x1, #0xc5b8 // #50616 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ↓ b 71c 6d8: mov x0, x19 mov x1, #0xc510 // #50448 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 750 mov x0, x19 mov x1, #0xc5b8 // #50616 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 71c: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 748: mov w20, #0x1 // #1 ↑ b 240 750: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 858 ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 214 774: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 79c: cmp w1, #0x5d ↓ b.ne 7d8 ldrb w3, [x19, #69] ↑ cbnz w3, 338 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7d8: mov x0, x19 mov x2, #0xc588 // #50568 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 23c ↑ b 748 7f8: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc4e0 // #50400 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 824: cmp w20, #0x1 ↓ b.ne 83c str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 83c: mov w0, wzr ldr x25, [sp, #72] ldp x23, x24, [sp, #56] ldp x21, x22, [sp, #40] ldp x19, x20, [sp, #24] ldp x29, x30, [sp], #80 ← ret 858: bl ffffffffff2afb28 brk #0xf000 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-45730-32696.so Percent sub sp, sp, #0x1c0 stp x19, x20, [sp, #352] 0.16 stp x21, x22, [sp, #368] stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] add x29, sp, #0x1b0 0.16 movi v16.16b, #0x0 sub x9, x29, #0x158 0.08 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x4, #0x9bba // #39866 movk x4, #0x2c73, lsl #16 0.08 movk x4, #0xfba4, lsl #32 movk x4, #0x216f, lsl #48 stur x4, [x29, #-88] stur x1, [x29, #-104] 0.08 stur x2, [x29, #-96] mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 0.08 cmp w2, w0 ↓ b.gt 1ff4 mov x17, #0xfffffffffffffe58 // #-424 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 2010 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 2020 mov x0, #0x3338 // #13112 0.08 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 ldr x21, [x0] mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdb8 // #3512 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 ldr x24, [x0] sub w0, w23, #0x1 orr w0, w0, #0xf 0.08 clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x2b60 // #11104 movk x0, #0xcddb, lsl #16 movk x0, #0xf730, lsl #32 mov x1, #0x67c0 // #26560 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.55 ↓ cbz x0, 20bc 0.08 ldr w1, [x0, #8] 0.32 cmp w1, w25 ↓ b.ls 20bc 0.16 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 20bc str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 2058 0.16 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 13c: ↓ cbz x26, 2430 add x21, x26, #0x10 ldr w22, [x26, #8] 0.24 148: mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] 0.16 ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0x7f18 // #32536 0.08 movk x4, #0xcdd7, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1f30 mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] 0.08 mov x17, #0xfffffffffffffe64 // #-412 0.08 str w0, [x29, x17] stur x21, [x29, #-120] 0.08 stur w0, [x29, #-112] 0.16 ldur w21, [x29, #-112] 0.16 ↓ cbz w21, dd0 tst w20, #0xff ↓ b.ne e08 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe90 // #-368 str xzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] mov x17, #0xfffffffffffffea0 // #-352 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea1 // #-351 strb wzr, [x29, x17] 0.08 mov x17, #0xfffffffffffffea2 // #-350 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea3 // #-349 strb wzr, [x29, x17] 0.08 mov x17, #0xfffffffffffffea4 // #-348 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea5 // #-347 0.08 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] sub x0, x29, #0x150 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 0.08 mov x5, #0xc348 // #49992 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] 0.16 → blr x5 ↓ b 258 0.71 22c: sub x0, x29, #0x138 0.08 mov w1, w2 0.48 mov x2, #0xc528 // #50472 0.16 movk x2, #0xcdd7, lsl #16 0.24 movk x2, #0xf730, lsl #32 0.48 ldr x2, [x2] 0.24 → blr x2 0.48 asr w20, w0, #0 0.79 24c: ↓ cbz w20, d04 0.79 250: tst w20, #0xff ↓ b.eq d20 0.32 258: mov x17, #0xfffffffffffffef3 // #-269 0.87 ldrb w0, [x29, x17] 0.71 ↓ cbnz w0, 1b00 0.71 mov w20, wzr 0.48 stp xzr, xzr, [x29, #-160] 0.40 mov x17, #0xfffffffffffffef6 // #-266 0.79 strb wzr, [x29, x17] 0.08 mov x17, #0xfffffffffffffee8 // #-280 0.24 ldr w0, [x29, x17] 0.16 sxtw x1, w0 0.55 ldur w2, [x29, #-256] cmp x1, w2, uxtw 0.87 ↓ b.ge ca8 7.61 cmp w0, w2 ↓ b.cs 1f48 0.95 mov x17, #0xfffffffffffffef8 // #-264 0.71 ldr x1, [x29, x17] 0.40 ldrb w2, [x1, w0, uxtw #0] 1.82 cmp w2, #0x20 ↓ b.le e24 2.46 2a8: mov x17, #0xfffffffffffffee8 // #-280 0.32 ldrsw x0, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 0.87 str x0, [x29, x17] 0.71 mov x17, #0xfffffffffffffef0 // #-272 0.40 ldrb w0, [x29, x17] 0.95 ↓ cbz w0, c84 0.32 cmp w2, #0x2f ↑ b.eq 22c 0.71 cmp w0, #0x1 ↓ b.eq 9dc 0.63 cmp w0, #0x3 ↓ b.eq 7ec 0.24 cmp w0, #0x5 ↑ b.ne 22c 0.40 mov x17, #0xfffffffffffffef4 // #-268 0.32 strb wzr, [x29, x17] 0.48 cmp w2, #0x22 ↓ b.eq 5fc 0.16 2f4: cmp w2, #0x7b ↓ b.eq 54c 0.16 cmp w2, #0x5b ↓ b.eq 49c 0.40 sub w0, w2, #0x30 0.08 mov w1, #0x2d // #45 0.16 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore ↓ b.eq 1584 3.57 cmp w2, #0x66 ↓ b.ne 3c8 0.40 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] 0.08 ldur w20, [x29, #-256] 0.08 cmp w1, w20 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 0.16 ldr x2, [x29, x17] 0.08 mov w3, w1 0.16 add x2, x2, x3 0.16 sub w3, w20, w1 0.08 cmp w3, #0x5 ↓ b.lt 19d8 mov x1, x2 0.08 mov x4, #0xb5ae // #46510 0.16 movk x4, #0x17ef, lsl #16 movk x4, #0xf731, lsl #32 0.24 ldr w0, [x1] ldur w1, [x1, #1] 0.24 ldr w5, [x4] 0.08 ldur w4, [x4, #1] 0.08 cmp w0, w5 0.08 ccmp w1, w4, #0x0, eq // eq = none cset x1, eq // eq = none 0.08 ↓ cbz w1, 19d8 0.24 stur x2, [x29, #-160] mov w1, #0x5 // #5 0.08 stur w1, [x29, #-152] mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 0.08 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 0.08 ldr x1, [x29, x17] add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 0.16 str x1, [x29, x17] 0.08 mov w20, #0x1 // #1 0.08 3c4: ↓ b 744 0.16 3c8: cmp w2, #0x74 ↓ b.ne 13a0 0.16 sub x0, x29, #0x108 mov x17, #0xfffffffffffffee8 // #-280 0.16 ldr w1, [x29, x17] mov x2, #0x7318 // #29464 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 0.16 ldr x2, [x2] 0.16 → blr x2 0.16 mov x17, #0xfffffffffffffe68 // #-408 0.08 str x0, [x29, x17] 0.08 mov x17, #0xfffffffffffffe70 // #-400 str x1, [x29, x17] 0.16 mov x17, #0xfffffffffffffe68 // #-408 ldr x0, [x29, x17] 0.08 mov x17, #0xfffffffffffffe70 // #-400 ldr x1, [x29, x17] mov x2, #0xb612 // #46610 movk x2, #0x17ef, lsl #16 0.08 movk x2, #0xf731, lsl #32 0.08 mov w3, #0x4 // #4 0.08 mov x4, #0xc960 // #51552 movk x4, #0xcdd7, lsl #16 0.16 movk x4, #0xf730, lsl #32 0.24 ldr x4, [x4] 0.08 → blr x4 0.24 ↓ cbz w0, 1a10 1.19 sub x0, x29, #0x198 mov w1, wzr mov w2, #0x4 // #4 mov x3, #0xc618 // #50712 0.08 movk x3, #0xcdd7, lsl #16 movk x3, #0xf730, lsl #32 0.08 ldr x3, [x3] 0.24 → blr x3 0.16 stur x0, [x29, #-160] stur w1, [x29, #-152] mov w1, #0x9 // #9 0.08 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] 0.08 mov x17, #0xfffffffffffffee8 // #-280 0.24 ldr w1, [x29, x17] 0.08 add w1, w1, #0x4 mov x17, #0xfffffffffffffee8 // #-280 0.08 str w1, [x29, x17] 0.16 mov x17, #0xfffffffffffffed0 // #-304 0.08 ldr x1, [x29, x17] add x1, x1, #0x4 0.16 mov x17, #0xfffffffffffffed0 // #-304 0.08 str x1, [x29, x17] 0.08 mov w20, #0x1 // #1 498: ↓ b 744 49c: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c98 ldur w0, [x29, #-224] 0.08 cmp w0, #0x40 ↓ b.ge 1564 ldur x0, [x29, #-232] lsl x0, x0, #1 stur x0, [x29, #-232] 4c4: ldur w0, [x29, #-224] add w0, w0, #0x1 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 add x1, x1, #0x1 ldur w2, [x29, #-256] 0.08 cmp x1, x2 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 0.08 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] 0.08 add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x3 // #3 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] 544: mov w20, #0x1 // #1 ↓ b 744 54c: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c6c ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1544 ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 578: ldur w1, [x29, #-224] add w1, w1, #0x1 stur w1, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] mov w2, w1 add x2, x2, #0x1 ldur w0, [x29, #-256] cmp x2, x0 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w1, w1 add x1, x2, x1 stur x1, [x29, #-160] mov w1, #0x1 // #1 stur w1, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w1, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb w1, [x29, x17] ↑ b 544 0.40 5fc: mov x17, #0xfffffffffffffee8 // #-280 0.08 ldr w1, [x29, x17] 0.24 add w1, w1, #0x1 0.24 ldur w2, [x29, #-256] 0.16 cmp w1, w2 ↓ b.hi 1f30 0.16 mov x17, #0xfffffffffffffef8 // #-264 0.08 ldr x0, [x29, x17] mov w3, w1 0.24 add x0, x0, x3 0.08 sub w22, w2, w1 mov x1, #0x3358 // #13144 0.08 movk x1, #0xd00, lsl #16 movk x1, #0xf729, lsl #32 0.16 ldr x1, [x1] mov x2, x0 0.08 asr w3, w22, #0 add x1, x1, #0x8 mov x4, x2 cmp w3, #0x8 ↓ b.lt 1490 ldr q16, [x1] cmp w3, #0x10 ↓ b.le 754 0.16 sub w1, w3, #0x10 0.24 mov w1, w1 0.08 add x2, x2, x1 668: ldr q17, [x4] 0.87 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b 0.08 tbl v18.16b, {v16.16b}, v18.16b sshr v17.16b, v17.16b, #4 0.16 ldr q19, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]+0xffffffffff29cf08> brk #0xf000 1f50: mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.08 ↓ cbz x1, 1fb0 mov x17, #0xfffffffffffffe64 // #-412 0.08 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xcd27, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.32 mov w2, wzr mov x3, #0x2b30 // #11056 movk x3, #0xcddb, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 0.08 1fb0: mov x16, #0x9bba // #39866 0.08 movk x16, #0x2c73, lsl #16 movk x16, #0xfba4, lsl #32 movk x16, #0x216f, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1fd0 bl ffffffffff2ed5b0 ,bool)[OptimizedTier1]+0xffffffffff2ed530> 1fd0: sub sp, x29, #0x1b0 ldp x29, x30, [sp, #432] 0.08 ldp x27, x28, [sp, #416] ldp x25, x26, [sp, #400] ldp x23, x24, [sp, #384] 0.08 ldp x21, x22, [sp, #368] ldp x19, x20, [sp, #352] add sp, sp, #0x1c0 ← ret 1ff4: mov w0, w2 mov x1, #0x7ea0 // #32416 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2010: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 2020: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7eb8 // #32440 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb1e0 // #45536 movk x0, #0xcd37, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2ed630 ,bool)[OptimizedTier1]+0xffffffffff2ed5b0> mov x26, x0 ↑ b 13c 2058: mov x0, x26 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w22 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0x7bb8 // #31672 movk x5, #0xcdf5, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 20bc: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 2300 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 22f4 ldr x26, [x0, #8] mov x0, #0x6ac0 // #27328 movk x0, #0xce04, lsl #16 movk x0, #0xf730, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xcd27, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0xcc04, lsl #16 movk x0, #0xf730, lsl #32 ldrb w0, [x0] ↓ cbz w0, 211c bl fffffffffff839c8 ,bool)[OptimizedTier1]+0xfffffffffff83948> asr w21, w0, #0 ↓ b 2190 211c: mov x0, #0x6b10 // #27408 movk x0, #0xce04, lsl #16 movk x0, #0xf730, lsl #32 mov x1, #0x7bd0 // #31696 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x6b10 // #27408 movk x0, #0xce04, lsl #16 movk x0, #0xf730, lsl #32 mov x1, #0x7bd0 // #31696 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 218c mov x0, #0x7be8 // #31720 movk x0, #0xcdf5, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2190 218c: asr w21, w23, #16 2190: mov x0, #0x6918 // #26904 movk x0, #0xce04, lsl #16 movk x0, #0xf730, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xcd27, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0xcc04, lsl #16 movk x0, #0xf730, lsl #32 ldr w0, [x0] ↓ cbz w0, 243c udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2268 21d4: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 2444 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0x7c00 // #31744 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x27, #8] ldr w1, [x27, #16] sub w1, w1, #0x1 ldr w2, [x0, #8] cmp w2, w1 ↓ b.ls 2234 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 2234: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0xcd27, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2278 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 2264 mov w21, wzr 2264: add w23, w23, #0x1 2268: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 21d4 ↓ b 2280 2278: mov x26, x28 ↓ b 2284 2280: mov x26, xzr 2284: ↓ cbz x26, 22f4 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0x7bb8 // #31672 movk x5, #0xcdf5, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 22f4: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 2324 2300: mov w0, w23 mov x1, #0x4c40 // #19520 movk x1, #0x14a0, lsl #16 movk x1, #0xf731, lsl #32 mov x2, #0x5e90 // #24208 movk x2, #0xcd8b, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 2324: cmp w23, #0x800 ↓ b.ge 2348 sxtw x1, w23 mov x0, #0xb1e0 // #45536 movk x0, #0xcd37, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2ed630 ,bool)[OptimizedTier1]+0xffffffffff2ed5b0> mov x26, x0 ↓ b 2368 2348: mov w0, w23 mov w1, wzr mov x2, #0x7d38 // #32056 movk x2, #0xcdca, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2368: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, #0xffffffff // #-1 mov x5, #0x7bb8 // #31672 movk x5, #0xcdf5, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde18 // #56856 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 ldr x0, [x22, #16] ldr w0, [x0, #8] mov w1, #0x1 // #1 cmp w0, w25 cinc w5, w1, gt mov x0, x24 mov w1, w21 mov w2, w23 mov w4, #0xffffffff // #-1 mov x6, #0x7c18 // #31768 movk x6, #0xcdf5, lsl #16 movk x6, #0xf730, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 2430: mov x21, xzr mov w22, wzr ↑ b 148 243c: bl ffffffffff29cfa0 ,bool)[OptimizedTier1]+0xffffffffff29cf20> brk #0xf000 2444: bl ffffffffff29cf88 ,bool)[OptimizedTier1]+0xffffffffff29cf08> brk #0xf000 sub sp, sp, #0x60 stp x19, x20, [sp] stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] stp x29, x30, [sp, #80] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] ↓ cbz x1, 24c8 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xcd27, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2b30 // #11056 movk x3, #0xcddb, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 24c8: ldp x29, x30, [sp, #80] ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp] add sp, sp, #0x60 ← ret Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-45730-32762.so Percent stp x19, x20, [sp, #-80]! stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] sub sp, sp, #0x320 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0xb0 add x10, x29, #0x2e0 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x19, x0 mov x0, #0xa008 // #40968 movk x0, #0xcd38, lsl #16 movk x0, #0xf730, lsl #32 mov x1, #0x67c0 // #26560 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 1674 80: ldr x2, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xcda0, lsl #16 movk x1, #0xf730, lsl #32 cmp x2, x1 ↓ b.ne 1768 ldrb w2, [x21, #43] ↓ cbz w2, 16b0 ldr w22, [x21, #24] neg w2, w22 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 add w2, w2, w1 sxtw x2, w2 ↓ tbnz x2, #63, 16cc str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 179c ↓ tbnz w22, #31, 17b4 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 1804 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 186c e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 1894 f4: ldr x22, [x20, #16] ↓ cbz x22, 189c ldr x0, [x22, #16] ↓ cbz x0, 1908 104: ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xcda0, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 1928 ldrb w20, [x21, #41] 120: ↓ cbz w20, 1944 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054f34 ldr x20, [x22, #24] ↓ cbz x20, 1994 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 19cc ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2a4c add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0xcd27, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 str wzr, [x20, #16] 174: str xzr, [x22, #8] str wzr, [x22, #52] str xzr, [x22, #32] stp xzr, xzr, [x22, #64] strb wzr, [x22, #56] sturh wzr, [x22, #57] str wzr, [x22, #40] stp xzr, xzr, [x22, #80] str xzr, [x22, #96] strh wzr, [x22, #104] strb wzr, [x22, #106] strb wzr, [x22, #59] 1a4: ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 19dc 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1158 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 19f8 1dc: add x20, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x20] ↓ cbz x0, 228 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 1a18 add x1, x0, #0x10 ldr w2, [x0, #8] 208: ldp w0, w3, [x20, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw 0.12 cmp x4, w2, uxtw ↓ b.hi 2a4c add x1, x1, x0 asr w2, w3, #0 228: ldr w0, [x22, #40] ↓ tbz w0, #31, 24c ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b60 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 24c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b60 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 268: ldr w2, [x22, #40] and w2, w2, #0x7fffffff str w2, [x22, #40] add w2, w2, #0x1 str w2, [x22, #40] mov w2, #0x1 // #1 strb w2, [x22, #58] mov x20, #0xcb44 // #52036 movk x20, #0x14a1, lsl #16 movk x20, #0xf731, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 1a34 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #736] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0xd00, lsl #16 movk x2, #0xf729, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0x7bf0 // #31728 movk x3, #0xcdd9, lsl #16 movk x3, #0xf730, lsl #32 cmp x2, x3 ↓ b.ne 1a5c ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7cf0 // #31984 movk x3, #0xcdd7, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #736] cmn w4, #0x1 ↓ b.ne 1a78 ldr w0, [x22, #124] ↓ tbz w0, #1, 1aa0 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1b24 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1b4c 338: add x23, x22, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] ↓ cbz x0, 384 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1b6c add x24, x0, #0x10 ldr w25, [x0, #8] 364: ldp w2, w5, [x23, #8] and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw cmp x4, w25, uxtw ↓ b.hi 2a4c add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1b88 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2b60 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2a4c mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #728] mov x2, x20 str x23, [x29, #720] str x2, [x29, #712] str x23, [x29, #704] mov x0, x20 mov x2, x23 add x5, x29, #0x2c0 add x4, x29, #0x2c8 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0xcd27, lsl #16 movk x6, #0xf730, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #704] sub w1, w1, w23 str xzr, [x29, #728] str xzr, [x29, #720] ldr w2, [x22, #52] add w23, w2, w1 str w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2b60 mov w1, #0x22 // #34 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2b60 mov w1, #0x3a // #58 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2b60 mov w1, #0x5b // #91 strb w1, [x24, w23, uxtw #0] 468: ldr w0, [x22, #40] and w0, w0, #0x7fffffff str w0, [x22, #40] add w0, w0, #0x1 str w0, [x22, #40] mov w0, #0x3 // #3 strb w0, [x22, #58] ldr x19, [x19, #8] ldr w20, [x19, #20] mov w23, wzr ↓ b 5b0 494: ldapur x5, [x5, #24] ↓ cbz x5, 2540 ldr w2, [x29, #308] 4a0: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 494 str x5, [x29, #80] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xcd75, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 24dc ldr x4, [x29, #88] ↓ cbz x6, 250c ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xcc04, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 2514 cmp x26, x6 cset x7, eq // eq = none 4f4: ↓ cbz w7, 2538 ↓ b 10c0 4fc: ldr w0, [x22, #76] ↓ cbnz w0, 1fac ldr x0, [x22, #16] ↓ cbz x0, 1f60 ldr x24, [x22, #24] ldr x0, [x24, #8] ldr w0, [x0, #8] ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 1ec4 528: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1f4c ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2a4c ldr w14, [x15, #8] sub w11, w14, w0 548: add x14, x22, #0x40 bl fffffffffe054f34 stp w0, w11, [x22, #72] ↓ b 648 558: ldr w0, [x22, #124] and w0, w0, #0x3 0.12 cmp w0, #0x2 ↓ b.ne 72c mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c28 // #27688 movk x2, #0xcdeb, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] 0.12 → blr x2 584: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] 0.46 ldr w0, [x22, #40] 0.46 tst w0, #0x7fffffff ↓ b.eq 5a8 0.12 ldr w0, [x22, #40] 0.12 sub w0, w0, #0x1 0.12 str w0, [x22, #40] 5a8: mov w0, #0x2 // #2 strb w0, [x22, #58] 5b0: ldr w0, [x19, #20] 0.35 cmp w20, w0 ↓ b.ne 2ab0 0.12 ldr w0, [x19, #16] cmp w23, w0 ↓ b.cs 74c ldr x0, [x19, #8] ldr w1, [x0, #8] 0.12 cmp w23, w1 ↓ b.cs 2b60 0.23 add x0, x0, #0x10 ldr x1, [x0, w23, uxtw #3] 0.23 mov x24, x1 add w23, w23, #0x1 0.23 ↓ cbnz x24, 1178 0.12 5ec: mov x25, x24 ↓ cbz x25, 60c mov x0, #0xbe58 // #48728 movk x0, #0xcd2b, lsl #16 movk x0, #0xf730, lsl #32 ldr x1, [x25] cmp x1, x0 ↓ b.ne 1ba8 0.23 60c: ↑ cbz x25, 5b0 0.12 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] 0.12 cmp w0, w1 ↓ b.ge 1c00 0.12 624: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 11c8 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↑ b.lt 4fc 648: add x24, x22, #0x40 mov x1, xzr 0.12 mov w2, wzr ldr x0, [x24] ↓ cbz x0, 694 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 2088 add x1, x0, #0x10 ldr w2, [x0, #8] 674: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw 0.12 cmp x4, w2, uxtw ↓ b.hi 2a4c add x1, x1, x0 asr w2, w3, #0 694: ldr w0, [x22, #40] 0.12 ↓ tbz w0, #31, 6b8 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] 0.12 cmp w0, w2 ↓ b.cs 2b60 0.12 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 6b8: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b60 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 6d4: ldr w0, [x22, #40] and w0, w0, #0x7fffffff str w0, [x22, #40] add w0, w0, #0x1 0.23 str w0, [x22, #40] mov w0, #0x1 // #1 strb w0, [x22, #58] ldr w0, [x25, #68] 0.12 add x1, x29, #0x250 stp xzr, xzr, [x1] 0.23 add x1, x29, #0x238 0.12 add x2, x29, #0x2e8 ldp q16, q17, [x1] 0.35 stp q16, q17, [x2] 0.69 ldr x3, [x1, #32] 0.46 str x3, [x2, #32] str x25, [x29, #744] str w0, [x29, #752] str wzr, [x29, #756] mov w0, #0x2 // #2 str w0, [x29, #760] ↓ b c70 72c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c10 // #27664 movk x2, #0xcdeb, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 584 74c: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 2ac8 mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c28 // #27688 movk x2, #0xcdeb, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 778: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 79c ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 79c: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 2ae8 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c28 // #27688 movk x2, #0xcdeb, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 7d0: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 7f4 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 7f4: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x68b0 // #26800 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xcda0, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 2b08 mov x0, x21 mov x1, #0xbf30 // #48944 movk x1, #0xcda0, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 844: ↓ cbz x0, 2b20 ldp x29, x30, [sp] add sp, sp, #0x320 ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp], #80 ← ret 868: mov x25, x24 ldr x26, [x29, #472] mov x0, x26 ↓ cbz x0, 890 mov x1, #0xea30 // #59952 movk x1, #0xcd2a, lsl #16 0.12 movk x1, #0xf730, lsl #32 ldr x2, [x0] 0.12 cmp x2, x1 ↓ b.ne 2634 890: str x0, [x29, #288] ldrb w0, [x25, #278] ↓ cbnz w0, 2654 0.12 ldr x0, [x25, #200] ldrb w0, [x0, #18] ↓ cbz w0, b50 ldr x0, [x29, #288] ↓ cbz x0, b50 ldr x27, [x25, #184] ldr x0, [x29, #288] ldrsb wzr, [x27] mov x1, #0x6670 // #26224 movk x1, #0xcd58, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 mov x28, x0 mov x0, #0x25a8 // #9640 movk x0, #0x14a0, lsl #16 movk x0, #0xf731, lsl #32 cmp x28, x0 ↓ b.eq 28c8 ldapur x24, [x27, #16] ↓ cbz x24, 8fc ldr x0, [x24, #192] cmp x0, x28 ↓ b.eq a60 8fc: mov x24, xzr ldapurb w0, [x27, #158] ↓ cbz w0, a50 ldr x24, [x27, #8] ↓ cbz x24, 2670 910: ldr x1, [x24, #8] str x1, [x29, #72] mov x0, #0x3428 // #13352 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 ldr x2, [x0] ↓ cbz x2, 2690 92c: ldr x1, [x29, #72] str x1, [x29, #40] mov x3, x28 stp x2, x3, [x29, #48] ldrsb wzr, [x1] ↓ cbz x2, 2a7c ldapur x4, [x1, #8] str x4, [x29, #32] ldr x0, [x4, #8] ldrb w5, [x1, #25] ↓ cbz w5, 26fc mov x0, x3 bl ffffffffff2e6dc0 ↓ cbz w0, 271c 964: asr w2, w0, #0 968: str w2, [x29, #124] ldr x3, [x29, #32] ldr x4, [x3, #8] str x4, [x29, #24] ldr x0, [x3, #16] ldr x1, [x3, #40] mov w5, w2 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] mul x1, x1, x5 lsr x1, x1, #32 ldr w5, [x0, #8] cmp w1, w5 ↓ b.cs 2b60 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] ↓ cbz x5, 2740 ↓ cbz x4, ad0 ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xcd75, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne ad0 9d8: ldr w0, [x5, #32] cmp w2, w0 ↓ b.ne ab4 str x5, [x29, #16] ldr x6, [x5, #8] ↓ cbz x6, 2738 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xcc04, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 2744 cmp x28, x6 cset x7, eq // eq = none a10: ↓ cbz w7, 2764 a14: ldr x5, [x29, #16] ldr x1, [x5, #16] str x1, [x29, #112] a20: ldr x2, [x29, #112] str xzr, [x29, #112] ldrb w0, [x2, #32] ↓ cbz w0, 282c ldr x0, [x2, #16] ↓ cbnz x0, 2a98 ldr x24, [x2, #8] a3c: ↓ cbz x24, a50 add x0, x24, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 2850 a50: ↓ cbz x24, 286c add x14, x27, #0x10 mov x15, x24 bl fffffffffe054f34 a60: add x0, x24, #0x11a ldaprb w0, [x0] ↓ cbz w0, 288c a6c: ldr x0, [x24, #248] ↓ cbnz x0, 28c0 a74: mov w0, #0x1 // #1 a78: ↓ cbz w0, b50 ldr x0, [x24] mov x1, #0x11f0 // #4592 movk x1, #0xcde8, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.eq b2c mov x0, x24 mov x1, x22 ldr x2, [x29, #288] ldr x3, [x24] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b bd8 ab4: ldapur x5, [x5, #24] ↓ cbz x5, 27d0 ldr w2, [x29, #124] ↑ b 9d8 ac4: ldapur x5, [x5, #24] ↓ cbz x5, 27d0 ldr w2, [x29, #124] ad0: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne ac4 str x5, [x29, #16] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xcd75, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 276c ldr x4, [x29, #24] ↓ cbz x6, 279c ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xcc04, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 27a4 cmp x28, x6 cset x7, eq // eq = none b24: ↓ cbz w7, 27c8 ↑ b a14 b2c: mov x0, x24 mov x1, x22 ldr x2, [x29, #288] mov x3, #0x41b0 // #16816 movk x3, #0xcddc, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 ↓ b bd8 b50: movi v16.16b, #0x0 stp q16, q16, [x29, #128] stp q16, q16, [x29, #160] 0.23 stp q16, q16, [x29, #192] stp q16, q16, [x29, #224] 0.12 stp q16, q16, [x29, #256] 0.35 str x25, [x29, #232] ldr x0, [x25, #208] str x0, [x29, #224] 0.12 ldr x0, [x29, #224] 0.35 ldr x0, [x0, #200] 1.16 str x0, [x29, #272] strb wzr, [x29, #206] strb wzr, [x29, #207] 0.12 ldr x27, [x25, #184] ldr w0, [x27, #140] ↓ cbnz w0, 28d4 b94: ldr x0, [x25, #344] ldr x3, [x25, #184] add x2, x29, #0x120 add x4, x29, #0x80 mov x1, x22 mov x5, #0xfd68 // #64872 movk x5, #0xcdde, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 0.12 bc0: mov x0, x22 mov x1, #0x68b0 // #26800 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 0.12 bd8: str xzr, [x29, #288] ↓ b c70 be0: movi v16.16b, #0x0 str xzr, [x29, #312] stp q16, q16, [x29, #320] stp q16, q16, [x29, #352] stp q16, q16, [x29, #384] stp q16, q16, [x29, #416] str q16, [x29, #448] str xzr, [x29, #464] str x24, [x29, #416] ldr x0, [x24, #208] str x0, [x29, #408] ldr x0, [x29, #408] ldr x0, [x0, #200] str x0, [x29, #456] strb wzr, [x29, #390] strb wzr, [x29, #391] ldr x0, [x24, #184] ldr w1, [x0, #140] ↓ cbnz w1, 2938 c2c: ldr x0, [x24, #344] ldr x3, [x24, #184] add x2, x29, #0x1d8 add x4, x29, #0x138 mov x1, x22 mov x5, #0xfd68 // #64872 movk x5, #0xcdde, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 c58: mov x0, x22 mov x1, #0x68b0 // #26800 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 0.12 c70: add x0, x29, #0x2e8 mov x1, #0xe6d8 // #59096 0.12 movk x1, #0xcdd8, lsl #16 0.12 movk x1, #0xf730, lsl #32 0.12 mov x2, #0x4108 // #16648 0.12 movk x2, #0xcd69, lsl #16 0.23 movk x2, #0xf730, lsl #32 ldr x2, [x2] 0.35 → blr x2 0.23 ↑ cbz w0, 558 0.12 ldr x1, [x29, #768] 0.35 ldr x24, [x29, #776] ↓ cbz x1, 29c0 0.12 add x25, x1, #0xc 0.12 ldr w26, [x1, #8] 1.85 mov w1, #0x21aa // #8618 0.69 movk w1, #0x9ef, lsl #16 0.23 cmp w26, w1 ↓ b.gt 29e4 0.92 add x1, x22, #0x70 ldr x0, [x1] ↓ cbz w26, 20a4 0.12 str x25, [x29, #560] 0.35 mov x1, x25 ↓ cbnz x0, ce4 0.12 mov x0, #0x2e08 // #11784 0.23 movk x0, #0xd00, lsl #16 0.12 movk x0, #0xf729, lsl #32 ldr x0, [x0] ce4: ldr x2, [x0] mov x3, #0x7bf0 // #31728 0.23 movk x3, #0xcdd9, lsl #16 movk x3, #0xf730, lsl #32 0.12 cmp x2, x3 ↓ b.ne 20ac ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, w26 0.35 mov x3, #0x7cf0 // #31984 0.12 movk x3, #0xcdd7, lsl #16 movk x3, #0xf730, lsl #32 0.12 ldr x3, [x3] → blr x3 0.12 asr w3, w0, #0 d20: str xzr, [x29, #560] 0.12 cmn w3, #0x1 ↓ b.ne 1640 0.35 ldr w0, [x22, #124] 0.23 ↓ tbz w0, #1, 20c8 0.12 d34: ldr w0, [x22, #124] 0.12 ↓ tbnz w0, #0, 20fc mov w0, #0x3 // #3 mul w0, w26, w0 0.12 add w27, w0, #0x4 ldr w0, [x22, #76] ldr w1, [x22, #52] 0.12 sub w1, w0, w1 cmp w1, w27 ↓ b.ge dc0 ↓ cbnz w0, 2220 cmp w27, #0x100 ↓ b.gt 2120 0.12 mov w28, #0x100 // #256 d6c: ldr x0, [x22, #16] 0.12 ↓ cbz x0, 21d4 ldr x27, [x22, #24] ldrsb wzr, [x27] ldr x0, [x27, #8] ldr w0, [x0, #8] ldr w1, [x27, #16] 0.12 sub w0, w0, w1 0.35 cmp w0, w28 ↓ b.lt 2128 0.35 d94: ldr x15, [x27, #8] ldr w0, [x27, #16] 0.23 ↓ cbz x15, 21c0 0.12 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2a4c ldr w14, [x15, #8] sub w1, w14, w0 0.12 db4: add x14, x22, #0x40 0.23 bl fffffffffe054f34 stp w0, w1, [x22, #72] 0.58 dc0: add x27, x22, #0x40 mov x28, xzr 0.12 mov w1, wzr 0.35 ldr x0, [x27] 0.23 ↓ cbz x0, e0c 0.23 ldr x1, [x0] 0.23 ldr w1, [x1] 0.12 tst w1, #0x80000000 0.12 ↓ b.eq 2310 0.12 add x28, x0, #0x10 0.23 ldr w1, [x0, #8] dec: ldp w2, w5, [x27, #8] and w2, w2, #0x7fffffff 0.12 mov w2, w2 add x4, x2, w5, uxtw 0.23 cmp x4, w1, uxtw 0.12 ↓ b.hi 2a4c 1.27 add x28, x28, x2 asr w1, w5, #0 0.12 e0c: asr w27, w1, #0 0.23 ldr w2, [x22, #40] 0.23 ↓ tbz w2, #31, e34 0.23 ldr w6, [x22, #52] 0.23 add w2, w6, #0x1 str w2, [x22, #52] 0.92 cmp w6, w27 ↓ b.cs 2b60 0.23 mov w2, #0x2c // #44 strb w2, [x28, w6, uxtw #0] 0.12 e34: ldr w6, [x22, #52] add w2, w6, #0x1 0.12 str w2, [x22, #52] 0.23 cmp w6, w27 ↓ b.cs 2b60 0.12 mov w2, #0x22 // #34 strb w2, [x28, w6, uxtw #0] 0.23 mov x0, x25 asr w1, w26, #0 0.12 ldr w2, [x22, #52] 0.46 cmp w2, w27 0.12 ↓ b.hi 2a4c 0.58 mov w5, w2 add x25, x28, x5 0.12 sub w3, w27, w2 str x0, [x29, #504] 0.12 mov x2, x0 0.12 stp x2, x25, [x29, #488] 0.12 str x25, [x29, #480] 0.12 ↓ cbz w1, ea4 mov x2, x25 0.12 add x5, x29, #0x1e0 add x4, x29, #0x1e8 0.12 mov x6, #0x78e8 // #30952 0.35 movk x6, #0xcd27, lsl #16 0.35 movk x6, #0xf730, lsl #32 0.23 ldr x6, [x6] 0.12 → blr x6 ea4: ldr w1, [x29, #480] 0.35 sub w1, w1, w25 0.12 stp xzr, xzr, [x29, #496] ldr w2, [x22, #52] add w1, w2, w1 0.46 str w1, [x22, #52] 0.35 ldr w6, [x22, #52] 1.97 add w1, w6, #0x1 str w1, [x22, #52] cmp w6, w27 ↓ b.cs 2b60 0.46 mov w1, #0x22 // #34 0.12 strb w1, [x28, w6, uxtw #0] 0.46 ldr w6, [x22, #52] 3.12 add w1, w6, #0x1 0.12 str w1, [x22, #52] 0.23 cmp w6, w27 ↓ b.cs 2b60 0.46 mov w1, #0x3a // #58 strb w1, [x28, w6, uxtw #0] 0.23 ef4: ldr w0, [x22, #40] 0.12 and w0, w0, #0x7fffffff 0.23 str w0, [x22, #40] 0.12 mov w0, #0x500 // #1280 0.12 sturh w0, [x22, #57] 0.23 str x24, [x29, #472] 0.35 mov x0, #0x33d8 // #13272 movk x0, #0xd00, lsl #16 0.12 movk x0, #0xf729, lsl #32 0.12 ldr x26, [x0] 0.69 ↓ cbz x26, 2330 0.12 f20: ldapurb w0, [x26, #159] 1.27 ↓ cbz w0, 235c 0.12 f28: ldr x1, [x26, #24] ↓ cbz x1, 2378 0.12 f30: mov x24, x1 0.12 ↓ cbz x24, f50 0.35 mov x0, #0x5bf0 // #23536 0.12 movk x0, #0xcddc, lsl #16 0.23 movk x0, #0xf730, lsl #32 0.12 ldr x2, [x24] 0.35 cmp x2, x0 0.12 ↓ b.ne 23c0 0.12 f50: ldrb w0, [x24, #278] 0.12 ↓ cbnz w0, 23d8 0.23 ldr x0, [x24, #200] 0.23 ldrb w0, [x0, #18] 0.92 ↑ cbz w0, be0 0.23 ldr x0, [x29, #472] 0.12 ↑ cbz x0, be0 0.12 ldr x25, [x24, #184] 0.12 ldr x0, [x29, #472] ldrsb wzr, [x25] 0.12 mov x1, #0x6670 // #26224 movk x1, #0xcd58, lsl #16 movk x1, #0xf730, lsl #32 0.35 ldr x1, [x1] → blr x1 0.12 mov x26, x0 0.12 mov x0, #0x25a8 // #9640 movk x0, #0x14a0, lsl #16 movk x0, #0xf731, lsl #32 0.23 cmp x26, x0 ↑ b.eq be0 ldapur x24, [x25, #16] ↓ cbz x24, fb8 0.12 ldr x0, [x24, #192] 0.46 cmp x0, x26 ↓ b.eq 110c 0.46 fb8: mov x24, xzr 0.12 ldapurb w0, [x25, #158] ↓ cbz w0, 10fc 0.12 ldr x24, [x25, #8] 0.12 ↓ cbz x24, 23f4 fcc: ldr x27, [x24, #8] mov x0, #0x3428 // #13352 0.12 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 ldr x28, [x0] ↓ cbz x28, 2414 0.23 fe4: mov x1, x26 0.35 str x1, [x29, #104] ldrsb wzr, [x27] 0.81 ldapur x2, [x27, #8] str x2, [x29, #96] ldr x0, [x2, #8] 1.85 ldrb w3, [x27, #25] ↓ cbz w3, 2470 0.12 mov x0, x1 0.12 bl ffffffffff2e6dc0 0.12 ↓ cbz w0, 248c 0.35 1010: asr w2, w0, #0 0.23 1014: str w2, [x29, #308] 0.23 ldr x3, [x29, #96] 0.35 ldr x4, [x3, #8] 0.92 str x4, [x29, #88] 0.12 ldr x0, [x3, #16] 0.12 ldr x1, [x3, #40] 0.35 mov w5, w2 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] 2.20 mul x1, x1, x5 lsr x1, x1, #32 0.35 ldr w5, [x0, #8] 0.12 cmp w1, w5 ↓ b.cs 2b60 3.12 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] 3.58 ↓ cbz x5, 24b0 0.81 ↑ cbz x4, 4a0 ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xcd75, lsl #16 0.12 movk x1, #0xf730, lsl #32 0.12 cmp x0, x1 ↑ b.ne 4a0 0.35 1084: ldr w0, [x5, #32] 6.01 cmp w2, w0 ↓ b.ne 1664 0.81 str x5, [x29, #80] 0.46 ldr x6, [x5, #8] 0.12 ↓ cbz x6, 24a8 0.23 ldr x0, [x6] 1.62 mov x1, #0xa290 // #41616 movk x1, #0xcc04, lsl #16 0.12 movk x1, #0xf730, lsl #32 cmp x0, x1 ↓ b.ne 24b4 1.04 cmp x26, x6 cset x7, eq // eq = none 10bc: ↓ cbz w7, 24d4 10c0: ldr x5, [x29, #80] 0.12 ldr x1, [x5, #16] 0.12 str x1, [x29, #296] 10cc: ldr x2, [x29, #296] 1.39 str xzr, [x29, #296] 0.46 ldrb w0, [x2, #32] 5.09 ↓ cbz w0, 2598 0.81 ldr x0, [x2, #16] 0.23 ↓ cbnz x0, 2a64 0.69 ldr x24, [x2, #8] 10e8: ↓ cbz x24, 10fc 0.23 add x0, x24, #0x119 0.46 ldaprb w0, [x0] 1.97 cmp w0, #0x2 ↓ b.ne 25bc 1.16 10fc: ↓ cbz x24, 25d8 0.23 add x14, x25, #0x10 mov x15, x24 bl fffffffffe054f34 0.23 110c: add x0, x24, #0x11a ldaprb w0, [x0] ↓ cbz w0, 25f8 0.12 1118: ldr x0, [x24, #248] 0.12 ↓ cbnz x0, 262c 0.23 1120: ldr x0, [x24] mov x1, #0x11f0 // #4592 0.12 movk x1, #0xcde8, lsl #16 0.12 movk x1, #0xf730, lsl #32 0.35 cmp x0, x1 ↑ b.eq 868 mov x0, x24 mov x1, x22 0.12 ldr x2, [x29, #472] ldr x3, [x24] 0.12 ldr x3, [x3, #64] 2.54 ldr x3, [x3, #56] 3.47 → blr x3 ↑ b c70 1158: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6a78 // #27256 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1178: ldr x0, [x24] 1.50 mov x1, #0xea30 // #59952 1.27 movk x1, #0xcd2a, lsl #16 movk x1, #0xf730, lsl #32 cmp x0, x1 ↑ b.ne 5ec 0.12 ldr w0, [x24, #8] ↑ cbz w0, 5b0 ldr w0, [x22, #124] ↓ tbz w0, #1, 1bc8 11a0: add x1, x24, #0xc ldr w2, [x24, #8] 0.12 mov x0, x22 mov w3, wzr mov x4, #0x7e88 // #32392 0.12 movk x4, #0xcdd7, lsl #16 0.35 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 ↑ b 5b0 11c8: ldr w0, [x22, #124] ↓ tbz w0, #0, 153c ldr w0, [x22, #124] ↓ tbnz w0, #1, 1238 ldrb w24, [x22, #56] ldrb w0, [x22, #58] cmp w24, #0x10 ccmp w24, w0, #0x4, ne // ne = any ↓ b.eq 1204 mov x0, x22 mov x1, #0xc4f8 // #50424 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 1204: add x24, x22, #0x50 ldr w0, [x24, #16] cmp w0, #0x40 ↓ b.ge 1c1c ldr x0, [x24, #8] lsl x0, x0, #1 orr x0, x0, #0x1 str x0, [x24, #8] 1224: ldr w0, [x24, #16] add w0, w0, #0x1 str w0, [x24, #16] mov w0, #0x5 // #5 strb w0, [x22, #56] 1238: ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 add w26, w24, #0x4 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, w26 ↓ b.ge 12c4 ldr w0, [x22, #76] ↓ cbnz w0, 1d3c cmp w26, #0x100 ↓ b.gt 1c3c mov w27, #0x100 // #256 1270: ldr x0, [x22, #16] ↓ cbz x0, 1cf0 ldr x26, [x22, #24] ldrsb wzr, [x26] ldr x0, [x26, #8] ldr w0, [x0, #8] ldr w1, [x26, #16] sub w0, w0, w1 cmp w0, w27 ↓ b.lt 1c44 1298: ldr x15, [x26, #8] ldr w0, [x26, #16] ↓ cbz x15, 1cdc ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2a4c ldr w14, [x15, #8] sub w1, w14, w0 12b8: add x14, x22, #0x40 bl fffffffffe054f34 stp w0, w1, [x22, #72] 12c4: add x26, x22, #0x40 mov x27, xzr mov w28, wzr ldr x0, [x26] ↓ cbz x0, 1310 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1e4c add x27, x0, #0x10 ldr w28, [x0, #8] 12f0: ldp w0, w1, [x26, #8] and w0, w0, #0x7fffffff mov w0, w0 add x2, x0, w1, uxtw cmp x2, w28, uxtw ↓ b.hi 2a4c add x27, x27, x0 asr w28, w1, #0 1310: ldr w0, [x22, #40] ↓ tbz w0, #31, 1334 ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2b60 mov w1, #0x2c // #44 strb w1, [x27, w0, uxtw #0] 1334: ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.eq 1344 ↓ cbnz w0, 134c 1344: ldrb w0, [x22, #57] ↓ cbz w0, 1424 134c: ldr w0, [x22, #48] cmp w0, #0x2 ↓ b.ne 1374 ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2b60 mov w1, #0xd // #13 strb w1, [x27, w0, uxtw #0] 1374: ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2b60 mov w1, #0xa // #10 strb w1, [x27, w0, uxtw #0] ldr w0, [x22, #52] cmp w0, w28 ↓ b.hi 2a4c mov w1, w0 add x1, x27, x1 sub w0, w28, w0 mov x2, x1 asr w3, w0, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge 1444 mov w0, wzr cmp w24, #0x1 ↓ b.le 1400 13c8: add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2b60 strb w4, [x2, w0, uxtw #0] asr w0, w1, #0 add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2b60 strb w4, [x2, w0, uxtw #0] add w0, w1, #0x1 cmp w0, w24 ↓ b.ge 1404 mov w0, w1 ↑ b 13c8 1400: mov w1, w0 1404: cmp w1, w24 ↓ b.ge 1418 cmp w1, w3 ↓ b.cs 2b60 strb w4, [x2, w1, uxtw #0] 1418: ldr w0, [x22, #52] add w0, w0, w24 str w0, [x22, #52] 1424: ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2b60 mov w1, #0x7b // #123 strb w1, [x27, w0, uxtw #0] ↑ b 6d4 1444: cmp w24, w0 ↓ b.hi 2a4c mov x0, x1 mov w2, w24 cmp x2, #0x10 ↓ b.cs 14f8 mov x1, xzr cmp x2, #0x8 ↓ b.cc 14b4 and x3, x2, #0xfffffffffffffff8 146c: strb w4, [x0, x1, lsl #0] add x5, x1, #0x1 strb w4, [x0, x5, lsl #0] add x5, x1, #0x2 strb w4, [x0, x5, lsl #0] add x5, x1, #0x3 strb w4, [x0, x5, lsl #0] add x5, x1, #0x4 strb w4, [x0, x5, lsl #0] add x5, x1, #0x5 strb w4, [x0, x5, lsl #0] add x5, x1, #0x6 strb w4, [x0, x5, lsl #0] add x5, x1, #0x7 strb w4, [x0, x5, lsl #0] add x1, x1, #0x8 cmp x1, x3 ↑ b.cc 146c 14b4: ↓ tbz w2, #2, 14d8 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x3, x1, #0x2 strb w4, [x0, x3, lsl #0] add x3, x1, #0x3 strb w4, [x0, x3, lsl #0] add x1, x1, #0x4 14d8: ↓ tbz w2, #1, 14ec strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x1, x1, #0x2 14ec: ↑ tbz w2, #0, 1418 strb w4, [x0, x1, lsl #0] ↑ b 1418 14f8: dup v16.16b, w4 and x0, x2, #0xffffffffffffffe0 mov x3, xzr cmp x2, #0x20 ↓ b.cc 1524 150c: str q16, [x1, x3] add x4, x3, #0x10 str q16, [x1, x4] add x3, x3, #0x20 cmp x3, x0 ↑ b.cc 150c 1524: ↓ tbnz w2, #4, 1534 1528: sub x0, x2, #0x10 str q16, [x1, x0] ↑ b 1418 1534: str q16, [x1, x3] ↑ b 1528 153c: ldrb w24, [x22, #56] ldrb w0, [x22, #58] cmp w24, #0x10 ccmp w24, w0, #0x4, ne // ne = any ↓ b.eq 1568 mov x0, x22 mov x1, #0xc4f8 // #50424 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 1568: add x24, x22, #0x50 ldr w0, [x24, #16] cmp w0, #0x40 ↓ b.ge 1e68 ldr x0, [x24, #8] lsl x0, x0, #1 orr x0, x0, #0x1 str x0, [x24, #8] 1588: ldr w0, [x24, #16] add w0, w0, #0x1 str w0, [x24, #16] mov w0, #0x5 // #5 strb w0, [x22, #56] ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1e88 15b0: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 15fc ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 1ea8 add x1, x0, #0x10 ldr w2, [x0, #8] 15dc: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2a4c add x1, x1, x0 asr w2, w3, #0 15fc: ldr w0, [x22, #40] ↓ tbz w0, #31, 1620 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b60 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 1620: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b60 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] ↑ b 6d4 1640: mov x1, x25 mov w2, w26 mov x0, x22 mov x4, #0xcab0 // #51888 movk x4, #0xcdd7, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 ↑ b ef4 0.12 1664: ldapur x5, [x5, #24] 0.12 ↓ cbz x5, 2540 0.12 ldr w2, [x29, #308] ↑ b 1084 1674: mov x0, #0xbe58 // #48728 movk x0, #0xcda0, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc270 // #49776 movk x2, #0xcdb9, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054f34 ↑ b 80 16b0: mov x0, xzr mov x1, #0x7060 // #28768 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 16cc: mov x0, #0x7ac0 // #31424 movk x0, #0xcd28, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x20, x0 mov x0, #0xc018 // #49176 movk x0, #0xcdf5, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 mov x19, x0 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 str w0, [x20, #8] mov x0, #0x4f00 // #20224 movk x0, #0xcd36, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc030 // #49200 movk x2, #0xcdf5, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1a68 // #6760 movk x1, #0x14a0, lsl #16 movk x1, #0xf731, lsl #32 mov x3, #0xea78 // #60024 movk x3, #0xcd46, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6c90 brk #0xf000 1768: mov x0, x21 mov x1, xzr ldr x2, [x21] ldr x2, [x2, #72] ldr x2, [x2, #24] → blr x2 mov x0, x21 mov x1, xzr ldr x2, [x21] ldr x2, [x2, #104] ldr x2, [x2, #8] → blr x2 ↑ b f4 179c: mov x0, #0x7078 // #28792 movk x0, #0xcdf5, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 17b4: mov x0, #0xe570 // #58736 movk x0, #0xcd4e, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x21, x0 mov x0, #0x7090 // #28816 movk x0, #0xcdf5, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc828 // #51240 movk x2, #0xcdca, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6c90 brk #0xf000 1804: mov w0, #0x100 // #256 cmp w22, #0x100 csel w1, w22, w0, ge // ge = tcont ldr w0, [x21, #36] cmp w1, w0, lsl #1 ↓ b.ge 1824 ldr w1, [x21, #36] lsl w1, w1, #1 1824: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 1850 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 cmp w22, w1 csel w1, w22, w0, ge // ge = tcont 1850: mov x0, x21 mov x2, #0xc088 // #49288 movk x2, #0xcda0, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 186c: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcf78 // #53112 movk x3, #0xcd5e, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 1894: str w22, [x21, #28] ↑ b f4 189c: add x0, x29, #0x310 stp xzr, xzr, [x0] add x0, x29, #0x310 mov w1, #0x1 // #1 mov x2, #0x67d8 // #26584 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xb5e8 // #46568 movk x0, #0xcda0, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x22, x0 ldr x2, [x29, #784] ldr x3, [x29, #792] mov x0, x22 mov x1, x21 mov x4, #0x67f0 // #26608 movk x4, #0xcdd7, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054f34 ↑ b 1a4 1908: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6da8 // #28072 movk x0, #0xcde4, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1928: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 1944: mov x0, #0xe2b0 // #58032 movk x0, #0xcd2b, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x21, x0 mov x0, #0x6910 // #26896 movk x0, #0xcdd7, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0xcd46, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6c90 brk #0xf000 1994: mov x0, #0x2308 // #8968 movk x0, #0xcdd9, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x20, x0 mov x1, #0x6940 // #26944 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054f34 ↑ b 174 19cc: ↓ cbnz w0, 2a4c mov x2, xzr mov w0, wzr ↑ b 154 19dc: mov x0, x22 mov x1, #0x6a48 // #27208 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 19f8: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6ad8 // #27352 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 1a18: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1a34: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6cd0 // #27856 movk x4, #0xcdd7, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1a5c: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 1a78: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6d60 // #28000 movk x5, #0xcdd7, lsl #16 movk x5, #0xf730, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 1aa0: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1ab8 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 1ad0 1ab8: mov x0, x22 mov x1, #0x7de0 // #32224 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 1ad0: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1af0 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1b0c 1af0: mov x0, x23 mov w1, wzr mov x2, #0xc9a8 // #51624 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 1b0c: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1b24: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7d98 // #32152 movk x4, #0xcdd7, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1b4c: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6ad8 // #27352 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1b6c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 1b88: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2b60 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 1ba8: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0xcd27, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b 60c 1bc8: mov x0, x22 mov x1, #0xc0d8 // #49368 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 11a0 mov x0, x22 mov x1, #0xc0f0 // #49392 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 11a0 1c00: mov x0, x22 mov x1, #0x6a48 // #27208 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 624 1c1c: mov x0, x24 mov w1, #0x1 // #1 mov x2, #0xc9a8 // #51624 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1224 1c3c: asr w27, w26, #0 ↑ b 1270 1c44: ldr x0, [x26, #8] ldr w0, [x0, #8] cmp w27, w0 ↓ b.ge 1c5c asr w1, w0, #0 ↓ b 1c60 1c5c: asr w1, w27, #0 1c60: asr w2, w1, #0 ↓ cbnz w0, 1c7c cmp w1, #0x100 ↓ b.ge 1c78 mov w2, #0x100 // #256 ↓ b 1c7c 1c78: asr w2, w1, #0 1c7c: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1cc0 ldr x1, [x26, #8] ldr w1, [x1, #8] ldr w2, [x26, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, w27 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 2958 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1cc0: add x0, x26, #0x8 mov x2, #0x6c28 // #27688 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1298 1cdc: ↓ cbnz w0, 2a4c mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 12b8 1cf0: ldr x0, [x22, #8] mov w1, w27 mov x11, #0x2830 // #10288 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #672] str x1, [x29, #680] add x14, x22, #0x40 ldr x15, [x29, #672] bl fffffffffe054f34 ldr w0, [x29, #680] ldr w1, [x29, #684] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, w27 ↑ b.ge 12c4 ↓ b 2a34 1d3c: cmp w26, #0x1, lsl #12 ↓ b.le 1d4c asr w27, w26, #0 ↓ b 1d50 1d4c: mov w27, #0x1000 // #4096 1d50: ldr x0, [x22, #16] ↓ cbz x0, 1dd0 ldr w0, [x22, #52] add w1, w0, w27 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2970 ldr x26, [x22, #24] ldrsb wzr, [x26] mov x0, x26 mov x2, #0x6c10 // #27664 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 add x27, x22, #0x40 ldr x0, [x26, #8] ldr w1, [x26, #16] mov x2, #0x6be0 // #27616 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #656] str x1, [x29, #664] ldr x15, [x29, #656] mov x14, x27 bl fffffffffe054f34 ldr w0, [x29, #664] ldr w1, [x29, #668] stp w0, w1, [x27, #8] ↑ b 12c4 1dd0: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w1, [x22, #52] add x0, x0, w1, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov w1, w27 mov x11, #0x2828 // #10280 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #688] str x1, [x29, #696] add x14, x22, #0x40 ldr x15, [x29, #688] bl fffffffffe054f34 ldr w0, [x29, #696] ldr w1, [x29, #700] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, w27 ↑ b.ge 12c4 ↓ b 2a34 1e4c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x27, x0 mov w28, w1 ↑ b 12f0 1e68: mov x0, x24 mov w1, #0x1 // #1 mov x2, #0xc9a8 // #51624 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1588 1e88: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6ad8 // #27352 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 15b0 1ea8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 15dc 1ec4: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1edc asr w1, w0, #0 ↓ b 1ee0 1edc: mov w1, #0x100 // #256 1ee0: asr w2, w1, #0 ↓ cbnz w0, 1eec asr w2, w1, #0 1eec: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1f30 ldr x1, [x24, #8] ldr w1, [x1, #8] ldr w2, [x24, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 298c mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1f30: add x0, x24, #0x8 mov x2, #0x6c28 // #27688 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 528 1f4c: ↓ cbnz w0, 2a4c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 548 1f60: ldr x0, [x22, #8] mov x11, #0x2848 // #10312 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #624] str x1, [x29, #632] add x14, x22, #0x40 ldr x15, [x29, #624] bl fffffffffe054f34 ldr w0, [x29, #632] ldr w1, [x29, #636] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 648 ↓ b 2a34 1fac: ldr x0, [x22, #16] ↓ cbz x0, 200c ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 29a4 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x23a0 // #9120 movk x2, #0xcdd9, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 str x0, [x29, #608] str x1, [x29, #616] ldr x15, [x29, #608] mov x14, x24 bl fffffffffe054f34 ldr w0, [x29, #616] ldr w1, [x29, #620] stp w0, w1, [x24, #8] ↑ b 648 200c: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2840 // #10304 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #640] str x1, [x29, #648] add x14, x22, #0x40 ldr x15, [x29, #640] bl fffffffffe054f34 ldr w0, [x29, #648] ldr w1, [x29, #652] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 648 ↓ b 2a34 2088: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 674 20a4: mov w3, #0xffffffff // #-1 ↑ b d20 20ac: mov w2, w26 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w3, w0, #0 ↑ b d20 20c8: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 20e0 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne d34 20e0: mov x0, x22 mov x1, #0x7de0 // #32224 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b d34 20fc: mov x1, x25 mov w2, w26 mov x0, x22 mov x3, #0xcb10 // #51984 movk x3, #0xcdd7, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 ↑ b ef4 2120: asr w28, w27, #0 ↑ b d6c 2128: ldr x0, [x27, #8] ldr w0, [x0, #8] cmp w28, w0 ↓ b.ge 2140 asr w1, w0, #0 ↓ b 2144 2140: asr w1, w28, #0 2144: asr w2, w1, #0 ↓ cbnz w0, 2160 cmp w1, #0x100 ↓ b.ge 215c mov w2, #0x100 // #256 ↓ b 2160 215c: asr w2, w1, #0 2160: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 21a4 ldr x1, [x27, #8] ldr w1, [x1, #8] ldr w2, [x27, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, w28 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 2a00 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 21a4: add x0, x27, #0x8 mov x2, #0x6c28 // #27688 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b d94 21c0: ↓ cbnz w0, 2a4c mov x15, xzr mov w0, wzr mov w1, wzr ↑ b db4 21d4: ldr x0, [x22, #8] mov w1, w28 mov x11, #0x2860 // #10336 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #528] str x1, [x29, #536] add x14, x22, #0x40 ldr x15, [x29, #528] bl fffffffffe054f34 ldr w0, [x29, #536] ldr w1, [x29, #540] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, w28 ↑ b.ge dc0 ↓ b 2a34 2220: cmp w27, #0x1, lsl #12 ↓ b.le 2230 asr w28, w27, #0 ↓ b 2234 2230: mov w28, #0x1000 // #4096 2234: ldr x0, [x22, #16] ↓ cbz x0, 2294 ldr w0, [x22, #52] add w1, w0, w28 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2a18 add x27, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x23a0 // #9120 movk x2, #0xcdd9, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 str x0, [x29, #512] str x1, [x29, #520] ldr x15, [x29, #512] mov x14, x27 bl fffffffffe054f34 ldr w0, [x29, #520] ldr w1, [x29, #524] stp w0, w1, [x27, #8] ↑ b dc0 2294: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2850 // #10320 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w1, [x22, #52] add x0, x0, w1, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov w1, w28 mov x11, #0x2858 // #10328 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #544] str x1, [x29, #552] add x14, x22, #0x40 ldr x15, [x29, #544] bl fffffffffe054f34 ldr w0, [x29, #552] ldr w1, [x29, #556] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, w28 ↑ b.ge dc0 ↓ b 2a34 2310: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x28, x0 asr w6, w1, #0 mov w1, w6 ↑ b dec 2330: mov x0, #0x33d8 // #13272 movk x0, #0xd00, lsl #16 movk x0, #0xf729, lsl #32 mov w1, wzr mov x2, #0xd398 // #54168 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b f20 235c: mov x0, x26 mov x1, #0xd8f0 // #55536 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b f28 2378: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x25a8 // #9640 movk x1, #0x14a0, lsl #16 movk x1, #0xf731, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xda10 // #55824 movk x6, #0xcdd7, lsl #16 movk x6, #0xf730, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054f34 ↑ b f30 23c0: mov x2, #0x63b8 // #25528 movk x2, #0xcd27, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 23d8: ldr x3, [x24, #328] mov x1, x22 ldr x2, [x29, #472] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b c58 23f4: mov x0, x25 mov x1, #0xdad0 // #56016 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 mov x24, x0 ↑ b fcc 2414: mov x0, #0xd2d0 // #53968 movk x0, #0xcddc, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x28, x0 mov x1, xzr mov x2, #0xa0b8 // #41144 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xcc04, lsl #16 movk x3, #0xf730, lsl #32 mov x4, #0x7c48 // #31816 movk x4, #0xcd27, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0xd00, lsl #16 movk x14, #0xf729, lsl #32 mov x15, x28 bl fffffffffe054f34 ↑ b fe4 2470: mov x11, #0x2868 // #10344 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b 1014 248c: ldr x0, [x29, #104] mov x1, #0xc6f0 // #50928 movk x1, #0xcd46, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1010 24a8: ldr x5, [x29, #80] ↑ b 1664 24b0: ↓ b 2540 24b4: mov x0, x6 mov x1, x26 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w7, w0, #0 ↑ b 10bc 24d4: ldr x5, [x29, #80] ↑ b 1664 24dc: ldr x4, [x29, #88] mov x0, x4 mov x2, x26 mov x1, x6 mov x11, #0x2870 // #10352 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 asr w7, w0, #0 ldr x4, [x29, #88] ↑ b 4f4 250c: ldr x5, [x29, #80] ↑ b 494 2514: mov x0, x6 mov x1, x26 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w7, w0, #0 ldr x4, [x29, #88] ↑ b 4f4 2538: ldr x5, [x29, #80] ↑ b 494 2540: str xzr, [x29, #296] mov x1, x26 mov x2, x24 ldr x0, [x28, #8] ldr x4, [x28, #24] → blr x4 mov x4, x0 ldr w3, [x29, #308] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x128 ldr x1, [x29, #96] mov x2, x26 mov x0, x27 mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xcd71, lsl #16 movk x8, #0xf730, lsl #32 ldr x8, [x8] → blr x8 ↑ b 10cc 2598: mov x0, x24 mov x1, x26 mov x3, #0xe070 // #57456 movk x3, #0xcdd7, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 mov x24, x0 ↑ b 10e8 25bc: mov x0, x24 mov x1, #0xf0a8 // #61608 movk x1, #0xcdde, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 10fc 25d8: ldr x1, [x25, #32] mov x0, x26 mov x2, #0xdab8 // #55992 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 25f8: mov x0, x24 mov x1, #0x4288 // #17032 movk x1, #0xcde4, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 add x14, x24, #0xf8 mov x15, x0 bl fffffffffe054f34 add x0, x24, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 1118 262c: mov x24, x0 ↑ b 1120 2634: mov x0, x1 mov x1, x26 mov x2, #0x63b8 // #25528 movk x2, #0xcd27, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 2654: ldr x3, [x24, #328] mov x1, x22 ldr x2, [x29, #288] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b bc0 2670: mov x0, x27 mov x1, #0xdad0 // #56016 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 mov x24, x0 ↑ b 910 2690: mov x0, #0xd2d0 // #53968 movk x0, #0xcddc, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x2, x0 str x2, [x29, #64] mov x0, x2 mov x1, xzr mov x2, #0xa0b8 // #41144 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xcc04, lsl #16 movk x3, #0xf730, lsl #32 mov x4, #0x7c48 // #31816 movk x4, #0xcd27, lsl #16 movk x4, #0xf730, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0xd00, lsl #16 movk x14, #0xf729, lsl #32 ldr x15, [x29, #64] bl fffffffffe054f34 ldr x2, [x29, #64] mov x1, x2 ↑ b 92c 26fc: mov x1, x3 mov x11, #0x2878 // #10360 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b 968 271c: ldr x0, [x29, #56] mov x1, #0xc6f0 // #50928 movk x1, #0xcd46, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b 964 2738: ldr x5, [x29, #16] ↑ b ab4 2740: ↓ b 27d0 2744: mov x0, x6 mov x1, x28 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w7, w0, #0 ↑ b a10 2764: ldr x5, [x29, #16] ↑ b ab4 276c: ldr x4, [x29, #24] mov x0, x4 mov x2, x28 mov x1, x6 mov x11, #0x2880 // #10368 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 asr w7, w0, #0 ldr x4, [x29, #24] ↑ b b24 279c: ldr x5, [x29, #16] ↑ b ac4 27a4: mov x0, x6 mov x1, x28 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w7, w0, #0 ldr x4, [x29, #24] ↑ b b24 27c8: ldr x5, [x29, #16] ↑ b ac4 27d0: str xzr, [x29, #112] mov x1, x28 mov x2, x24 ldr x4, [x29, #48] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #124] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x70 ldr x1, [x29, #32] mov x2, x28 ldr x0, [x29, #40] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xcd71, lsl #16 movk x8, #0xf730, lsl #32 ldr x8, [x8] → blr x8 ↑ b a20 282c: mov x0, x24 mov x1, x28 mov x3, #0xe070 // #57456 movk x3, #0xcdd7, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 mov x24, x0 ↑ b a3c 2850: mov x0, x24 mov x1, #0xf0a8 // #61608 movk x1, #0xcdde, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 ↑ b a50 286c: ldr x1, [x27, #32] mov x0, x28 mov x2, #0xdab8 // #55992 movk x2, #0xcdd7, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 288c: mov x0, x24 mov x1, #0x4288 // #17032 movk x1, #0xcde4, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 add x14, x24, #0xf8 mov x15, x0 bl fffffffffe054f34 add x0, x24, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b a6c 28c0: mov x24, x0 ↑ b a74 28c8: mov x24, xzr mov w0, wzr ↑ b a78 28d4: ldr x0, [x27, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #160] ldr w0, [x27, #140] cmp w0, #0x2 ↑ b.ne b94 ↑ cbz x26, b94 ldr x0, [x25, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, b94 ldr x0, [x29, #160] mov x1, x26 ldr x2, [x29, #160] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b b94 2938: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #344] ↑ b c2c 2958: mov x1, #0x6c70 // #27760 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2970: mov w0, w1 mov x1, #0xca20 // #51744 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 298c: mov x1, #0x6c70 // #27760 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29a4: mov w0, w1 mov x1, #0xca20 // #51744 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29c0: mov x0, #0xcbe0 // #52192 movk x0, #0x14a1, lsl #16 movk x0, #0xf731, lsl #32 mov x1, #0x76a8 // #30376 movk x1, #0xcda5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29e4: mov w0, w26 mov x1, #0xcae0 // #51936 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a00: mov x1, #0x6c70 // #27760 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a18: mov w0, w1 mov x1, #0xca20 // #51744 movk x1, #0xcdd7, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a34: mov x0, #0x6bc8 // #27592 movk x0, #0xcdd7, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2a4c: mov x0, #0xdb00 // #56064 movk x0, #0xcd46, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2a64: mov x1, #0xf078 // #61560 movk x1, #0xcdde, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a7c: mov w0, #0x61 // #97 mov x1, #0xeb38 // #60216 movk x1, #0xcd46, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a98: mov x1, #0xf078 // #61560 movk x1, #0xcdde, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2ab0: mov x0, #0xec40 // #60480 movk x0, #0xcd46, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2ac8: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c10 // #27664 movk x2, #0xcdeb, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 778 2ae8: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c10 // #27664 movk x2, #0xcdeb, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ b 7d0 2b08: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 844 2b20: mov x0, #0xe88 // #3720 movk x0, #0xcd2b, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2e6c70 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x14a1, lsl #16 movk x1, #0xf731, lsl #32 mov x2, #0xf7b0 // #63408 movk x2, #0xcd5e, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6c90 brk #0xf000 2b60: bl ffffffffff296688 brk #0xf000 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-45730-32577.so 0.58 stp x29, x30, [sp, #-64]! stp x19, x20, [sp, #16] 1.16 stp x21, x22, [sp, #32] 0.58 stp x23, x24, [sp, #48] 1.16 mov x29, sp 0.58 mov x19, x0 ldr x20, [x19, #16] 1.16 ↓ cbz x20, 1a4 20: stp xzr, xzr, [x19, #64] 0.58 ↓ cbz x20, 39c 1.16 ldr w1, [x19, #52] 0.58 ↓ cbz w1, 174 ldr x0, [x19, #24] mov x2, x0 ldrsb wzr, [x2] 2.31 ↓ tbnz w1, #31, 1c4 0.58 ldr w3, [x2, #16] ldr x4, [x2, #8] 2.31 ldr w4, [x4, #8] 3.47 sub w4, w4, w1 1.73 cmp w3, w4 ↓ b.gt 208 5.20 add w21, w3, w1 str w21, [x2, #16] 0.58 str wzr, [x19, #52] 1.16 ldr x0, [x0, #8] ↓ cbz x0, 228 ldr w1, [x0, #8] 0.58 cmp w1, w21 ↓ b.cc 364 0.58 add x22, x0, #0x10 7c: ldr x0, [x20] 0.58 mov x1, #0xbe58 // #48728 1.16 movk x1, #0xcda0, lsl #16 0.58 movk x1, #0xf730, lsl #32 0.58 cmp x0, x1 ↓ b.ne 334 1.73 ldrb w0, [x20, #43] 0.58 ↓ cbz w0, 238 0.58 ldrb w0, [x20, #41] 0.58 ↓ cbz w0, 254 ldr w0, [x20, #28] 0.58 add w23, w0, w21 ↓ tbnz w23, #31, 26c 1.16 ldr w1, [x20, #32] cmp w23, w1 ↓ b.le d8 0.58 cmp w0, w1 cset x24, gt 0.58 ldr w0, [x20, #36] cmp w23, w0 ↓ b.gt 2bc 0.58 d0: ↓ cbnz w24, 2e0 1.16 d4: str w23, [x20, #32] d8: ldr x2, [x20, #16] ldr w0, [x20, #28] ↓ cbz x2, 308 0.58 mov w1, w0 2.89 add x1, x1, w21, uxtw ldr w3, [x2, #8] 1.73 cmp x1, x3 0.58 ↓ b.hi 364 1.16 add x2, x2, #0x10 1.16 mov w0, w0 0.58 add x0, x2, x0 1.16 asr w2, w21, #0 1.73 108: cmp w21, w2 ↓ b.gt 31c mov w2, w21 1.16 mov x1, x22 mov x3, #0x5848 // #22600 0.58 movk x3, #0xcd27, lsl #16 1.73 movk x3, #0xf730, lsl #32 0.58 ldr x3, [x3] 0.58 → blr x3 1.73 str w23, [x20, #28] 130: ldp x20, x0, [x19, #24] 0.58 ldr w1, [x20, #16] 2.31 add x0, x0, w1, sxtw 0.58 str x0, [x19, #32] ldr x0, [x20, #8] 0.58 ↓ cbz x0, 354 2.31 ldr w2, [x0, #8] 5.20 cmp w2, w1 0.58 ↓ b.cc 364 4.62 add x0, x0, #0x10 158: mov w1, w1 mov x2, #0x5818 // #22552 0.58 movk x2, #0xcd27, lsl #16 0.58 movk x2, #0xf730, lsl #32 1.16 ldr x2, [x2] 0.58 → blr x2 2.31 str wzr, [x20, #16] 174: ldr x0, [x19, #16] 5.78 ldr x1, [x0] 5.20 mov x2, #0xbe58 // #48728 7.51 movk x2, #0xcda0, lsl #16 0.58 movk x2, #0xf730, lsl #32 0.58 cmp x1, x2 ↓ b.ne 37c 0.58 190: ldp x23, x24, [sp, #48] 1.16 ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 1.73 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6da8 // #28072 movk x0, #0xcde4, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xe2b0 // #58032 movk x0, #0xcd2b, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2f9e20 mov x19, x0 mov x1, xzr mov x2, #0x2820 // #10272 movk x2, #0x14a0, lsl #16 movk x2, #0xf731, lsl #32 mov x3, #0xc450 // #50256 movk x3, #0xcd5e, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2f9e40 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6dc0 // #28096 movk x1, #0xcde4, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 228: ↓ cbnz w21, 364 mov x22, xzr mov w21, wzr ↑ b 7c 238: mov x0, xzr mov x1, #0x7060 // #28768 movk x1, #0xcdf5, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x7078 // #28792 movk x0, #0xcdf5, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xe570 // #58736 movk x0, #0xcd4e, lsl #16 movk x0, #0xf730, lsl #32 bl ffffffffff2f9e20 mov x22, x0 mov x0, #0x7090 // #28816 movk x0, #0xcdf5, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc828 // #51240 movk x2, #0xcdca, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2f9e40 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc2d0 // #49872 movk x2, #0xcdb9, lsl #16 movk x2, #0xf730, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, d4 ↑ b d0 2e0: ldr w2, [x20, #32] sub w2, w23, w2 ldr w1, [x20, #32] ldr x0, [x20, #16] mov x3, #0xcf78 // #53112 movk x3, #0xcd5e, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 ↑ b d4 308: orr w2, w0, w21 ↓ cbnz w2, 364 mov x0, xzr mov w2, wzr ↑ b 108 31c: mov x0, #0x4c60 // #19552 movk x0, #0xcd7b, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 334: mov x1, x22 mov w2, w21 mov x0, x20 ldr x3, [x20] ldr x3, [x3, #104] ldr x3, [x3, #48] → blr x3 ↑ b 130 354: ↓ cbnz w1, 364 mov x0, xzr mov w1, wzr ↑ b 158 364: mov x0, #0xdb00 // #56064 movk x0, #0xcd46, lsl #16 movk x0, #0xf730, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 37c: ldr x1, [x0] ldr x1, [x1, #88] ldr x1, [x1] ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 → br x1 39c: ldr w1, [x19, #52] ↑ cbz w1, 190 ldr x0, [x19, #8] mov x11, #0x2718 // #10008 movk x11, #0xcc05, lsl #16 movk x11, #0xf730, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x19, #32] ldr w1, [x19, #52] add x0, x0, w1, sxtw str x0, [x19, #32] str wzr, [x19, #52] ↑ b 190 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-45730-32527.so Percent stp x29, x30, [sp, #-16]! mov x29, sp 0.73 cmp w1, w3 csel w6, w1, w3, le 0.73 mov w6, w6 0.73 mov x7, xzr 0.73 cmp x6, #0x20 ↓ b.cs c4 1.46 20: sub x6, x6, x7 1.46 cmp x6, #0x4 ↓ b.cc 60 0.73 add x8, x7, x6 sub x8, x8, #0x4 lsl x9, x7, #1 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1d8 0.73 44: mov v16.d[0], x9 sqxtun v16.8b, v16.8h 3.65 mov w9, v16.s[0] str w9, [x2, x7] add x7, x7, #0x4 1.46 cmp x7, x8 1.46 ↓ b.ls 19c 1.46 60: ↓ tbz w6, #1, 88 0.73 lsl x9, x7, #1 ldr w8, [x0, x9] 0.73 tst w8, #0xff80ff80 ↓ b.ne 1fc add x9, x2, x7 strb w8, [x9] 0.73 lsr w8, w8, #16 strb w8, [x9, #1] add x7, x7, #0x2 88: ↓ tbz w6, #0, a0 0.73 ldrh w8, [x0, x7, lsl #1] 0.73 cmp w8, #0x7f ↓ b.hi a0 0.73 98: strb w8, [x2, x7, lsl #0] 0.73 add x7, x7, #0x1 a0: add x0, x0, x7, lsl #1 add x2, x2, x7 2.92 cmp w7, w1 ↓ b.ne 208 0.73 str x0, [x4] 0.73 str x2, [x5] 2.19 mov w0, wzr 2.92 ldp x29, x30, [sp], #16 2.92 ← ret c4: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 ↓ b.ne 1d8 0.73 mov x7, x0 ldr q16, [x7] umaxp v17.8h, v16.8h, v16.8h mov x8, v17.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b0 mov x8, x2 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8] mov x9, #0x8 // #8 ↓ tbnz w2, #3, 11c 0.73 ldr q16, [x7, #16] umaxp v17.8h, v16.8h, v16.8h mov x10, v17.d[0] tst x10, #0xff80ff80ff80ff80 0.73 ↓ b.ne 194 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, #8] 0.73 11c: and x9, x2, #0xf neg x9, x9 add x9, x9, #0x10 sub x10, x6, #0x10 lsl x11, x9, #1 ldr q16, [x7, x11] 1.46 lsl x11, x9, #1 add x11, x11, #0x10 ldr q17, [x7, x11] 2.19 orr v18.16b, v16.16b, v17.16b umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] 0.73 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1b8 7.30 154: uzp1 v16.16b, v16.16b, v17.16b 3.65 str q16, [x8, x9] 5.11 add x9, x9, #0x10 2.19 cmp x9, x10 0.73 ↓ b.hi 194 2.92 lsl x11, x9, #1 2.92 ldr q16, [x7, x11] 3.65 lsl x11, x9, #1 0.73 add x11, x11, #0x10 1.46 ldr q17, [x7, x11] 2.19 orr v18.16b, v16.16b, v17.16b 0.73 umaxp v18.8h, v18.8h, v18.8h 1.46 mov x11, v18.d[0] 6.57 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1b8 17.52 ↑ b 154 194: mov x7, x9 198: ↑ b 20 0.73 19c: lsl x9, x7, #1 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1d8 ↑ b 44 1b0: mov x7, xzr ↑ b 198 1b8: umaxp v17.8h, v16.8h, v16.8h mov x7, v17.d[0] tst x7, #0xff80ff80ff80ff80 ↑ b.ne 194 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, x9] add x9, x9, #0x8 ↑ b 194 1d8: asr w8, w9, #0 tst w8, #0xff80ff80 ↓ b.ne 1fc add x6, x2, x7 strb w8, [x6] lsr w8, w8, #16 strb w8, [x6, #1] lsr x8, x9, #32 add x7, x7, #0x2 1fc: tst w8, #0xff80 ↑ b.eq 98 ↑ b a0 208: sub w1, w1, w7 sub w3, w3, w7 cmp w1, #0x2 ↓ b.lt 628 ubfiz x6, x1, #1, #32 add x6, x0, x6 sub x6, x6, #0x4 224: ldr w7, [x0] ↓ b 550 22c: cmp w3, #0x2 ↓ b.lt 634 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 sub x7, x6, x0 add x7, x7, x7, lsr #63 asr x7, x7, #1 add w7, w7, #0x2 mov w7, w7 mov w8, w3 cmp x7, x8 ↓ b.le 270 mov x7, x8 ↓ b 270 270: lsr w8, w7, #3 mov w9, wzr ↓ b 2a4 27c: ldr q16, [x0] mvni v17.8h, #0x7f cmtst v17.8h, v16.8h, v17.8h sminp v17.8h, v17.8h, v17.8h mov x10, v17.d[0] ↓ cbnz x10, 2c4 sqxtun v16.8b, v16.8h str d16, [x2], #8 add x0, x0, #0x10 add w9, w9, #0x1 2a4: cmp w9, w8 ↑ b.cc 27c sub w3, w3, w9, lsl #3 ↓ tbz w7, #2, 600 ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2ec ↓ b 578 2c4: sub w3, w3, w9, lsl #3 mov x8, v16.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2ec sqxtun v17.8b, v16.8h st1 {v17.s}[0], [x2] add x0, x0, #0x8 add x2, x2, #0x4 sub w3, w3, #0x4 mov x8, v16.d[1] 2ec: asr w7, w8, #0 tst w7, #0xff80ff80 ↓ b.ne 310 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 lsr x7, x8, #32 310: tst w7, #0xff80 ↓ b.ne 320 ↓ cbz w3, 6f8 ↓ b 32c 320: tst w7, #0xf800 ↓ b.ne 55c ↓ b 3a8 32c: strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] ↑ b 320 34c: cmp w3, #0x2 ↓ b.lt 6f8 ↓ b 3bc 358: cmp w3, #0x4 ↓ b.lt 634 lsr w8, w7, #6 and w8, w8, #0x1f001f lsl w7, w7, #8 and w7, w7, #0x3f003f00 add w7, w8, w7 mov w8, #0x80c0 // #32960 movk w8, #0x80c0, lsl #16 add w7, w7, w8 str w7, [x2], #4 add x0, x0, #0x4 sub w3, w3, #0x4 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] sub w8, w7, #0x80 uxth w8, w8 cmp w8, #0x780 ↓ b.ge 550 3a8: sub w8, w7, #0x800, lsl #12 mov w9, #0x77fffff // #125829119 cmp w8, w9 ↑ b.ls 358 ↑ b 34c 3bc: lsl w8, w7, #2 and w8, w8, #0x1f00 and w9, w7, #0x3f add w8, w8, w9 mov w9, #0xc080 // #49280 add w8, w8, w9 rev16 w8, w8 uxth w8, w8 strh w8, [x2] cmp w7, #0x800, lsl #12 ↓ b.cc 400 add x0, x0, #0x2 add x2, x2, #0x2 sub w3, w3, #0x2 cmp x0, x6 ↓ b.hi 618 ↓ b 40c 400: cmp w3, #0x3 ↓ b.lt 60c ↓ b 58c 40c: ldr w7, [x0] ↓ b 55c 414: tst w7, #0xf8000000 ↓ b.ne 438 ↓ b 454 420: mov w8, #0x2800 // #10240 movk w8, #0x23ff, lsl #16 add w8, w7, w8 tst w8, #0xfc00fc00 ↓ b.eq 5ac ↓ b 5a4 438: mov w8, #0x28000000 // #671088640 add w8, w7, w8 mov w9, #0x8000000 // #134217728 cmp w8, w9 ↓ b.cc 454 cmp w3, #0x6 ↓ b.ge 460 454: cmp w3, #0x3 ↓ b.lt 6f8 ↓ b 4dc 460: lsl w8, w7, #2 and w8, w8, #0x3f00 and w9, w7, #0x3f orr w8, w8, w9, lsl #16 lsr w9, w7, #4 and w9, w9, #0xf000000 lsr w10, w7, #12 and w10, w10, #0xf orr w9, w9, w10 add w8, w8, w9 mov w9, #0x80e0 // #32992 movk w9, #0xe080, lsl #16 add w8, w8, w9 str w8, [x2] lsr w8, w7, #22 and w8, w8, #0x3f lsr w7, w7, #8 and w7, w7, #0x3f00 add w7, w8, w7 mov w8, #0x8080 // #32896 add w7, w7, w8 strh w7, [x2, #4] add x0, x0, #0x4 add x2, x2, #0x6 sub w3, w3, #0x6 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 55c ↓ b 550 4dc: lsl w8, w7, #2 and w8, w8, #0x3f00 uxth w9, w7 add w8, w8, w9, lsr #12 mov w9, #0x80e0 // #32992 add w8, w8, w9 strh w8, [x2] and w8, w7, #0x3f orr w8, w8, #0xffffff80 strb w8, [x2, #2] add x0, x0, #0x2 add x2, x2, #0x3 sub w3, w3, #0x3 cmp w7, #0x800, lsl #12 ↓ b.cc 524 cmp x0, x6 ↓ b.hi 618 ↓ b 570 524: ↓ cbz w3, 6f8 lsr w7, w7, #16 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 55c 550: tst w7, #0xff80ff80 ↑ b.ne 310 ↑ b 22c 55c: mov w8, #0xffff2800 // #-55296 add w8, w7, w8 tst w8, #0xf800 ↑ b.eq 420 ↑ b 414 570: ldr w7, [x0] ↑ b 310 578: mov v16.d[0], x8 sqxtun v16.8b, v16.8h st1 {v16.s}[0], [x2] add x0, x0, #0x8 ↓ b 5f8 58c: lsr w7, w7, #16 strb w7, [x2, #2] add x0, x0, #0x4 add x2, x2, #0x3 sub w3, w3, #0x3 ↓ b 600 5a4: mov w1, #0x3 // #3 ↓ b 6fc 5ac: cmp w3, #0x4 ↓ b.lt 6f8 add w7, w7, #0x40 and w8, w7, #0x3 mov w9, #0x80f0 // #33008 movk w9, #0x8080, lsl #16 orr w8, w9, w8, lsl #20 mov w9, #0x700 // #1792 movk w9, #0x3f, lsl #16 and w9, w7, w9 rev w9, w9 orr w8, w8, w9, ror #16 lsr w9, w7, #6 and w9, w9, #0xf0000 orr w8, w8, w9 and w7, w7, #0xfc orr w7, w8, w7, lsl #6 str w7, [x2] add x0, x0, #0x4 5f8: add x2, x2, #0x4 sub w3, w3, #0x4 600: cmp x0, x6 ↑ b.ls 224 ↓ b 618 60c: add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6f8 618: sub x1, x6, x0 add x7, x1, x1, lsr #63 asr x1, x7, #1 add w1, w1, #0x2 628: ↓ cbz w1, 6f0 ldrh w7, [x0] ↓ b 638 634: uxth w7, w7 638: cmp w7, #0x7f ↓ b.hi 654 ↓ cbz w3, 6f8 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 ↓ b 6e8 654: cmp w7, #0x800 ↓ b.cs 688 cmp w3, #0x2 ↓ b.lt 6f8 and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #6 orr w3, w7, #0xffffffc0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6e8 688: mov w6, #0xffff2800 // #-55296 add w6, w7, w6 cmp w6, #0x7ff ↓ b.ls 6d4 cmp w3, #0x3 ↓ b.lt 6f8 and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #2] lsr w3, w7, #6 and w3, w3, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #12 orr w3, w7, #0xffffffe0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x3 ↓ b 6e8 6d4: mov w1, #0xdbff // #56319 cmp w7, w1 ↑ b.hi 5a4 mov w1, #0x2 // #2 ↓ b 6fc 6e8: cmp w1, #0x1 ↓ b.gt 6f8 6f0: mov w1, wzr ↓ b 6fc 6f8: mov w1, #0x1 // #1 6fc: str x0, [x4] str x2, [x5] mov w0, w1 ldp x29, x30, [sp], #16 ← ret Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-45730-32525.so 0.74 stp x29, x30, [sp, #-16]! 0.74 mov x29, sp 1.48 sub x3, x0, x1 1.48 sub x4, x1, x0 2.96 cmp x3, x2 ccmp x4, x2, #0x0, cs // cs = hs, nlast ↓ b.cc 124 0.74 add x3, x1, x2 0.74 add x4, x0, x2 2.22 cmp x2, #0x10 ↓ b.ls d4 0.74 cmp x2, #0x40 ↓ b.ls 98 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 0.74 and x5, x5, #0x3f neg x5, x5 add x5, x5, #0x40 ldp q16, q17, [x1] 1.48 stp q16, q17, [x0] 1.48 ldp q16, q17, [x1, #32] 1.48 stp q16, q17, [x0, #32] 1.48 add x1, x1, x5 add x0, x0, x5 sub x2, x2, x5 1.48 68: lsr x5, x2, #6 4.44 6c: ldp q16, q17, [x1] 21.48 stp q16, q17, [x0] 3.70 ldp q16, q17, [x1, #32] 20.74 stp q16, q17, [x0, #32] 5.93 add x0, x0, #0x40 2.22 add x1, x1, #0x40 2.96 sub x5, x5, #0x1 1.48 ↑ cbnz x5, 6c and x2, x2, #0x3f cmp x2, #0x10 ↓ b.ls a8 98: ldr q16, [x1] 2.96 str q16, [x0] 0.74 cmp x2, #0x20 ↓ b.hi b8 a8: ldur q16, [x3, #-16] 9.63 stur q16, [x4, #-16] b0: ldp x29, x30, [sp], #16 2.22 ← ret b8: ldr q16, [x1, #16] str q16, [x0, #16] cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] 0.74 str q16, [x0, #32] ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 ldr x2, [x1] str x2, [x0] ldur x1, [x3, #-8] 0.74 stur x1, [x4, #-8] ↑ b b0 f0: ↓ tbz w2, #2, 108 ldr w1, [x1] str w1, [x0] ldur w0, [x3, #-4] stur w0, [x4, #-4] ↑ b b0 108: ↑ cbz x2, b0 ldrb w1, [x1] strb w1, [x0] ↑ tbz w2, #1, b0 ldursh w0, [x3, #-2] sturh w0, [x4, #-2] ↑ b b0 124: cmp x0, x1 ↓ b.ne 134 ldrsb wzr, [x1] ↑ b b0 134: ldrsb wzr, [x0] ldrsb wzr, [x1] mov x3, #0x6b80 // #27520 movk x3, #0xcdf5, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-45730-32540.so 0.74 stp x29, x30, [sp, #-64]! 2.22 stp x19, x20, [sp, #32] stp x21, x22, [sp, #48] 2.22 mov x29, sp 0.74 str xzr, [x29, #24] 0.74 mov x19, x0 1.48 mov x21, x1 2.22 mov w20, w2 2.96 mov w22, wzr 2.96 cmp w20, #0x8 ↓ b.ge b0 2c: mov x0, xzr cmp w20, #0x0 0.74 csel x0, x0, x21, eq // eq = none 1.48 str x0, [x29, #24] 1.48 mov w1, w20 1.48 mov w2, w22 cmp x2, x1 ↓ b.cs 90 2.22 ldrsb wzr, [x19] 0.74 sub x3, x1, x2 cmp x3, #0x8 ↓ b.cs 154 0.74 5c: cmp x2, x1 0.74 ↓ b.cs 90 4.44 64: add x3, x19, #0x420 3.70 ldrh w4, [x0, x2, lsl #1] 2.96 lsr w5, w4, #5 3.70 ldr w3, [x3, w5, uxtw #2] 14.07 mov w5, #0x1 // #1 12.59 lsl w4, w5, w4 6.67 tst w3, w4 2.96 ↓ b.eq 90 15.56 add x2, x2, #0x1 2.96 cmp x2, x1 ↑ b.cc 64 90: mov w0, #0xffffffff // #-1 cmp w2, w1 1.48 csel w2, w2, w0, ne // ne = any 0.74 mov w0, w2 ldp x21, x22, [sp, #48] 1.48 ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c ldr x2, [x0] mov x1, #0x8140 // #33088 movk x1, #0xcd5f, lsl #16 movk x1, #0xf730, lsl #32 0.74 cmp x2, x1 ↓ b.ne 128 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6c40 // #27712 movk x3, #0xcdeb, lsl #16 movk x3, #0xf730, lsl #32 ldr x3, [x3] → blr x3 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb38 // #60216 movk x1, #0xcd46, lsl #16 movk x1, #0xf730, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 128: mov x1, x21 mov w2, w20 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↑ b f0 144: ldrh w1, [x21, w22, uxtw #1] cmp w1, #0x7f ↑ b.gt 2c ↑ b fc 154: mov x3, xzr add x4, x19, #0x420 ldrh w5, [x0, x2, lsl #1] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x1 // #1 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #2] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x2 // #2 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #4] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x3 // #3 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #6] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x4 // #4 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #8] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x5 // #5 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #10] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x6 // #6 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #12] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x7 // #7 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #14] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 add x2, x2, #0x8 sub x3, x1, x2 cmp x3, #0x8 ↑ b.cs 154 ↑ b 5c 2a4: add x2, x2, x3 ↑ b 90