xref: /aosp_15_r20/external/musl/src/thread/microblaze/clone.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global __clone
2*c9945492SAndroid Build Coastguard Worker.hidden __clone
3*c9945492SAndroid Build Coastguard Worker.type   __clone,@function
4*c9945492SAndroid Build Coastguard Worker
5*c9945492SAndroid Build Coastguard Worker# r5, r6, r7, r8, r9, r10, stack
6*c9945492SAndroid Build Coastguard Worker# fn, st, fl, ar, pt, tl, ct
7*c9945492SAndroid Build Coastguard Worker# fl, st, __, pt, ct, tl
8*c9945492SAndroid Build Coastguard Worker
9*c9945492SAndroid Build Coastguard Worker__clone:
10*c9945492SAndroid Build Coastguard Worker	andi    r6, r6, -16
11*c9945492SAndroid Build Coastguard Worker	addi    r6, r6, -16
12*c9945492SAndroid Build Coastguard Worker	swi     r5, r6, 0
13*c9945492SAndroid Build Coastguard Worker	swi     r8, r6, 4
14*c9945492SAndroid Build Coastguard Worker
15*c9945492SAndroid Build Coastguard Worker	ori     r5, r7, 0
16*c9945492SAndroid Build Coastguard Worker	ori     r8, r9, 0
17*c9945492SAndroid Build Coastguard Worker	lwi     r9, r1, 28
18*c9945492SAndroid Build Coastguard Worker	ori     r12, r0, 120
19*c9945492SAndroid Build Coastguard Worker
20*c9945492SAndroid Build Coastguard Worker	brki    r14, 8
21*c9945492SAndroid Build Coastguard Worker	beqi	r3, 1f
22*c9945492SAndroid Build Coastguard Worker	rtsd    r15, 8
23*c9945492SAndroid Build Coastguard Worker	nop
24*c9945492SAndroid Build Coastguard Worker
25*c9945492SAndroid Build Coastguard Worker1:	lwi     r3, r1, 0
26*c9945492SAndroid Build Coastguard Worker	lwi     r5, r1, 4
27*c9945492SAndroid Build Coastguard Worker	brald   r15, r3
28*c9945492SAndroid Build Coastguard Worker	nop
29*c9945492SAndroid Build Coastguard Worker	ori     r12, r0, 1
30*c9945492SAndroid Build Coastguard Worker	brki    r14, 8
31