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