Skip to content

Instantly share code, notes, and snippets.

@EgorBot
Created June 20, 2024 14:31
Show Gist options
  • Save EgorBot/b694021dadecc837d65c512dcb43776d to your computer and use it in GitHub Desktop.
Save EgorBot/b694021dadecc837d65c512dcb43776d to your computer and use it in GitHub Desktop.
diff_asm_98e72c59.asm
Percent | Source code & Disassembly of jitted-39184-17318.so for cpu-clock (394666 samples, percent: local period)
------------------------------------------------------------------------------------------------------------------------
:
:
:
: 3 Disassembly of section .text:
:
: 5 0000000000000080 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]>:
: 6 void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]():
0.02 : 80: stp x29, x30, [sp, #-208]!
0.00 : 84: mov x29, sp
0.32 : 88: add x6, x2, #0x80
0.00 : 8c: ldp q16, q17, [x0]
0.04 : 90: ldp q18, q19, [x0, #32]
1.77 : 94: cmp w5, #0x0
0.00 : 98: b.le 170 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0xf0>
0.00 : 9c: uxtb w4, w4
0.00 : a0: ldr q20, 410 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x390>
0.00 : a4: ldr q21, 420 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3a0>
0.00 : a8: mov x7, x2
0.00 : ac: cmp w3, #0x0
0.00 : b0: b.le 164 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0xe4>
0.36 : b4: asr w8, w3, #0
0.05 : b8: ldr q22, [x7]
4.12 : bc: ldr q23, [x1]
1.75 : c0: eor v22.16b, v23.16b, v22.16b
2.24 : c4: ext v23.16b, v23.16b, v23.16b, #8
0.67 : c8: add v16.2d, v16.2d, v23.2d
0.17 : cc: tbl v23.16b, {v22.16b}, v20.16b
0.00 : d0: tbl v22.16b, {v22.16b}, v21.16b
0.35 : d4: umull v22.2d, v23.2s, v22.2s
0.01 : d8: add v16.2d, v22.2d, v16.2d
1.11 : dc: add x1, x1, #0x10
1.05 : e0: ldr q22, [x7, #16]
7.56 : e4: ldr q23, [x1]
2.03 : e8: eor v22.16b, v23.16b, v22.16b
0.02 : ec: ext v23.16b, v23.16b, v23.16b, #8
0.00 : f0: add v17.2d, v17.2d, v23.2d
0.36 : f4: tbl v23.16b, {v22.16b}, v20.16b
0.00 : f8: tbl v22.16b, {v22.16b}, v21.16b
0.53 : fc: umull v22.2d, v23.2s, v22.2s
0.39 : 100: add v17.2d, v22.2d, v17.2d
2.51 : 104: add x1, x1, #0x10
1.85 : 108: ldr q22, [x7, #32]
12.68 : 10c: ldr q23, [x1]
42.35 : 110: eor v22.16b, v23.16b, v22.16b
0.30 : 114: ext v23.16b, v23.16b, v23.16b, #8
0.00 : 118: add v18.2d, v18.2d, v23.2d
0.01 : 11c: tbl v23.16b, {v22.16b}, v20.16b
0.00 : 120: tbl v22.16b, {v22.16b}, v21.16b
0.04 : 124: umull v22.2d, v23.2s, v22.2s
0.03 : 128: add v18.2d, v22.2d, v18.2d
0.18 : 12c: add x1, x1, #0x10
5.12 : 130: ldr q22, [x7, #48]
2.65 : 134: ldr q23, [x1]
0.73 : 138: eor v22.16b, v23.16b, v22.16b
0.00 : 13c: ext v23.16b, v23.16b, v23.16b, #8
0.00 : 140: add v19.2d, v19.2d, v23.2d
0.01 : 144: tbl v23.16b, {v22.16b}, v20.16b
0.02 : 148: tbl v22.16b, {v22.16b}, v21.16b
0.14 : 14c: umull v22.2d, v23.2s, v22.2s
3.89 : 150: add v19.2d, v22.2d, v19.2d
1.15 : 154: add x1, x1, #0x10
0.51 : 158: add x7, x7, #0x8
0.00 : 15c: sub w8, w8, #0x1
0.00 : 160: cbnz w8, b8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x38>
0.01 : 164: cbnz w4, 180 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x100>
0.00 : 168: sub w5, w5, #0x1
0.02 : 16c: cbnz w5, a8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x28>
0.24 : 170: stp q16, q17, [x0]
0.10 : 174: stp q18, q19, [x0, #32]
0.01 : 178: ldp x29, x30, [sp], #208
0.53 : 17c: ret
0.00 : 180: ldr q22, [x6]
0.00 : 184: ushr v23.2d, v16.2d, #47
0.00 : 188: eor v16.16b, v16.16b, v23.16b
0.00 : 18c: eor v16.16b, v16.16b, v22.16b
0.00 : 190: mov v22.16b, v16.16b
0.00 : 194: str d22, [x29, #192]
0.00 : 198: ldr d22, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 19c: str d22, [x29, #184]
0.00 : 1a0: mov w7, wzr
0.00 : 1a4: cmp w7, #0x0
0.00 : 1a8: b.gt 1d0 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x150>
0.00 : 1ac: add x8, x29, #0xc0
0.00 : 1b0: ldr x8, [x8, w7, sxtw #3]
0.00 : 1b4: add x9, x29, #0xb8
0.00 : 1b8: ldr x9, [x9, w7, sxtw #3]
0.00 : 1bc: mul x8, x8, x9
0.00 : 1c0: add x9, x29, #0xc8
0.00 : 1c4: str x8, [x9, w7, sxtw #3]
0.00 : 1c8: add w7, w7, #0x1
0.00 : 1cc: b 1a4 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x124>
0.00 : 1d0: ldr d22, [x29, #200]
0.00 : 1d4: ext v16.16b, v16.16b, v16.16b, #8
0.00 : 1d8: str d16, [x29, #168]
0.00 : 1dc: ldr d16, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 1e0: str d16, [x29, #160]
0.00 : 1e4: mov w7, wzr
0.00 : 1e8: cmp w7, #0x0
0.00 : 1ec: b.gt 214 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x194>
0.00 : 1f0: add x8, x29, #0xa8
0.00 : 1f4: ldr x8, [x8, w7, sxtw #3]
0.00 : 1f8: add x9, x29, #0xa0
0.00 : 1fc: ldr x9, [x9, w7, sxtw #3]
0.00 : 200: mul x8, x8, x9
0.00 : 204: add x9, x29, #0xb0
0.00 : 208: str x8, [x9, w7, sxtw #3]
0.00 : 20c: add w7, w7, #0x1
0.00 : 210: b 1e8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x168>
0.00 : 214: ldr d16, [x29, #176]
0.00 : 218: mov v22.d[1], v16.d[0]
0.00 : 21c: mov v16.16b, v22.16b
0.00 : 220: ldr q22, [x6, #16]
0.00 : 224: ushr v23.2d, v17.2d, #47
0.00 : 228: eor v17.16b, v17.16b, v23.16b
0.00 : 22c: eor v17.16b, v17.16b, v22.16b
0.00 : 230: mov v22.16b, v17.16b
0.00 : 234: str d22, [x29, #144]
0.00 : 238: ldr d22, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 23c: str d22, [x29, #136]
0.00 : 240: mov w7, wzr
0.00 : 244: cmp w7, #0x0
0.00 : 248: b.gt 270 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x1f0>
0.00 : 24c: add x8, x29, #0x90
0.00 : 250: ldr x8, [x8, w7, sxtw #3]
0.00 : 254: add x9, x29, #0x88
0.00 : 258: ldr x9, [x9, w7, sxtw #3]
0.00 : 25c: mul x8, x8, x9
0.00 : 260: add x9, x29, #0x98
0.00 : 264: str x8, [x9, w7, sxtw #3]
0.00 : 268: add w7, w7, #0x1
0.00 : 26c: b 244 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x1c4>
0.00 : 270: ldr d22, [x29, #152]
0.00 : 274: ext v17.16b, v17.16b, v17.16b, #8
0.00 : 278: str d17, [x29, #120]
0.00 : 27c: ldr d17, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 280: str d17, [x29, #112]
0.00 : 284: mov w7, wzr
0.00 : 288: cmp w7, #0x0
0.00 : 28c: b.gt 2b4 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x234>
0.00 : 290: add x8, x29, #0x78
0.00 : 294: ldr x8, [x8, w7, sxtw #3]
0.00 : 298: add x9, x29, #0x70
0.00 : 29c: ldr x9, [x9, w7, sxtw #3]
0.00 : 2a0: mul x8, x8, x9
0.00 : 2a4: add x9, x29, #0x80
0.00 : 2a8: str x8, [x9, w7, sxtw #3]
0.00 : 2ac: add w7, w7, #0x1
0.00 : 2b0: b 288 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x208>
0.00 : 2b4: ldr d17, [x29, #128]
0.00 : 2b8: mov v22.d[1], v17.d[0]
0.00 : 2bc: mov v17.16b, v22.16b
0.00 : 2c0: ldr q22, [x6, #32]
0.00 : 2c4: ushr v23.2d, v18.2d, #47
0.00 : 2c8: eor v18.16b, v18.16b, v23.16b
0.00 : 2cc: eor v18.16b, v18.16b, v22.16b
0.00 : 2d0: mov v22.16b, v18.16b
0.00 : 2d4: str d22, [x29, #96]
0.00 : 2d8: ldr d22, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 2dc: str d22, [x29, #88]
0.00 : 2e0: mov w7, wzr
0.00 : 2e4: cmp w7, #0x0
0.00 : 2e8: b.gt 310 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x290>
0.00 : 2ec: add x8, x29, #0x60
0.00 : 2f0: ldr x8, [x8, w7, sxtw #3]
0.00 : 2f4: add x9, x29, #0x58
0.00 : 2f8: ldr x9, [x9, w7, sxtw #3]
0.00 : 2fc: mul x8, x8, x9
0.00 : 300: add x9, x29, #0x68
0.00 : 304: str x8, [x9, w7, sxtw #3]
0.00 : 308: add w7, w7, #0x1
0.00 : 30c: b 2e4 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x264>
0.00 : 310: ldr d22, [x29, #104]
0.00 : 314: ext v18.16b, v18.16b, v18.16b, #8
0.00 : 318: str d18, [x29, #72]
0.00 : 31c: ldr d18, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 320: str d18, [x29, #64]
0.00 : 324: mov w7, wzr
0.00 : 328: cmp w7, #0x0
0.00 : 32c: b.gt 354 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x2d4>
0.00 : 330: add x8, x29, #0x48
0.00 : 334: ldr x8, [x8, w7, sxtw #3]
0.00 : 338: add x9, x29, #0x40
0.00 : 33c: ldr x9, [x9, w7, sxtw #3]
0.00 : 340: mul x8, x8, x9
0.00 : 344: add x9, x29, #0x50
0.00 : 348: str x8, [x9, w7, sxtw #3]
0.00 : 34c: add w7, w7, #0x1
0.00 : 350: b 328 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x2a8>
0.00 : 354: ldr d18, [x29, #80]
0.00 : 358: mov v22.d[1], v18.d[0]
0.00 : 35c: mov v18.16b, v22.16b
0.00 : 360: ldr q22, [x6, #48]
0.00 : 364: ushr v23.2d, v19.2d, #47
0.00 : 368: eor v19.16b, v19.16b, v23.16b
0.00 : 36c: eor v19.16b, v19.16b, v22.16b
0.00 : 370: mov v22.16b, v19.16b
0.00 : 374: str d22, [x29, #48]
0.00 : 378: ldr d22, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 37c: str d22, [x29, #40]
0.00 : 380: mov w7, wzr
0.00 : 384: cmp w7, #0x0
0.00 : 388: b.gt 3b0 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x330>
0.00 : 38c: add x8, x29, #0x30
0.00 : 390: ldr x8, [x8, w7, sxtw #3]
0.00 : 394: add x9, x29, #0x28
0.00 : 398: ldr x9, [x9, w7, sxtw #3]
0.00 : 39c: mul x8, x8, x9
0.00 : 3a0: add x9, x29, #0x38
0.00 : 3a4: str x8, [x9, w7, sxtw #3]
0.00 : 3a8: add w7, w7, #0x1
0.00 : 3ac: b 384 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x304>
0.00 : 3b0: ldr d22, [x29, #56]
0.00 : 3b4: ext v19.16b, v19.16b, v19.16b, #8
0.00 : 3b8: str d19, [x29, #24]
0.00 : 3bc: ldr d19, 430 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x3b0>
0.00 : 3c0: str d19, [x29, #16]
0.00 : 3c4: mov w7, wzr
0.00 : 3c8: cmp w7, #0x0
0.00 : 3cc: b.gt 3f4 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x374>
0.00 : 3d0: add x8, x29, #0x18
0.00 : 3d4: ldr x8, [x8, w7, sxtw #3]
0.00 : 3d8: add x9, x29, #0x10
0.00 : 3dc: ldr x9, [x9, w7, sxtw #3]
0.00 : 3e0: mul x8, x8, x9
0.00 : 3e4: add x9, x29, #0x20
0.00 : 3e8: str x8, [x9, w7, sxtw #3]
0.00 : 3ec: add w7, w7, #0x1
0.00 : 3f0: b 3c8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0x348>
0.00 : 3f4: ldr d19, [x29, #32]
0.00 : 3f8: mov v22.d[1], v19.d[0]
0.00 : 3fc: mov v19.16b, v22.16b
0.00 : 400: b 168 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Accumulate(uint64*,uint8*,uint8*,int32,bool,int32)[OptimizedTier1]+0xe8>
Percent | Source code & Disassembly of jitted-39184-17432.so for cpu-clock (104266 samples, percent: local period)
------------------------------------------------------------------------------------------------------------------------
:
:
:
: 3 Disassembly of section .text:
:
: 5 0000000000000080 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]>:
: 6 void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]():
0.00 : 80: stp x29, x30, [sp, #-240]!
0.00 : 84: stp x19, x20, [sp, #160]
0.00 : 88: stp x21, x22, [sp, #176]
0.00 : 8c: stp x23, x24, [sp, #192]
0.00 : 90: stp x25, x26, [sp, #208]
0.00 : 94: stp x27, x28, [sp, #224]
0.00 : 98: mov x29, sp
0.00 : 9c: stp xzr, xzr, [x29, #144]
0.00 : a0: stp xzr, xzr, [x29, #128]
0.00 : a4: mov x19, x0
0.00 : a8: mov x21, x1
0.00 : ac: mov w20, w2
0.00 : b0: add x2, x19, #0x8
0.00 : b4: ldr x1, [x2]
0.00 : b8: add x1, x1, w20, uxtw
0.00 : bc: str x1, [x2]
0.00 : c0: add x2, x19, #0x120
0.00 : c4: str x2, [x29, #152]
0.00 : c8: ldr x22, [x29, #152]
0.00 : cc: mov x23, x22
0.00 : d0: ldr w24, [x19, #24]
0.00 : d4: neg w2, w24
0.00 : d8: add w2, w2, #0x100
0.00 : dc: cmp w2, w20
0.00 : e0: b.cs 468 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x3e8> // b.hs, b.nlast
0.00 : e4: add x2, x19, #0x60
0.00 : e8: str x2, [x29, #144]
0.00 : ec: ldr x22, [x29, #144]
0.00 : f0: add x2, x19, #0x20
0.00 : f4: str x2, [x29, #136]
0.00 : f8: ldr x25, [x29, #136]
0.00 : fc: str x21, [x29, #128]
0.00 : 100: mov x26, x21
0.00 : 104: mov w27, wzr
0.00 : 108: cbnz w24, 374 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x2f4>
0.00 : 10c: sub w28, w20, w27
0.00 : 110: cmp w28, #0x400
0.00 : 114: b.le 3d4 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x354>
0.00 : 118: sub w2, w28, #0x1
0.00 : 11c: sxtw x2, w2
0.00 : 120: lsr x24, x2, #6
0.00 : 124: ldr x2, [x19]
0.00 : 128: neg x2, x2
0.00 : 12c: add x28, x2, #0x10
0.00 : 130: ldr w2, [x19]
0.00 : 134: lsl w2, w2, #3
0.00 : 138: add x2, x22, w2, sxtw
0.00 : 13c: add x1, x26, w27, sxtw
0.00 : 140: mov x0, x25
0.00 : 144: mov w3, w28
0.00 : 148: mov w4, wzr
0.00 : 14c: mov w5, #0x1 // #1
0.00 : 150: mov x6, #0x7960 // #31072
0.00 : 154: movk x6, #0xd9e1, lsl #16
0.00 : 158: movk x6, #0xe33e, lsl #32
0.00 : 15c: ldr x6, [x6]
0.00 : 160: blr x6
0.00 : 164: mov x1, x25
0.00 : 168: add x6, x22, #0x80
0.00 : 16c: str x6, [x29, #24]
0.00 : 170: mov x0, x6
0.00 : 174: mov w2, #0x4 // #4
0.00 : 178: ldr q16, [x1]
0.01 : 17c: ldr q17, [x0]
0.00 : 180: ushr v18.2d, v16.2d, #47
0.00 : 184: eor v16.16b, v16.16b, v18.16b
0.00 : 188: eor v16.16b, v16.16b, v17.16b
0.00 : 18c: mov v17.16b, v16.16b
0.00 : 190: str d17, [x29, #112]
0.00 : 194: ldr d17, 4b8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x438>
0.00 : 198: str d17, [x29, #104]
0.00 : 19c: ldp x4, x3, [x29, #104]
0.04 : 1a0: mul x3, x3, x4
0.00 : 1a4: str x3, [x29, #120]
0.00 : 1a8: ldr d17, [x29, #120]
0.03 : 1ac: ext v16.16b, v16.16b, v16.16b, #8
0.00 : 1b0: str d16, [x29, #88]
0.00 : 1b4: ldr d16, 4b8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x438>
0.00 : 1b8: str d16, [x29, #80]
0.00 : 1bc: ldp x4, x3, [x29, #80]
0.00 : 1c0: mul x3, x3, x4
0.00 : 1c4: str x3, [x29, #96]
0.00 : 1c8: ldr d16, [x29, #96]
0.02 : 1cc: mov v17.d[1], v16.d[0]
0.00 : 1d0: str q17, [x1]
0.00 : 1d4: add x1, x1, #0x10
0.00 : 1d8: add x0, x0, #0x10
0.00 : 1dc: sub w2, w2, #0x1
0.00 : 1e0: cbnz w2, 178 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0xf8>
0.00 : 1e4: str xzr, [x19]
0.00 : 1e8: add w27, w27, w28, lsl #6
0.00 : 1ec: sub x24, x24, x28
0.00 : 1f0: cmp x24, #0x10
0.00 : 1f4: b.cc 2b0 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x230> // b.lo, b.ul, b.last
0.03 : 1f8: add x1, x26, w27, sxtw
0.00 : 1fc: mov x0, x25
0.00 : 200: mov x2, x22
0.07 : 204: mov w3, #0x10 // #16
0.00 : 208: mov w4, wzr
0.00 : 20c: mov w5, #0x1 // #1
1.21 : 210: mov x7, #0x7960 // #31072
0.00 : 214: movk x7, #0xd9e1, lsl #16
0.01 : 218: movk x7, #0xe33e, lsl #32
0.00 : 21c: ldr x7, [x7]
0.09 : 220: blr x7
0.91 : 224: mov x1, x25
0.36 : 228: ldr x28, [x29, #24]
3.40 : 22c: mov x0, x28
0.00 : 230: mov w2, #0x4 // #4
0.00 : 234: ldr q16, [x1]
4.67 : 238: ldr q17, [x0]
7.08 : 23c: ushr v18.2d, v16.2d, #47
0.00 : 240: eor v16.16b, v16.16b, v18.16b
0.00 : 244: eor v16.16b, v16.16b, v17.16b
0.11 : 248: mov v17.16b, v16.16b
0.00 : 24c: str d17, [x29, #64]
0.10 : 250: ldr d17, 4b8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x438>
0.01 : 254: str d17, [x29, #56]
0.29 : 258: ldp x4, x3, [x29, #56]
26.12 : 25c: mul x3, x3, x4
0.00 : 260: str x3, [x29, #72]
0.00 : 264: ldr d17, [x29, #72]
35.08 : 268: ext v16.16b, v16.16b, v16.16b, #8
0.00 : 26c: str d16, [x29, #40]
0.00 : 270: ldr d16, 4b8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x438>
0.00 : 274: str d16, [x29, #32]
0.00 : 278: ldp x4, x3, [x29, #32]
0.70 : 27c: mul x3, x3, x4
0.00 : 280: str x3, [x29, #48]
0.00 : 284: ldr d16, [x29, #48]
17.66 : 288: mov v17.d[1], v16.d[0]
0.00 : 28c: str q17, [x1]
0.28 : 290: add x1, x1, #0x10
0.05 : 294: add x0, x0, #0x10
0.00 : 298: sub w2, w2, #0x1
0.18 : 29c: cbnz w2, 234 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x1b4>
0.06 : 2a0: add w27, w27, #0x400
0.00 : 2a4: sub x24, x24, #0x10
1.34 : 2a8: cmp x24, #0x10
0.00 : 2ac: b.cs 1f8 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x178> // b.hs, b.nlast
0.00 : 2b0: add x1, x26, w27, sxtw
0.00 : 2b4: mov x0, x25
0.00 : 2b8: mov x2, x22
0.00 : 2bc: mov w3, w24
0.00 : 2c0: mov w4, wzr
0.00 : 2c4: mov w5, #0x1 // #1
0.00 : 2c8: mov x6, #0x7960 // #31072
0.00 : 2cc: movk x6, #0xd9e1, lsl #16
0.00 : 2d0: movk x6, #0xe33e, lsl #32
0.00 : 2d4: ldr x6, [x6]
0.00 : 2d8: blr x6
0.00 : 2dc: add w27, w27, w24, lsl #6
0.00 : 2e0: str x24, [x19]
0.00 : 2e4: sub w2, w27, #0x40
0.00 : 2e8: mov w0, w2
0.00 : 2ec: add x0, x0, #0x40
0.00 : 2f0: mov w1, w20
0.00 : 2f4: cmp x0, x1
0.00 : 2f8: b.hi 450 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x3d0> // b.pmore
0.00 : 2fc: mov w2, w2
0.00 : 300: add x2, x21, x2
0.00 : 304: add x0, x23, #0xc0
0.00 : 308: ldp q16, q17, [x2]
0.01 : 30c: ldp q18, q19, [x2, #32]
0.00 : 310: stp q16, q17, [x0]
0.00 : 314: stp q18, q19, [x0, #32]
0.00 : 318: sub w25, w20, w27
0.00 : 31c: tbnz w25, #31, 450 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x3d0>
0.00 : 320: mov x0, x23
0.00 : 324: cmp w27, w20
0.00 : 328: b.hi 450 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x3d0> // b.pmore
0.00 : 32c: mov w2, w27
0.00 : 330: add x1, x21, x2
0.00 : 334: mov w2, w25
0.00 : 338: mov x3, #0x5cf8 // #23800
0.00 : 33c: movk x3, #0xd907, lsl #16
0.00 : 340: movk x3, #0xe33e, lsl #32
0.00 : 344: ldr x3, [x3]
0.02 : 348: blr x3
0.00 : 34c: str w25, [x19, #24]
0.00 : 350: stp xzr, xzr, [x29, #128]
0.00 : 354: stp xzr, xzr, [x29, #144]
0.00 : 358: ldp x27, x28, [sp, #224]
0.00 : 35c: ldp x25, x26, [sp, #208]
0.00 : 360: ldp x23, x24, [sp, #192]
0.00 : 364: ldp x21, x22, [sp, #176]
0.00 : 368: ldp x19, x20, [sp, #160]
0.00 : 36c: ldp x29, x30, [sp], #240
0.00 : 370: ret
0.00 : 374: neg w2, w24
0.00 : 378: add w27, w2, #0x100
0.00 : 37c: add x0, x23, w24, uxtw
0.00 : 380: tbnz w27, #31, 450 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x3d0>
0.00 : 384: mov w2, w27
0.00 : 388: mov x1, x21
0.00 : 38c: mov x3, #0x5cf8 // #23800
0.00 : 390: movk x3, #0xd907, lsl #16
0.00 : 394: movk x3, #0xe33e, lsl #32
0.00 : 398: ldr x3, [x3]
0.00 : 39c: blr x3
0.00 : 3a0: mov x0, x25
0.00 : 3a4: mov x1, x19
0.00 : 3a8: mov x5, x22
0.00 : 3ac: mov x3, x23
0.00 : 3b0: mov x2, #0x10 // #16
0.00 : 3b4: mov x4, #0x4 // #4
0.00 : 3b8: mov x6, #0x7840 // #30784
0.00 : 3bc: movk x6, #0xd9e1, lsl #16
0.00 : 3c0: movk x6, #0xe33e, lsl #32
0.00 : 3c4: ldr x6, [x6]
0.00 : 3c8: blr x6
0.00 : 3cc: str wzr, [x19, #24]
0.00 : 3d0: b 10c <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x8c>
0.00 : 3d4: cmp w28, #0x100
0.00 : 3d8: b.le 318 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x298>
0.00 : 3dc: add x3, x26, w27, sxtw
0.00 : 3e0: mov x1, x19
0.00 : 3e4: mov x0, x25
0.00 : 3e8: mov x5, x22
0.00 : 3ec: mov x2, #0x10 // #16
0.00 : 3f0: mov x4, #0x4 // #4
0.00 : 3f4: mov x6, #0x7840 // #30784
0.00 : 3f8: movk x6, #0xd9e1, lsl #16
0.00 : 3fc: movk x6, #0xe33e, lsl #32
0.00 : 400: ldr x6, [x6]
0.00 : 404: blr x6
0.00 : 408: add w27, w27, #0x100
0.00 : 40c: sub w0, w20, w27
0.00 : 410: cmp w0, #0x100
0.00 : 414: b.gt 3dc <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x35c>
0.00 : 418: sub w0, w27, #0x40
0.00 : 41c: mov w1, w0
0.00 : 420: add x1, x1, #0x40
0.00 : 424: mov w2, w20
0.00 : 428: cmp x1, x2
0.00 : 42c: b.hi 450 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x3d0> // b.pmore
0.00 : 430: mov w0, w0
0.00 : 434: add x0, x21, x0
0.00 : 438: add x1, x23, #0xc0
0.00 : 43c: ldp q16, q17, [x0]
0.00 : 440: ldp q18, q19, [x0, #32]
0.00 : 444: stp q16, q17, [x1]
0.00 : 448: stp q18, q19, [x1, #32]
0.00 : 44c: b 318 <void [System.IO.Hashing] System.IO.Hashing.XxHashShared::Append(valuetype System.IO.Hashing.XxHashShared/State&,valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x298>
0.00 : 450: mov x0, #0xe598 // #58776
0.00 : 454: movk x0, #0xd93a, lsl #16
0.00 : 458: movk x0, #0xe33e, lsl #32
0.00 : 45c: ldr x0, [x0]
0.00 : 460: blr x0
0.00 : 464: brk #0x0
0.00 : 468: add x0, x22, w24, uxtw
0.00 : 46c: mov w2, w20
0.00 : 470: mov x1, x21
0.00 : 474: mov x3, #0x5cf8 // #23800
0.00 : 478: movk x3, #0xd907, lsl #16
0.00 : 47c: movk x3, #0xe33e, lsl #32
0.00 : 480: ldr x3, [x3]
0.00 : 484: blr x3
0.00 : 488: add x0, x19, #0x18
0.00 : 48c: ldr w1, [x0]
0.00 : 490: add w1, w1, w20
0.00 : 494: str w1, [x0]
0.00 : 498: ldp x27, x28, [sp, #224]
0.00 : 49c: ldp x25, x26, [sp, #208]
0.00 : 4a0: ldp x23, x24, [sp, #192]
0.00 : 4a4: ldp x21, x22, [sp, #176]
0.00 : 4a8: ldp x19, x20, [sp, #160]
0.00 : 4ac: ldp x29, x30, [sp], #240
0.00 : 4b0: ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment