clarify the purpose of this project
[nyanglibc.git] / io / statx.shared.s
blob43fd7da0c00419cfd82e3c6124ce4e5e6cba8542
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .type statx_generic.isra.0, @function
9 statx_generic.isra.0:
10 testl $-6401, %edx
11 jne .L8
12 pushq %rbx
13 movq %rcx, %rbx
14 movl %edx, %ecx
15 subq $400, %rsp
16 movq %rsp, %rdx
17 call __GI___fstatat64
18 testl %eax, %eax
19 movl %eax, %edx
20 jne .L1
21 leaq 152(%rsp), %rdi
22 xorl %eax, %eax
23 movl $31, %ecx
24 movl $2047, 144(%rsp)
25 rep stosq
26 movq 56(%rsp), %rax
27 movl %eax, 148(%rsp)
28 movq 16(%rsp), %rax
29 movl %eax, 160(%rsp)
30 movl 28(%rsp), %eax
31 movl %eax, 164(%rsp)
32 movl 32(%rsp), %eax
33 movl %eax, 168(%rsp)
34 movl 24(%rsp), %eax
35 movw %ax, 172(%rsp)
36 movq 8(%rsp), %rax
37 movq %rax, 176(%rsp)
38 movq 48(%rsp), %rax
39 movq %rax, 184(%rsp)
40 movq 64(%rsp), %rax
41 movq %rax, 192(%rsp)
42 movq 72(%rsp), %rax
43 movq %rax, 208(%rsp)
44 movq 80(%rsp), %rax
45 movl %eax, 216(%rsp)
46 movq 104(%rsp), %rax
47 movq %rax, 240(%rsp)
48 movq 112(%rsp), %rax
49 movl %eax, 248(%rsp)
50 movq 88(%rsp), %rax
51 movq %rax, 256(%rsp)
52 movq 96(%rsp), %rax
53 movl %eax, 264(%rsp)
54 movq 40(%rsp), %rax
55 movq %rax, %rcx
56 shrq $8, %rcx
57 movl %ecx, %esi
58 movq %rax, %rcx
59 shrq $32, %rcx
60 andl $4095, %esi
61 andl $-4096, %ecx
62 orl %esi, %ecx
63 movl %ecx, 272(%rsp)
64 movzbl %al, %ecx
65 shrq $12, %rax
66 xorb %al, %al
67 orl %ecx, %eax
68 movl %eax, 276(%rsp)
69 movq (%rsp), %rax
70 movdqa 144(%rsp), %xmm0
71 movups %xmm0, (%rbx)
72 movq %rax, %rcx
73 shrq $8, %rcx
74 movl %ecx, %esi
75 movq %rax, %rcx
76 movdqa 160(%rsp), %xmm0
77 shrq $32, %rcx
78 andl $4095, %esi
79 andl $-4096, %ecx
80 movups %xmm0, 16(%rbx)
81 orl %esi, %ecx
82 movdqa 176(%rsp), %xmm0
83 movl %ecx, 280(%rsp)
84 movzbl %al, %ecx
85 shrq $12, %rax
86 movups %xmm0, 32(%rbx)
87 xorb %al, %al
88 orl %ecx, %eax
89 movdqa 192(%rsp), %xmm0
90 movl %eax, 284(%rsp)
91 movups %xmm0, 48(%rbx)
92 movdqa 208(%rsp), %xmm0
93 movups %xmm0, 64(%rbx)
94 movdqa 224(%rsp), %xmm0
95 movups %xmm0, 80(%rbx)
96 movdqa 240(%rsp), %xmm0
97 movups %xmm0, 96(%rbx)
98 movdqa 256(%rsp), %xmm0
99 movups %xmm0, 112(%rbx)
100 movdqa 272(%rsp), %xmm0
101 movups %xmm0, 128(%rbx)
102 movdqa 288(%rsp), %xmm0
103 movups %xmm0, 144(%rbx)
104 movdqa 304(%rsp), %xmm0
105 movups %xmm0, 160(%rbx)
106 movdqa 320(%rsp), %xmm0
107 movups %xmm0, 176(%rbx)
108 movdqa 336(%rsp), %xmm0
109 movups %xmm0, 192(%rbx)
110 movdqa 352(%rsp), %xmm0
111 movups %xmm0, 208(%rbx)
112 movdqa 368(%rsp), %xmm0
113 movups %xmm0, 224(%rbx)
114 movdqa 384(%rsp), %xmm0
115 movups %xmm0, 240(%rbx)
116 .L1:
117 addq $400, %rsp
118 movl %edx, %eax
119 popq %rbx
121 .p2align 4,,10
122 .p2align 3
123 .L8:
124 movq __libc_errno@gottpoff(%rip), %rax
125 movl $-1, %edx
126 movl $22, %fs:(%rax)
127 movl %edx, %eax
129 .size statx_generic.isra.0, .-statx_generic.isra.0
130 .p2align 4,,15
131 .globl statx
132 .type statx, @function
133 statx:
134 movl %ecx, %r10d
135 movl $332, %ecx
136 pushq %r12
137 movl %edi, %r9d
138 pushq %rbp
139 movq %r8, %r12
140 pushq %rbx
141 movl %edx, %ebp
142 movq %rsi, %rbx
143 movl %ecx, %eax
144 #APP
145 # 28 "../sysdeps/unix/sysv/linux/statx.c" 1
146 syscall
148 # 0 "" 2
149 #NO_APP
150 cmpq $-4096, %rax
151 movq %rax, %rdx
152 ja .L14
153 testl %eax, %eax
154 jne .L15
155 .L9:
156 popq %rbx
157 popq %rbp
158 popq %r12
160 .p2align 4,,10
161 .p2align 3
162 .L15:
163 movq __libc_errno@gottpoff(%rip), %rdx
164 movl %fs:(%rdx), %edx
165 .L11:
166 cmpl $38, %edx
167 jne .L9
168 movq %r12, %rcx
169 movl %ebp, %edx
170 movq %rbx, %rsi
171 popq %rbx
172 popq %rbp
173 popq %r12
174 movl %r9d, %edi
175 jmp statx_generic.isra.0
176 .p2align 4,,10
177 .p2align 3
178 .L14:
179 movq __libc_errno@gottpoff(%rip), %rax
180 negl %edx
181 movl %edx, %fs:(%rax)
182 movl $-1, %eax
183 jmp .L11
184 .size statx, .-statx