clarify the purpose of this project
[nyanglibc.git] / libio / fputwc_u.shared.s
blob18f084b447f31ba01b037bd4d6cd95990c59d131
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl fputwc_unlocked
9 .type fputwc_unlocked, @function
10 fputwc_unlocked:
11 pushq %rbp
12 pushq %rbx
13 movq %rsi, %rbx
14 movl %edi, %ebp
15 movl $1, %esi
16 movq %rbx, %rdi
17 subq $8, %rsp
18 call _IO_fwide@PLT
19 testl %eax, %eax
20 js .L5
21 movq 160(%rbx), %rdx
22 movl %ebp, %eax
23 testq %rdx, %rdx
24 je .L3
25 movq 32(%rdx), %rcx
26 cmpq 40(%rdx), %rcx
27 jnb .L3
28 leaq 4(%rcx), %rsi
29 movq %rsi, 32(%rdx)
30 movl %ebp, (%rcx)
31 addq $8, %rsp
32 popq %rbx
33 popq %rbp
34 ret
35 .p2align 4,,10
36 .p2align 3
37 .L5:
38 addq $8, %rsp
39 movl $-1, %eax
40 popq %rbx
41 popq %rbp
42 ret
43 .p2align 4,,10
44 .p2align 3
45 .L3:
46 addq $8, %rsp
47 movl %ebp, %esi
48 movq %rbx, %rdi
49 popq %rbx
50 popq %rbp
51 jmp __GI___woverflow
52 .size fputwc_unlocked, .-fputwc_unlocked