1570af302Sopenharmony_ci.text
2570af302Sopenharmony_ci.global __cp_begin
3570af302Sopenharmony_ci.hidden __cp_begin
4570af302Sopenharmony_ci.global __cp_end
5570af302Sopenharmony_ci.hidden __cp_end
6570af302Sopenharmony_ci.global __cp_cancel
7570af302Sopenharmony_ci.hidden __cp_cancel
8570af302Sopenharmony_ci.hidden __cancel
9570af302Sopenharmony_ci.global __syscall_cp_asm
10570af302Sopenharmony_ci.hidden __syscall_cp_asm
11570af302Sopenharmony_ci.type   __syscall_cp_asm, @function
12570af302Sopenharmony_ci__syscall_cp_asm:
13570af302Sopenharmony_ci
14570af302Sopenharmony_ci__cp_begin:
15570af302Sopenharmony_ci	mov.l @r4, r4
16570af302Sopenharmony_ci	tst   r4, r4
17570af302Sopenharmony_ci	bf    __cp_cancel
18570af302Sopenharmony_ci	mov   r5, r3
19570af302Sopenharmony_ci	mov   r6, r4
20570af302Sopenharmony_ci	mov   r7, r5
21570af302Sopenharmony_ci	mov.l @r15, r6
22570af302Sopenharmony_ci	mov.l @(4,r15), r7
23570af302Sopenharmony_ci	mov.l @(8,r15), r0
24570af302Sopenharmony_ci	mov.l @(12,r15), r1
25570af302Sopenharmony_ci	trapa #31
26570af302Sopenharmony_ci
27570af302Sopenharmony_ci__cp_end:
28570af302Sopenharmony_ci	! work around hardware bug
29570af302Sopenharmony_ci	or   r0, r0
30570af302Sopenharmony_ci	or   r0, r0
31570af302Sopenharmony_ci	or   r0, r0
32570af302Sopenharmony_ci	or   r0, r0
33570af302Sopenharmony_ci	or   r0, r0
34570af302Sopenharmony_ci
35570af302Sopenharmony_ci	rts
36570af302Sopenharmony_ci	 nop
37570af302Sopenharmony_ci
38570af302Sopenharmony_ci__cp_cancel:
39570af302Sopenharmony_ci	mov.l 2f, r0
40570af302Sopenharmony_ci	braf  r0
41570af302Sopenharmony_ci	 nop
42570af302Sopenharmony_ci1:
43570af302Sopenharmony_ci
44570af302Sopenharmony_ci.align 2
45570af302Sopenharmony_ci2:	.long __cancel@PCREL-(1b-.)
46