(gdb) stepi
0x400265d0 in memcpy () from ../../root/really_tiny_libc/libtinyc.so
(gdb) disas
Dump of assembler code for function memcpy:
0x400265d0 <memcpy+0>: push {r0, lr}
0x400265d4 <memcpy+4>: pld [r1]
0x400265d8 <memcpy+8>: pld [r1, #64] ; 0x40
0x400265dc <memcpy+12>: cmp r2, #16
0x400265e0 <memcpy+16>: bcc 0x40026694 <memcpy+196>
0x400265e4 <memcpy+20>: rsb r3, r0, #0
0x400265e8 <memcpy+24>: ands r3, r3, #15
0x400265ec <memcpy+28>: beq 0x4002662c <memcpy+92>
0x400265f0 <memcpy+32>: sub r2, r2, r3
0x400265f4 <memcpy+36>: lsls r12, r3, #31
0x400265f8 <memcpy+40>: ldrbmi lr, [r1], #1
0x400265fc <memcpy+44>: strbmi lr, [r0], #1
0x40026600 <memcpy+48>: ldrbcs r12, [r1], #1
0x40026604 <memcpy+52>: ldrbcs lr, [r1], #1
0x40026608 <memcpy+56>: strbcs r12, [r0], #1
0x4002660c <memcpy+60>: strbcs lr, [r0], #1
0x40026610 <memcpy+64>: lsls r12, r3, #29
0x40026614 <memcpy+68>: bge 0x40026620 <memcpy+80>
0x40026618 <memcpy+72>: vld4.8 {d0[0],d1[0],d2[0],d3[0]}, [r1]!
0x4002661c <memcpy+76>: vst4.8 {d0[0],d1[0],d2[0],d3[0]}, [r0, :32]!
0x40026620 <memcpy+80>: bcc 0x4002662c <memcpy+92>
0x40026624 <memcpy+84>: vld1.8 {d0}, [r1]!
0x40026628 <memcpy+88>: vst1.8 {d0}, [r0, :64]!
0x4002662c <memcpy+92>: pld [r1]
0x40026630 <memcpy+96>: pld [r1, #64] ; 0x40
0x40026634 <memcpy+100>: subs r2, r2, #64 ; 0x40
0x40026638 <memcpy+104>: bcc 0x40026664 <memcpy+148>
0x4002663c <memcpy+108>: pld [r1, #128] ; 0x80
0x40026640 <memcpy+112>: pld [r1, #192] ; 0xc0
0x40026644 <memcpy+116>: pld [r1, #256] ; 0x100
0x40026648 <memcpy+120>: vld1.8 {d0-d3}, [r1]!
0x4002664c <memcpy+124>: vld1.8 {d4-d7}, [r1]!
0x40026650 <memcpy+128>: pld [r1, #256] ; 0x100
0x40026654 <memcpy+132>: subs r2, r2, #64 ; 0x40
0x40026658 <memcpy+136>: vst1.8 {d0-d3}, [r0, :128]!
0x4002665c <memcpy+140>: vst1.8 {d4-d7}, [r0, :128]!
0x40026660 <memcpy+144>: bcs 0x40026648 <memcpy+120>
0x40026664 <memcpy+148>: add r2, r2, #64 ; 0x40
0x40026668 <memcpy+152>: subs r2, r2, #32
0x4002666c <memcpy+156>: bcc 0x40026680 <memcpy+176>
0x40026670 <memcpy+160>: vld1.8 {d0-d3}, [r1]!
0x40026674 <memcpy+164>: subs r2, r2, #32
0x40026678 <memcpy+168>: vst1.8 {d0-d3}, [r0, :128]!
0x4002667c <memcpy+172>: bcs 0x40026670 <memcpy+160>
0x40026680 <memcpy+176>: add r2, r2, #32
0x40026684 <memcpy+180>: tst r2, #16
0x40026688 <memcpy+184>: beq 0x40026694 <memcpy+196>
0x4002668c <memcpy+188>: vld1.8 {d0-d1}, [r1]!
0x40026690 <memcpy+192>: vst1.8 {d0-d1}, [r0, :128]!
0x40026694 <memcpy+196>: lsls r12, r2, #29
0x40026698 <memcpy+200>: bcc 0x400266a4 <memcpy+212>
0x4002669c <memcpy+204>: vld1.8 {d0}, [r1]!
0x400266a0 <memcpy+208>: vst1.8 {d0}, [r0]!
0x400266a4 <memcpy+212>: bge 0x400266b0 <memcpy+224>
0x400266a8 <memcpy+216>: vld4.8 {d0[0],d1[0],d2[0],d3[0]}, [r1]!
0x400266ac <memcpy+220>: vst4.8 {d0[0],d1[0],d2[0],d3[0]}, [r0]!
0x400266b0 <memcpy+224>: lsls r12, r2, #31
0x400266b4 <memcpy+228>: ldrbmi r3, [r1], #1
0x400266b8 <memcpy+232>: ldrbcs r12, [r1], #1
0x400266bc <memcpy+236>: ldrbcs lr, [r1], #1
0x400266c0 <memcpy+240>: strbmi r3, [r0], #1
0x400266c4 <memcpy+244>: strbcs r12, [r0], #1
0x400266c8 <memcpy+248>: strbcs lr, [r0], #1
0x400266cc <memcpy+252>: pop {r0, lr}
0x400266d0 <memcpy+256>: bx lr
0x400266d4 <memcpy+260>: nop {0}
0x400266d8 <memcpy+264>: nop {0}
0x400266dc <memcpy+268>: nop {0}
End of assembler dump.