Key: ELF symbol (primary) ELF symbol source (with column ║) frame instruction +variable (range start) -variable (range end) inlining control-flow forwards branch ──> backwards branch ══>Compilation unit 00016080 00016200 arch/arm64/kvm/hyp/nvhe/../../../lib/copy_template.S
instructions
header
.debug_abbrev die abbreviation table
.debug_info die tree
.debug_line line number info
.debug_line evaluated line info
simple die tree
simple die tree globals
simple die tree locals
inlined subroutine info
inlined subroutine info by range
**00016080 <memcpy>:
**00016080 <__memcpy>:
**00016080 <__pi_memcpy>:
00016080 <$x>:
no matching unpacked_file_entry:42.0 (copy_template.S) Sbepe ║ mov dst, dstin
~ 00016080: aa0003e6 mov x6, x0
no matching unpacked_file_entry:43.0 (copy_template.S) Sbepe ║ cmp count, #16
~ 00016084: f100405f cmp x2, #0x10
no matching unpacked_file_entry:45.0 (copy_template.S) Sbepe ║ b.lo .Ltiny15
~ ┌──────00016088: 540003c3 b.cc 16100 <__memcpy+0x80> // b.lo, b.ul, b.last
│
│ no matching unpacked_file_entry:47.0 (copy_template.S) Sbepe ║ neg tmp2, src
~ │ 0001608c: cb0103e4 neg x4, x1 <- 00016088(b.cc-succ)<fallthrough>
│ no matching unpacked_file_entry:48.0 (copy_template.S) Sbepe ║ ands tmp2, tmp2, #15/* Bytes to reach alignment. */
~ │ 00016090: f2400c84 ands x4, x4, #0xf
│ no matching unpacked_file_entry:49.0 (copy_template.S) Sbepe ║ b.eq .LSrcAligned
~ ┌──┼──────00016094: 540001c0 b.eq 160cc <__memcpy+0x4c> // b.none
│ │
│ │ no matching unpacked_file_entry:50.0 (copy_template.S) Sbepe ║ sub count, count, tmp2
~ │ │ 00016098: cb040042 sub x2, x2, x4 <- 00016094(b.cc-succ)<fallthrough>
│ │ no matching unpacked_file_entry:57.0 (copy_template.S) Sbepe ║ tbz tmp2, #0, 1f
~ │ │ ┌─0001609c: 36000064 tbz w4, #0, 160a8 <__memcpy+0x28>
│ │ │
│ │ │ no matching unpacked_file_entry:58.0 (copy_template.S) Sbepe ║ ldrb1 tmp1w, src, #1
~ │ │ │ 000160a0: 38401423 ldrb w3, [x1], #1 <- 0001609c(b.cc-succ)<fallthrough>
│ │ │ no matching unpacked_file_entry:59.0 (copy_template.S) Sbepe ║ strb1 tmp1w, dst, #1
~ │ │ │ 000160a4: 380014c3 strb w3, [x6], #1
│ │ │
│ │ │ no matching unpacked_file_entry:61.0 (copy_template.S) Sbepe ║ tbz tmp2, #1, 2f
~ │ │ ┌─└>000160a8: 36080064 tbz w4, #1, 160b4 <__memcpy+0x34> <- 0001609c(b.cc)<__memcpy+0x28>
│ │ │
│ │ │ no matching unpacked_file_entry:62.0 (copy_template.S) Sbepe ║ ldrh1 tmp1w, src, #2
~ │ │ │ 000160ac: 78402423 ldrh w3, [x1], #2 <- 000160a8(b.cc-succ)<fallthrough>
│ │ │ no matching unpacked_file_entry:63.0 (copy_template.S) Sbepe ║ strh1 tmp1w, dst, #2
~ │ │ │ 000160b0: 780024c3 strh w3, [x6], #2
│ │ │
│ │ │ no matching unpacked_file_entry:65.0 (copy_template.S) Sbepe ║ tbz tmp2, #2, 3f
~ │ │┌─└──>000160b4: 36100064 tbz w4, #2, 160c0 <__memcpy+0x40> <- 000160a8(b.cc)<__memcpy+0x34>
│ ││
│ ││ no matching unpacked_file_entry:66.0 (copy_template.S) Sbepe ║ ldr1 tmp1w, src, #4
~ │ ││ 000160b8: b8404423 ldr w3, [x1], #4 <- 000160b4(b.cc-succ)<fallthrough>
│ ││ no matching unpacked_file_entry:67.0 (copy_template.S) Sbepe ║ str1 tmp1w, dst, #4
~ │ ││ 000160bc: b80044c3 str w3, [x6], #4
│ ││
│ ││ no matching unpacked_file_entry:69.0 (copy_template.S) Sbepe ║ tbz tmp2, #3, .LSrcAligned
~ │ ┌┼└────>000160c0: 36180064 tbz w4, #3, 160cc <__memcpy+0x4c> <- 000160b4(b.cc)<__memcpy+0x40>
│ ││
│ ││ no matching unpacked_file_entry:70.0 (copy_template.S) Sbepe ║ ldr1 tmp1, src, #8
~ │ ││ 000160c4: f8408423 ldr x3, [x1], #8 <- 000160c0(b.cc-succ)<fallthrough>
│ ││ no matching unpacked_file_entry:71.0 (copy_template.S) Sbepe ║ str1 tmp1, dst, #8
~ │ ││ 000160c8: f80084c3 str x3, [x6], #8
│ ││
│ ││ no matching unpacked_file_entry:74.0 (copy_template.S) Sbepe ║ cmp count, #64
~ └>└┼─────>000160cc: f101005f cmp x2, #0x40 <- 00016094(b.cc)<__memcpy+0x4c>,000160c0(b.cc)<__memcpy+0x4c>
│ no matching unpacked_file_entry:75.0 (copy_template.S) Sbepe ║ b.ge .Lcpy_over64
~ │ ┌────000160d0: 5400032a b.ge 16134 <__memcpy+0xb4> // b.tcont
│ │
│ │ no matching unpacked_file_entry:85.0 (copy_template.S) Sbepe ║ ands tmp1, count, #0x30
~ ╔>╔>│ │ 000160d4: f27c0443 ands x3, x2, #0x30 <- 000160d0(b.cc-succ)<fallthrough>,v00016160(b.cc)<__memcpy+0x54>,v000161cc(b.cc)<__memcpy+0x54>
║ ║ │ │ no matching unpacked_file_entry:86.0 (copy_template.S) Sbepe ║ b.eq .Ltiny15
~ ║ ║ │ │┌───000160d8: 54000140 b.eq 16100 <__memcpy+0x80> // b.none
║ ║ │ ││
║ ║ │ ││ no matching unpacked_file_entry:87.0 (copy_template.S) Sbepe ║ cmp tmp1w, #0x20
~ ║ ║ │ ││ 000160dc: 7100807f cmp w3, #0x20 <- 000160d8(b.cc-succ)<fallthrough>
║ ║ │ ││ no matching unpacked_file_entry:88.0 (copy_template.S) Sbepe ║ b.eq 1f
~ ║ ║ │ ││ ┌─000160e0: 54000080 b.eq 160f0 <__memcpy+0x70> // b.none
║ ║ │ ││ │
║ ║ │ ││ │ no matching unpacked_file_entry:89.0 (copy_template.S) Sbepe ║ b.lt 2f
~ ║ ║ │ ││┌┼─000160e4: 540000ab b.lt 160f8 <__memcpy+0x78> // b.tstop <- 000160e0(b.cc-succ)<fallthrough>
║ ║ │ ││││
║ ║ │ ││││ no matching unpacked_file_entry:90.0 (copy_template.S) Sbepe ║ ldp1 A_l, A_h, src, #16
~ ║ ║ │ ││││ 000160e8: a8c12027 ldp x7, x8, [x1], #16 <- 000160e4(b.cc-succ)<fallthrough>
║ ║ │ ││││ no matching unpacked_file_entry:91.0 (copy_template.S) Sbepe ║ stp1 A_l, A_h, dst, #16
~ ║ ║ │ ││││ 000160ec: a88120c7 stp x7, x8, [x6], #16
║ ║ │ ││││
║ ║ │ ││││ no matching unpacked_file_entry:93.0 (copy_template.S) Sbepe ║ ldp1 A_l, A_h, src, #16
~ ║ ║ │ │││└>000160f0: a8c12027 ldp x7, x8, [x1], #16 <- 000160e0(b.cc)<__memcpy+0x70>
║ ║ │ │││ no matching unpacked_file_entry:94.0 (copy_template.S) Sbepe ║ stp1 A_l, A_h, dst, #16
~ ║ ║ │ │││ 000160f4: a88120c7 stp x7, x8, [x6], #16
║ ║ │ │││
║ ║ │ │││ no matching unpacked_file_entry:96.0 (copy_template.S) Sbepe ║ ldp1 A_l, A_h, src, #16
~ ║ ║ │ ││└─>000160f8: a8c12027 ldp x7, x8, [x1], #16 <- 000160e4(b.cc)<__memcpy+0x78>
║ ║ │ ││ no matching unpacked_file_entry:97.0 (copy_template.S) Sbepe ║ stp1 A_l, A_h, dst, #16
~ ║ ║ │ ││ 000160fc: a88120c7 stp x7, x8, [x6], #16
║ ║ │ ││
║ ║ │ ││ no matching unpacked_file_entry:110.0 (copy_template.S) Sbepe ║ tbz count, #3, 1f
~ ║ ║ └>│└>┌─00016100: 36180062 tbz w2, #3, 1610c <__memcpy+0x8c> <- 00016088(b.cc)<__memcpy+0x80>,000160d8(b.cc)<__memcpy+0x80>
║ ║ │ │
║ ║ │ │ no matching unpacked_file_entry:111.0 (copy_template.S) Sbepe ║ ldr1 tmp1, src, #8
~ ║ ║ │ │ 00016104: f8408423 ldr x3, [x1], #8 <- 00016100(b.cc-succ)<fallthrough>
║ ║ │ │ no matching unpacked_file_entry:112.0 (copy_template.S) Sbepe ║ str1 tmp1, dst, #8
~ ║ ║ │ │ 00016108: f80084c3 str x3, [x6], #8
║ ║ │ │
║ ║ │ │ no matching unpacked_file_entry:114.0 (copy_template.S) Sbepe ║ tbz count, #2, 2f
~ ║ ║ │┌─└>0001610c: 36100062 tbz w2, #2, 16118 <__memcpy+0x98> <- 00016100(b.cc)<__memcpy+0x8c>
║ ║ ││
║ ║ ││ no matching unpacked_file_entry:115.0 (copy_template.S) Sbepe ║ ldr1 tmp1w, src, #4
~ ║ ║ ││ 00016110: b8404423 ldr w3, [x1], #4 <- 0001610c(b.cc-succ)<fallthrough>
║ ║ ││ no matching unpacked_file_entry:116.0 (copy_template.S) Sbepe ║ str1 tmp1w, dst, #4
~ ║ ║ ││ 00016114: b80044c3 str w3, [x6], #4
║ ║ ││
║ ║ ││ no matching unpacked_file_entry:118.0 (copy_template.S) Sbepe ║ tbz count, #1, 3f
~ ║ ║ ┌┼└──>00016118: 36080062 tbz w2, #1, 16124 <__memcpy+0xa4> <- 0001610c(b.cc)<__memcpy+0x98>
║ ║ ││
║ ║ ││ no matching unpacked_file_entry:119.0 (copy_template.S) Sbepe ║ ldrh1 tmp1w, src, #2
~ ║ ║ ││ 0001611c: 78402423 ldrh w3, [x1], #2 <- 00016118(b.cc-succ)<fallthrough>
║ ║ ││ no matching unpacked_file_entry:120.0 (copy_template.S) Sbepe ║ strh1 tmp1w, dst, #2
~ ║ ║ ││ 00016120: 780024c3 strh w3, [x6], #2
║ ║ ││
║ ║ ││ no matching unpacked_file_entry:122.0 (copy_template.S) Sbepe ║ tbz count, #0, .Lexitfunc
~ ║ ║┌─└┼───>00016124: 36000562 tbz w2, #0, 161d0 <__memcpy+0x150> <- 00016118(b.cc)<__memcpy+0xa4>
║ ║│ │
║ ║│ │ no matching unpacked_file_entry:123.0 (copy_template.S) Sbepe ║ ldrb1 tmp1w, src, #1
~ ║ ║│ │ 00016128: 38401423 ldrb w3, [x1], #1 <- 00016124(b.cc-succ)<fallthrough>
║ ║│ │ no matching unpacked_file_entry:124.0 (copy_template.S) Sbepe ║ strb1 tmp1w, dst, #1
~ ║ ║│ │ 0001612c: 380014c3 strb w3, [x6], #1
║ ║│ │ no matching unpacked_file_entry:126.0 (copy_template.S) Sbepe ║ b .Lexitfunc
~ ║ ║│ ┌┼────00016130: 14000028 b 161d0 <__memcpy+0x150>
║ ║│ ││
║ ║│ ││ no matching unpacked_file_entry:129.0 (copy_template.S) Sbepe ║ subs count, count, #128
~ ║ ║│ │└───>00016134: f1020042 subs x2, x2, #0x80 <- 000160d0(b.cc)<__memcpy+0xb4>
║ ║│ │ no matching unpacked_file_entry:130.0 (copy_template.S) Sbepe ║ b.ge .Lcpy_body_large
~ ║ ║│ │ ┌─00016138: 5400024a b.ge 16180 <__memcpy+0x100> // b.tcont
║ ║│ │ │
║ ║│ │ │ no matching unpacked_file_entry:135.0 (copy_template.S) Sbepe ║ ldp1 A_l, A_h, src, #16
~ ║ ║│ │ │ 0001613c: a8c12027 ldp x7, x8, [x1], #16 <- 00016138(b.cc-succ)<fallthrough>
║ ║│ │ │ no matching unpacked_file_entry:136.0 (copy_template.S) Sbepe ║ stp1 A_l, A_h, dst, #16
~ ║ ║│ │ │ 00016140: a88120c7 stp x7, x8, [x6], #16
║ ║│ │ │ no matching unpacked_file_entry:137.0 (copy_template.S) Sbepe ║ ldp1 B_l, B_h, src, #16
~ ║ ║│ │ │ 00016144: a8c12829 ldp x9, x10, [x1], #16
║ ║│ │ │ no matching unpacked_file_entry:138.0 (copy_template.S) Sbepe ║ ldp1 C_l, C_h, src, #16
~ ║ ║│ │ │ 00016148: a8c1302b ldp x11, x12, [x1], #16
║ ║│ │ │ no matching unpacked_file_entry:139.0 (copy_template.S) Sbepe ║ stp1 B_l, B_h, dst, #16
~ ║ ║│ │ │ 0001614c: a88128c9 stp x9, x10, [x6], #16
║ ║│ │ │ no matching unpacked_file_entry:140.0 (copy_template.S) Sbepe ║ stp1 C_l, C_h, dst, #16
~ ║ ║│ │ │ 00016150: a88130cb stp x11, x12, [x6], #16
║ ║│ │ │ no matching unpacked_file_entry:141.0 (copy_template.S) Sbepe ║ ldp1 D_l, D_h, src, #16
~ ║ ║│ │ │ 00016154: a8c1382d ldp x13, x14, [x1], #16
║ ║│ │ │ no matching unpacked_file_entry:142.0 (copy_template.S) Sbepe ║ stp1 D_l, D_h, dst, #16
~ ║ ║│ │ │ 00016158: a88138cd stp x13, x14, [x6], #16
║ ║│ │ │ no matching unpacked_file_entry:144.0 (copy_template.S) Sbepe ║ tst count, #0x3f
~ ║ ║│ │ │ 0001615c: f240145f tst x2, #0x3f
║ ║│ │ │ no matching unpacked_file_entry:145.0 (copy_template.S) Sbepe ║ b.ne .Ltail63
~ ║ ╚╪═╪═══╪═00016160: 54fffba1 b.ne 160d4 <__memcpy+0x54> // b.any
║ │ │ │
║ │ │ │ no matching unpacked_file_entry:146.0 (copy_template.S) Sbepe ║ b .Lexitfunc
~ ║ │ │ ┌┼─00016164: 1400001b b 161d0 <__memcpy+0x150> <- 00016160(b.cc-succ)<fallthrough>
~ ║ │ │ ││ 00016168: d503201f nop
~ ║ │ │ ││ 0001616c: d503201f nop
~ ║ │ │ ││ 00016170: d503201f nop
~ ║ │ │ ││ 00016174: d503201f nop
~ ║ │ │ ││ 00016178: d503201f nop
~ ║ │ │ ││ 0001617c: d503201f nop
║ │ │ ││
║ │ │ ││ no matching unpacked_file_entry:155.0 (copy_template.S) Sbepe ║ ldp1 A_l, A_h, src, #16
~ ║ │ │ │└>00016180: a8c12027 ldp x7, x8, [x1], #16 <- 00016138(b.cc)<__memcpy+0x100>
║ │ │ │ no matching unpacked_file_entry:156.0 (copy_template.S) Sbepe ║ ldp1 B_l, B_h, src, #16
~ ║ │ │ │ 00016184: a8c12829 ldp x9, x10, [x1], #16
║ │ │ │ no matching unpacked_file_entry:157.0 (copy_template.S) Sbepe ║ ldp1 C_l, C_h, src, #16
~ ║ │ │ │ 00016188: a8c1302b ldp x11, x12, [x1], #16
║ │ │ │ no matching unpacked_file_entry:158.0 (copy_template.S) Sbepe ║ ldp1 D_l, D_h, src, #16
~ ║ │ │ │ 0001618c: a8c1382d ldp x13, x14, [x1], #16
║ │ │ │
║ │ │ │ no matching unpacked_file_entry:164.0 (copy_template.S) Sbepe ║ stp1 A_l, A_h, dst, #16
~ ║ │ │ │╔>00016190: a88120c7 stp x7, x8, [x6], #16 <- v000161b4(b.cc)<__memcpy+0x110>
║ │ │ │║ no matching unpacked_file_entry:165.0 (copy_template.S) Sbepe ║ ldp1 A_l, A_h, src, #16
~ ║ │ │ │║ 00016194: a8c12027 ldp x7, x8, [x1], #16
║ │ │ │║ no matching unpacked_file_entry:166.0 (copy_template.S) Sbepe ║ stp1 B_l, B_h, dst, #16
~ ║ │ │ │║ 00016198: a88128c9 stp x9, x10, [x6], #16
║ │ │ │║ no matching unpacked_file_entry:167.0 (copy_template.S) Sbepe ║ ldp1 B_l, B_h, src, #16
~ ║ │ │ │║ 0001619c: a8c12829 ldp x9, x10, [x1], #16
║ │ │ │║ no matching unpacked_file_entry:168.0 (copy_template.S) Sbepe ║ stp1 C_l, C_h, dst, #16
~ ║ │ │ │║ 000161a0: a88130cb stp x11, x12, [x6], #16
║ │ │ │║ no matching unpacked_file_entry:169.0 (copy_template.S) Sbepe ║ ldp1 C_l, C_h, src, #16
~ ║ │ │ │║ 000161a4: a8c1302b ldp x11, x12, [x1], #16
║ │ │ │║ no matching unpacked_file_entry:170.0 (copy_template.S) Sbepe ║ stp1 D_l, D_h, dst, #16
~ ║ │ │ │║ 000161a8: a88138cd stp x13, x14, [x6], #16
║ │ │ │║ no matching unpacked_file_entry:171.0 (copy_template.S) Sbepe ║ ldp1 D_l, D_h, src, #16
~ ║ │ │ │║ 000161ac: a8c1382d ldp x13, x14, [x1], #16
║ │ │ │║ no matching unpacked_file_entry:172.0 (copy_template.S) Sbepe ║ subs count, count, #64
~ ║ │ │ │║ 000161b0: f1010042 subs x2, x2, #0x40
║ │ │ │║ no matching unpacked_file_entry:173.0 (copy_template.S) Sbepe ║ b.ge 1b
~ ║ │ │ │╚═000161b4: 54fffeea b.ge 16190 <__memcpy+0x110> // b.tcont
║ │ │ │
║ │ │ │ no matching unpacked_file_entry:174.0 (copy_template.S) Sbepe ║ stp1 A_l, A_h, dst, #16
~ ║ │ │ │ 000161b8: a88120c7 stp x7, x8, [x6], #16 <- 000161b4(b.cc-succ)<fallthrough>
║ │ │ │ no matching unpacked_file_entry:175.0 (copy_template.S) Sbepe ║ stp1 B_l, B_h, dst, #16
~ ║ │ │ │ 000161bc: a88128c9 stp x9, x10, [x6], #16
║ │ │ │ no matching unpacked_file_entry:176.0 (copy_template.S) Sbepe ║ stp1 C_l, C_h, dst, #16
~ ║ │ │ │ 000161c0: a88130cb stp x11, x12, [x6], #16
║ │ │ │ no matching unpacked_file_entry:177.0 (copy_template.S) Sbepe ║ stp1 D_l, D_h, dst, #16
~ ║ │ │ │ 000161c4: a88138cd stp x13, x14, [x6], #16
║ │ │ │ no matching unpacked_file_entry:179.0 (copy_template.S) Sbepe ║ tst count, #0x3f
~ ║ │ │ │ 000161c8: f240145f tst x2, #0x3f
║ │ │ │ no matching unpacked_file_entry:180.0 (copy_template.S) Sbepe ║ b.ne .Ltail63
~ ╚══╪═╪══╪══000161cc: 54fff841 b.ne 160d4 <__memcpy+0x54> // b.any
│ │ │
│ │ │ no matching unpacked_file_entry:62.0 (memcpy.S) Sbepe ║ ret
~ └>└─>└─>000161d0: d65f03c0 ret <- 00016124(b.cc)<__memcpy+0x150>,00016130(b)<__memcpy+0x150>,00016164(b)<__memcpy+0x150>,000161cc(b.cc-succ)<fallthrough>
~ 000161d4: missing
~ 000161d8: missing
~ 000161dc: missing
~ 000161e0: missing
~ 000161e4: missing
~ 000161e8: missing
~ 000161ec: missing
~ 000161f0: missing
~ 000161f4: missing
~ 000161f8: missing
00015f28 CFA:r31+16
~ 000161fc: missing