fix arm run-time abi string functions
[musl] / src / string / arm / __aeabi_memcpy.s
1 .syntax unified
2
3 .global __aeabi_memcpy8
4 .global __aeabi_memcpy4
5 .global __aeabi_memcpy
6 .global __aeabi_memmove8
7 .global __aeabi_memmove4
8 .global __aeabi_memmove
9
10 .type __aeabi_memcpy8,%function
11 .type __aeabi_memcpy4,%function
12 .type __aeabi_memcpy,%function
13 .type __aeabi_memmove8,%function
14 .type __aeabi_memmove4,%function
15 .type __aeabi_memmove,%function
16
17 __aeabi_memmove8:
18 __aeabi_memmove4:
19 __aeabi_memmove:
20         cmp   r0, r1
21         bls   3f
22         cmp   r2, #0
23         beq   2f
24         adds  r0, r0, r2
25         adds  r2, r1, r2
26 1:      subs  r2, r2, #1
27         ldrb  r3, [r2]
28         subs  r0, r0, #1
29         strb  r3, [r0]
30         cmp   r1, r2
31         bne   1b
32 2:      bx    lr
33 __aeabi_memcpy8:
34 __aeabi_memcpy4:
35 __aeabi_memcpy:
36 3:      cmp   r2, #0
37         beq   2f
38         adds  r2, r1, r2
39 1:      ldrb  r3, [r1]
40         adds  r1, r1, #1
41         strb  r3, [r0]
42         adds  r0, r0, #1
43         cmp   r1, r2
44         bne   1b
45 2:      bx    lr