clarify the purpose of this project
[nyanglibc.git] / resource / vtimes.shared.s
blobb9faa43804ec6bb1af88940f8828461cea0b25b2
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __vtimes,vtimes@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .type vtimes_one.part.0, @function
10 vtimes_one.part.0:
11 pushq %rbx
12 movq %rdi, %rbx
13 movl %esi, %edi
14 subq $144, %rsp
15 movq %rsp, %rsi
16 call __getrusage
17 testl %eax, %eax
18 js .L6
19 movq 8(%rsp), %rax
20 movabsq $4835703278458516699, %rcx
21 movq %rax, %rsi
22 salq $4, %rsi
23 subq %rax, %rsi
24 salq $2, %rsi
25 movq %rsi, %rax
26 sarq $63, %rsi
27 imulq %rcx
28 imull $60, (%rsp), %eax
29 sarq $18, %rdx
30 subq %rsi, %rdx
31 addl %eax, %edx
32 movq 24(%rsp), %rax
33 movl %edx, (%rbx)
34 movq %rax, %rsi
35 salq $4, %rsi
36 subq %rax, %rsi
37 salq $2, %rsi
38 movq %rsi, %rax
39 sarq $63, %rsi
40 imulq %rcx
41 movq 56(%rsp), %rax
42 addl 48(%rsp), %eax
43 movl %eax, 8(%rbx)
44 movq 72(%rsp), %rax
45 movq %rdx, %rcx
46 imull $60, 16(%rsp), %edx
47 sarq $18, %rcx
48 movl %eax, 20(%rbx)
49 movq 64(%rsp), %rax
50 subq %rsi, %rcx
51 movl %eax, 24(%rbx)
52 movq 80(%rsp), %rax
53 addl %edx, %ecx
54 movl %ecx, 4(%rbx)
55 movl %eax, 28(%rbx)
56 movq 88(%rsp), %rax
57 movl %eax, 32(%rbx)
58 movq 96(%rsp), %rax
59 movl %eax, 36(%rbx)
60 xorl %eax, %eax
61 .L1:
62 addq $144, %rsp
63 popq %rbx
64 ret
65 .p2align 4,,10
66 .p2align 3
67 .L6:
68 movl $-1, %eax
69 jmp .L1
70 .size vtimes_one.part.0, .-vtimes_one.part.0
71 .p2align 4,,15
72 .globl __vtimes
73 .type __vtimes, @function
74 __vtimes:
75 testq %rdi, %rdi
76 pushq %rbx
77 movq %rsi, %rbx
78 je .L11
79 xorl %esi, %esi
80 call vtimes_one.part.0
81 testl %eax, %eax
82 js .L14
83 .L11:
84 xorl %eax, %eax
85 testq %rbx, %rbx
86 je .L7
87 movl $-1, %esi
88 movq %rbx, %rdi
89 call vtimes_one.part.0
90 sarl $31, %eax
91 .L7:
92 popq %rbx
93 ret
94 .L14:
95 movl $-1, %eax
96 popq %rbx
97 ret
98 .size __vtimes, .-__vtimes
99 .hidden __getrusage