Files
MAG160C/analysis/reverse-cache-20260811/smoother.txt
T
2026-08-12 15:25:34 +08:00

433 lines
32 KiB
Plaintext

### _ZN9CSmoother12PushFrameAveEPtj @ 0x79e58 size=724
00079e58: str x19, [sp, #-0x20]!
00079e5c: stp x29, x30, [sp, #0x10]
00079e60: add x29, sp, #0x10
00079e64: mov x19, x0
00079e68: ldr w8, [x19, #0x3c]
00079e6c: cbz w8, #0x79f24
00079e70: ldr w8, [x19, #0x30]
00079e74: ldr w9, [x19, #0x38]
00079e78: add w8, w8, #1
00079e7c: cmp w8, w9
00079e80: str w8, [x19, #0x30]
00079e84: b.ls #0x79f2c
00079e88: cmp w9, #1
00079e8c: b.ne #0x79f24
00079e90: ldr w9, [x19, #0x34]
00079e94: cbz w9, #0x79f1c
00079e98: ldr x12, [x19, #0x10]
00079e9c: sub w10, w9, #1
00079ea0: add x11, x10, #1
00079ea4: cmp x11, #8
00079ea8: b.lo #0x79ed8
00079eac: and w13, w9, #7
00079eb0: sub x14, x11, x13
00079eb4: cbz x14, #0x79ed8
00079eb8: lsl x10, x10, #1
00079ebc: add x10, x10, #2
00079ec0: add x11, x1, x10
00079ec4: cmp x12, x11
00079ec8: b.hs #0x79f7c
00079ecc: add x10, x12, x10
00079ed0: cmp x10, x1
00079ed4: b.ls #0x79f7c
00079ed8: mov x10, x1
00079edc: mov x11, x12
00079ee0: ldrh w12, [x10]
00079ee4: ldrh w13, [x11]
00079ee8: strh w12, [x11], #2
00079eec: sub w13, w12, w13
00079ef0: cmp w13, w2
00079ef4: b.gt #0x79f10
00079ef8: neg w14, w13
00079efc: cmp w14, w2
00079f00: b.gt #0x79f10
00079f04: cbz w13, #0x79f10
00079f08: sub w12, w12, w13, lsr #1
00079f0c: strh w12, [x10]
00079f10: sub w9, w9, #1
00079f14: add x10, x10, #2
00079f18: cbnz w9, #0x79ee0
00079f1c: mov w9, #1
00079f20: b #0x79f44
00079f24: mov w0, wzr
00079f28: b #0x79f70
00079f2c: ldr w8, [x19, #0x34]
00079f30: ldr x0, [x19, #0x28]
00079f34: lsl x2, x8, #1
00079f38: bl #0x5cc60
00079f3c: ldr w8, [x19, #0x30]
00079f40: ldr w9, [x19, #0x38]
00079f44: udiv w10, w8, w9
00079f48: msub w10, w10, w9, w8
00079f4c: cbz w10, #0x79f60
00079f50: ldr x10, [x19, #0x28]
00079f54: ldr w11, [x19, #0x34]
00079f58: add x10, x10, x11, lsl #1
00079f5c: b #0x79f64
00079f60: ldr x10, [x19, #0x10]
00079f64: cmp w8, w9
00079f68: cset w0, hs
00079f6c: str x10, [x19, #0x28]
00079f70: ldp x29, x30, [sp, #0x10]
00079f74: ldr x19, [sp], #0x20
00079f78: ret
00079f7c: lsl x11, x14, #1
00079f80: sub w9, w9, w14
00079f84: dup v0.4s, w2
00079f88: add x10, x1, x11
00079f8c: add x11, x12, x11
00079f90: add x15, x1, #8
00079f94: ldur q2, [x15, #-8]
00079f98: ldr q1, [x12]
00079f9c: ushll v4.4s, v2.4h, #0
00079fa0: usubl v5.4s, v2.4h, v1.4h
00079fa4: usubl2 v1.4s, v2.8h, v1.8h
00079fa8: neg v7.4s, v5.4s
00079fac: neg v16.4s, v1.4s
00079fb0: cmge v3.4s, v0.4s, v1.4s
00079fb4: cmge v6.4s, v0.4s, v5.4s
00079fb8: cmge v16.4s, v0.4s, v16.4s
00079fbc: cmge v7.4s, v0.4s, v7.4s
00079fc0: xtn v3.4h, v3.4s
00079fc4: xtn v6.4h, v6.4s
00079fc8: xtn v16.4h, v16.4s
00079fcc: xtn v7.4h, v7.4s
00079fd0: uzp1 v3.8b, v6.8b, v3.8b
00079fd4: cmeq v6.4s, v1.4s, #0
00079fd8: uzp1 v7.8b, v7.8b, v16.8b
00079fdc: cmeq v16.4s, v5.4s, #0
00079fe0: mvn v6.16b, v6.16b
00079fe4: mvn v16.16b, v16.16b
00079fe8: xtn v6.4h, v6.4s
00079fec: xtn v16.4h, v16.4s
00079ff0: uzp1 v6.8b, v16.8b, v6.8b
00079ff4: shl v7.8b, v7.8b, #7
00079ff8: shl v6.8b, v6.8b, #7
00079ffc: shl v3.8b, v3.8b, #7
0007a000: sshr v7.8b, v7.8b, #7
0007a004: sshr v6.8b, v6.8b, #7
0007a008: sshr v3.8b, v3.8b, #7
0007a00c: and v6.8b, v7.8b, v6.8b
0007a010: and v3.8b, v6.8b, v3.8b
0007a014: umov w16, v3.b[0]
0007a018: str q2, [x12]
0007a01c: tbz w16, #0, #0x7a05c
0007a020: fmov w16, s4
0007a024: fmov w17, s5
0007a028: sub w16, w16, w17, lsr #1
0007a02c: sturh w16, [x15, #-8]
0007a030: umov w16, v3.b[1]
0007a034: tbnz w16, #0, #0x7a064
0007a038: umov w16, v3.b[2]
0007a03c: tbz w16, #0, #0x7a07c
0007a040: mov w16, v4.s[2]
0007a044: mov w17, v5.s[2]
0007a048: sub w16, w16, w17, lsr #1
0007a04c: sturh w16, [x15, #-4]
0007a050: umov w16, v3.b[3]
0007a054: tbnz w16, #0, #0x7a084
0007a058: b #0x7a094
0007a05c: umov w16, v3.b[1]
0007a060: tbz w16, #0, #0x7a038
0007a064: mov w16, v4.s[1]
0007a068: mov w17, v5.s[1]
0007a06c: sub w16, w16, w17, lsr #1
0007a070: sturh w16, [x15, #-6]
0007a074: umov w16, v3.b[2]
0007a078: tbnz w16, #0, #0x7a040
0007a07c: umov w16, v3.b[3]
0007a080: tbz w16, #0, #0x7a094
0007a084: mov w16, v4.s[3]
0007a088: mov w17, v5.s[3]
0007a08c: sub w16, w16, w17, lsr #1
0007a090: sturh w16, [x15, #-2]
0007a094: umov w16, v3.b[4]
0007a098: ushll2 v2.4s, v2.8h, #0
0007a09c: tbz w16, #0, #0x7a0dc
0007a0a0: fmov w16, s2
0007a0a4: fmov w17, s1
0007a0a8: sub w16, w16, w17, lsr #1
0007a0ac: strh w16, [x15]
0007a0b0: umov w16, v3.b[5]
0007a0b4: tbnz w16, #0, #0x7a0e4
0007a0b8: umov w16, v3.b[6]
0007a0bc: tbz w16, #0, #0x7a0fc
0007a0c0: mov w16, v2.s[2]
0007a0c4: mov w17, v1.s[2]
0007a0c8: sub w16, w16, w17, lsr #1
0007a0cc: strh w16, [x15, #4]
0007a0d0: umov w16, v3.b[7]
0007a0d4: tbnz w16, #0, #0x7a104
0007a0d8: b #0x7a114
0007a0dc: umov w16, v3.b[5]
0007a0e0: tbz w16, #0, #0x7a0b8
0007a0e4: mov w16, v2.s[1]
0007a0e8: mov w17, v1.s[1]
0007a0ec: sub w16, w16, w17, lsr #1
0007a0f0: strh w16, [x15, #2]
0007a0f4: umov w16, v3.b[6]
0007a0f8: tbnz w16, #0, #0x7a0c0
0007a0fc: umov w16, v3.b[7]
0007a100: tbz w16, #0, #0x7a114
0007a104: mov w16, v2.s[3]
0007a108: mov w17, v1.s[3]
0007a10c: sub w16, w16, w17, lsr #1
0007a110: strh w16, [x15, #6]
0007a114: sub x14, x14, #8
0007a118: add x15, x15, #0x10
0007a11c: add x12, x12, #0x10
0007a120: cbnz x14, #0x79f94
0007a124: cbnz w13, #0x79ee0
0007a128: b #0x79f1c
### _ZN12CAccumulator9PushFrameEPKt @ 0x62548 size=988
00062548: str x19, [sp, #-0x20]!
0006254c: stp x29, x30, [sp, #0x10]
00062550: add x29, sp, #0x10
00062554: mov x19, x0
00062558: ldr w8, [x19, #0x2c]
0006255c: cbz w8, #0x626b0
00062560: ldr w9, [x19, #0x20]
00062564: ldr w10, [x19, #0x28]
00062568: add w11, w9, #1
0006256c: cmp w10, #2
00062570: str w11, [x19, #0x20]
00062574: b.eq #0x625c8
00062578: cmp w10, #1
0006257c: b.eq #0x62684
00062580: ldr x8, [x19, #0x18]
00062584: cbz w9, #0x626c0
00062588: cmp w11, w10
0006258c: b.ne #0x6271c
00062590: ldr x11, [x19, #0x10]
00062594: sub w10, w9, #3
00062598: cmp w10, #0x1c
0006259c: b.hi #0x627c0
000625a0: adrp x9, #0x336000
000625a4: add x9, x9, #0x220
000625a8: ldrsw x10, [x9, x10, lsl #2]
000625ac: add x10, x10, x9
000625b0: mov w9, #2
000625b4: br x10
000625b8: mov w9, #3
000625bc: ldr w10, [x19, #0x24]
000625c0: cbnz w10, #0x62870
000625c4: b #0x62694
000625c8: cbz w9, #0x62684
000625cc: ldr w9, [x19, #0x24]
000625d0: lsr w8, w9, #2
000625d4: cbz w8, #0x62694
000625d8: ldr x11, [x19, #0x10]
000625dc: sub w10, w8, #1
000625e0: add x13, x10, #1
000625e4: cmp x13, #8
000625e8: b.lo #0x62618
000625ec: ubfx w12, w9, #2, #3
000625f0: sub x13, x13, x12
000625f4: cbz x13, #0x62618
000625f8: lsl x9, x10, #3
000625fc: add x9, x9, #8
00062600: add x10, x1, x9
00062604: cmp x11, x10
00062608: b.hs #0x627d8
0006260c: add x9, x11, x9
00062610: cmp x9, x1
00062614: b.ls #0x627d8
00062618: mov x9, x1
0006261c: mov x10, x11
00062620: ldrh w11, [x10]
00062624: ldrh w12, [x9]
00062628: sub w8, w8, #1
0006262c: add w11, w12, w11
00062630: lsr w11, w11, #1
00062634: strh w11, [x10]
00062638: ldrh w12, [x10, #2]
0006263c: ldrh w11, [x9, #2]
00062640: add w11, w11, w12
00062644: lsr w11, w11, #1
00062648: strh w11, [x10, #2]
0006264c: ldrh w12, [x10, #4]
00062650: ldrh w11, [x9, #4]
00062654: add w11, w11, w12
00062658: lsr w11, w11, #1
0006265c: strh w11, [x10, #4]
00062660: ldrh w12, [x10, #6]
00062664: ldrh w11, [x9, #6]
00062668: add x9, x9, #8
0006266c: add w11, w11, w12
00062670: lsr w11, w11, #1
00062674: strh w11, [x10, #6]
00062678: add x10, x10, #8
0006267c: cbnz w8, #0x62620
00062680: b #0x62694
00062684: ldr w8, [x19, #0x24]
00062688: ldr x0, [x19, #0x10]
0006268c: lsl x2, x8, #1
00062690: bl #0x5cc60
00062694: ldr w8, [x19, #0x20]
00062698: ldr w9, [x19, #0x28]
0006269c: cmp w8, w9
000626a0: b.ne #0x626b0
000626a4: mov w0, #1
000626a8: str wzr, [x19, #0x20]
000626ac: b #0x626b4
000626b0: mov w0, wzr
000626b4: ldp x29, x30, [sp, #0x10]
000626b8: ldr x19, [sp], #0x20
000626bc: ret
000626c0: ldr w10, [x19, #0x24]
000626c4: lsr w9, w10, #2
000626c8: cbz w9, #0x62694
000626cc: sub w11, w9, #1
000626d0: add x11, x11, #1
000626d4: cmp x11, #4
000626d8: b.lo #0x6277c
000626dc: ubfx w12, w10, #2, #2
000626e0: sub x13, x11, x12
000626e4: cbz x13, #0x6277c
000626e8: sub w9, w9, w13
000626ec: add x10, x1, x13, lsl #3
000626f0: add x11, x8, x13, lsl #4
000626f4: ld4 {v0.4h, v1.4h, v2.4h, v3.4h}, [x1], #32
000626f8: sub x13, x13, #4
000626fc: ushll v4.4s, v0.4h, #0
00062700: ushll v5.4s, v1.4h, #0
00062704: ushll v6.4s, v2.4h, #0
00062708: ushll v7.4s, v3.4h, #0
0006270c: st4 {v4.4s, v5.4s, v6.4s, v7.4s}, [x8], #64
00062710: cbnz x13, #0x626f4
00062714: cbnz w12, #0x62784
00062718: b #0x62694
0006271c: ldr w10, [x19, #0x24]
00062720: lsr w9, w10, #2
00062724: cbz w9, #0x62694
00062728: sub w11, w9, #1
0006272c: add x11, x11, #1
00062730: cmp x11, #4
00062734: b.lo #0x6279c
00062738: ubfx w12, w10, #2, #2
0006273c: sub x13, x11, x12
00062740: cbz x13, #0x6279c
00062744: sub w9, w9, w13
00062748: add x10, x1, x13, lsl #3
0006274c: add x11, x8, x13, lsl #4
00062750: ld4 {v0.4h, v1.4h, v2.4h, v3.4h}, [x1], #32
00062754: ld4 {v4.4s, v5.4s, v6.4s, v7.4s}, [x8]
00062758: sub x13, x13, #4
0006275c: uaddw v16.4s, v4.4s, v0.4h
00062760: uaddw v17.4s, v5.4s, v1.4h
00062764: uaddw v18.4s, v6.4s, v2.4h
00062768: uaddw v19.4s, v7.4s, v3.4h
0006276c: st4 {v16.4s, v17.4s, v18.4s, v19.4s}, [x8], #64
00062770: cbnz x13, #0x62750
00062774: cbnz w12, #0x627a4
00062778: b #0x62694
0006277c: mov x10, x1
00062780: mov x11, x8
00062784: ldr d0, [x10], #8
00062788: sub w9, w9, #1
0006278c: ushll v0.4s, v0.4h, #0
00062790: str q0, [x11], #0x10
00062794: cbnz w9, #0x62784
00062798: b #0x62694
0006279c: mov x10, x1
000627a0: mov x11, x8
000627a4: ldr d0, [x10], #8
000627a8: ldr q1, [x11]
000627ac: sub w9, w9, #1
000627b0: uaddw v0.4s, v1.4s, v0.4h
000627b4: str q0, [x11], #0x10
000627b8: cbnz w9, #0x627a4
000627bc: b #0x62694
000627c0: cmp w9, #0x3f
000627c4: b.ne #0x62844
000627c8: mov w9, #6
000627cc: ldr w10, [x19, #0x24]
000627d0: cbnz w10, #0x62870
000627d4: b #0x62694
000627d8: lsl x10, x13, #3
000627dc: sub w8, w8, w13
000627e0: add x9, x1, x10
000627e4: add x10, x11, x10
000627e8: ld4 {v0.8h, v1.8h, v2.8h, v3.8h}, [x11]
000627ec: ld4 {v4.8h, v5.8h, v6.8h, v7.8h}, [x1], #64
000627f0: sub x13, x13, #8
000627f4: uaddl v17.4s, v4.4h, v0.4h
000627f8: uaddl2 v16.4s, v4.8h, v0.8h
000627fc: uaddl2 v18.4s, v5.8h, v1.8h
00062800: uaddl v19.4s, v5.4h, v1.4h
00062804: uaddl2 v20.4s, v6.8h, v2.8h
00062808: uaddl v21.4s, v6.4h, v2.4h
0006280c: uaddl2 v22.4s, v7.8h, v3.8h
00062810: uaddl v0.4s, v7.4h, v3.4h
00062814: shrn v1.4h, v17.4s, #1
00062818: shrn2 v1.8h, v16.4s, #1
0006281c: shrn v2.4h, v19.4s, #1
00062820: shrn2 v2.8h, v18.4s, #1
00062824: shrn v3.4h, v21.4s, #1
00062828: shrn2 v3.8h, v20.4s, #1
0006282c: shrn v4.4h, v0.4s, #1
00062830: shrn2 v4.8h, v22.4s, #1
00062834: st4 {v1.8h, v2.8h, v3.8h, v4.8h}, [x11], #64
00062838: cbnz x13, #0x627e8
0006283c: cbnz w12, #0x62620
00062840: b #0x62694
00062844: mov w9, wzr
00062848: ldr w10, [x19, #0x24]
0006284c: cbnz w10, #0x62870
00062850: b #0x62694
00062854: mov w9, #4
00062858: ldr w10, [x19, #0x24]
0006285c: cbnz w10, #0x62870
00062860: b #0x62694
00062864: mov w9, #5
00062868: ldr w10, [x19, #0x24]
0006286c: cbz w10, #0x62694
00062870: sub w12, w10, #1
00062874: add x13, x12, #1
00062878: cmp x13, #4
0006287c: b.lo #0x628ac
00062880: and w15, w10, #3
00062884: sub x16, x13, x15
00062888: cbz x16, #0x628ac
0006288c: lsl x12, x12, #1
00062890: add x12, x12, #2
00062894: add x13, x1, x12
00062898: cmp x11, x13
0006289c: b.hs #0x628dc
000628a0: add x12, x11, x12
000628a4: cmp x12, x1
000628a8: b.ls #0x628dc
000628ac: mov x12, x11
000628b0: mov x13, x1
000628b4: mov x14, x8
000628b8: ldr w8, [x14]
000628bc: ldrh w11, [x13], #2
000628c0: sub w10, w10, #1
000628c4: add w8, w8, w11
000628c8: lsr w11, w8, w9
000628cc: strh w11, [x12], #2
000628d0: str w8, [x14], #4
000628d4: cbnz w10, #0x628b8
000628d8: b #0x62694
000628dc: lsl x13, x16, #1
000628e0: dup v0.4s, w9
000628e4: sub w10, w10, w16
000628e8: add x14, x8, x16, lsl #2
000628ec: add x12, x11, x13
000628f0: add x13, x1, x13
000628f4: neg v0.4s, v0.4s
000628f8: ldr q1, [x8]
000628fc: ldr d2, [x1], #8
00062900: sub x16, x16, #4
00062904: uaddw v1.4s, v1.4s, v2.4h
00062908: ushl v2.4s, v1.4s, v0.4s
0006290c: xtn v2.4h, v2.4s
00062910: str d2, [x11], #8
00062914: str q1, [x8], #0x10
00062918: cbnz x16, #0x628f8
0006291c: cbnz w15, #0x628b8
00062920: b #0x62694