mallocng/aligned_alloc: check for malloc failure
[musl] / src / thread / microblaze / clone.s
1 .global __clone
2 .hidden __clone
3 .type   __clone,@function
4
5 # r5, r6, r7, r8, r9, r10, stack
6 # fn, st, fl, ar, pt, tl, ct
7 # fl, st, __, pt, ct, tl
8
9 __clone:
10         andi    r6, r6, -16
11         addi    r6, r6, -16
12         swi     r5, r6, 0
13         swi     r8, r6, 4
14
15         ori     r5, r7, 0
16         ori     r8, r9, 0
17         lwi     r9, r1, 28
18         ori     r12, r0, 120
19
20         brki    r14, 8
21         beqi    r3, 1f
22         rtsd    r15, 8
23         nop
24
25 1:      lwi     r3, r1, 0
26         lwi     r5, r1, 4
27         brald   r15, r3
28         nop
29         ori     r12, r0, 1
30         brki    r14, 8