1570af302Sopenharmony_ci.set noreorder 2570af302Sopenharmony_ci.global __cp_begin 3570af302Sopenharmony_ci.hidden __cp_begin 4570af302Sopenharmony_ci.type __cp_begin,@function 5570af302Sopenharmony_ci.global __cp_end 6570af302Sopenharmony_ci.hidden __cp_end 7570af302Sopenharmony_ci.type __cp_end,@function 8570af302Sopenharmony_ci.global __cp_cancel 9570af302Sopenharmony_ci.hidden __cp_cancel 10570af302Sopenharmony_ci.type __cp_cancel,@function 11570af302Sopenharmony_ci.global __cp_cancel_data 12570af302Sopenharmony_ci.hidden __cp_cancel_data 13570af302Sopenharmony_ci.type __cp_cancel_data,@function 14570af302Sopenharmony_ci.hidden __cancel 15570af302Sopenharmony_ci.global __syscall_cp_asm 16570af302Sopenharmony_ci.hidden __syscall_cp_asm 17570af302Sopenharmony_ci.type __syscall_cp_asm,@function 18570af302Sopenharmony_ci__syscall_cp_asm: 19570af302Sopenharmony_ci__cp_begin: 20570af302Sopenharmony_ci lw $4, 0($4) 21570af302Sopenharmony_ci bne $4, $0, __cp_cancel 22570af302Sopenharmony_ci move $2, $5 23570af302Sopenharmony_ci move $4, $6 24570af302Sopenharmony_ci move $5, $7 25570af302Sopenharmony_ci move $6, $8 26570af302Sopenharmony_ci move $7, $9 27570af302Sopenharmony_ci move $8, $10 28570af302Sopenharmony_ci move $9, $11 29570af302Sopenharmony_ci lw $10, 0($sp) 30570af302Sopenharmony_ci syscall 31570af302Sopenharmony_ci__cp_end: 32570af302Sopenharmony_ci beq $7, $0, 1f 33570af302Sopenharmony_ci nop 34570af302Sopenharmony_ci subu $2, $0, $2 35570af302Sopenharmony_ci1: jr $ra 36570af302Sopenharmony_ci nop 37570af302Sopenharmony_ci 38570af302Sopenharmony_ci # if cancellation flag is 1 then call __cancel 39570af302Sopenharmony_ci__cp_cancel: 40570af302Sopenharmony_ci move $2, $ra 41570af302Sopenharmony_ci bal 1f 42570af302Sopenharmony_ci nop 43570af302Sopenharmony_ci__cp_cancel_data: 44570af302Sopenharmony_ci .gpword __cp_cancel_data 45570af302Sopenharmony_ci .gpword __cancel 46570af302Sopenharmony_ci1: lw $3, 0($ra) 47570af302Sopenharmony_ci subu $3, $ra, $3 48570af302Sopenharmony_ci lw $25, 4($ra) 49570af302Sopenharmony_ci addu $25, $25, $3 50570af302Sopenharmony_ci jr $25 51570af302Sopenharmony_ci move $ra, $2 52