clarify the purpose of this project
[nyanglibc.git] / libgcc / getf2.shared.s
blobe824c2574d8d019685c7fdef29d5fd2b536aeabf
1 .text
2 .p2align 4,,15
3 .globl __getf2
4 .type __getf2, @function
5 __getf2:
6 pushq %r14
7 pushq %rbx
8 subq $56, %rsp
9 movaps %xmm0, (%rsp)
10 movaps %xmm1, 16(%rsp)
11 #APP
12 # 42 "/root/nyanlinux/src/glibc-2.33/soft-fp/getf2.c" 1
13 stmxcsr 44(%rsp)
14 # 0 "" 2
15 #NO_APP
16 movabsq $281474976710655, %rax
17 movq 8(%rsp), %rdx
18 movq (%rsp), %r9
19 movq 16(%rsp), %rsi
20 movq %rdx, %r11
21 movq %rdx, %rdi
22 shrq $63, %rdx
23 movq %rdx, %r8
24 movq 24(%rsp), %rdx
25 andq %rax, %r11
26 shrq $48, %rdi
27 andq %rdx, %rax
28 movq %rax, %rcx
29 movq %rdx, %rax
30 shrq $63, %rdx
31 shrq $48, %rax
32 andl $32767, %eax
33 andl $32767, %edi
34 jne .L2
35 movq %r11, %rbx
36 orq %r9, %rbx
37 je .L83
38 movl $2, %r10d
39 .L3:
40 cmpq $32767, %rax
41 jne .L12
42 .L28:
43 movq %rcx, %rbx
44 orq %rsi, %rbx
45 jne .L8
46 .L10:
47 testq %rdi, %rdi
48 jne .L29
49 .L12:
50 movq %r11, %rbx
51 orq %r9, %rbx
52 testq %rax, %rax
53 jne .L15
54 movq %rcx, %r14
55 orq %rsi, %r14
56 je .L84
57 .L15:
58 testq %rbx, %rbx
59 jne .L85
60 cmpq $1, %rdx
61 sbbq %rax, %rax
62 orq $1, %rax
63 .L16:
64 testl %r10d, %r10d
65 jne .L11
66 addq $56, %rsp
67 popq %rbx
68 popq %r14
69 ret
70 .p2align 4,,10
71 .p2align 3
72 .L2:
73 testq %rax, %rax
74 jne .L5
75 movq %rcx, %rbx
76 xorl %r10d, %r10d
77 orq %rsi, %rbx
78 setne %r10b
79 addl %r10d, %r10d
80 cmpq $32767, %rdi
81 jne .L10
82 .L27:
83 movq %r11, %rbx
84 orq %r9, %rbx
85 jne .L8
86 cmpq $32767, %rax
87 je .L28
88 .L29:
89 testq %rax, %rax
90 jne .L13
91 movq %rcx, %rbx
92 orq %rsi, %rbx
93 jne .L13
94 .L20:
95 cmpq $1, %r8
96 sbbq %rax, %rax
97 andl $2, %eax
98 subq $1, %rax
99 jmp .L16
100 .p2align 4,,10
101 .p2align 3
102 .L5:
103 xorl %r10d, %r10d
104 cmpq $32767, %rdi
105 je .L27
106 cmpq $32767, %rax
107 je .L28
108 .L13:
109 cmpq %rdx, %r8
110 jne .L20
111 cmpq %rax, %rdi
112 jg .L20
113 .L18:
114 cmpq %rax, %rdi
115 jl .L22
116 cmpq %rcx, %r11
117 ja .L20
118 sete %al
119 cmpq %rsi, %r9
120 jbe .L21
121 testb %al, %al
122 jne .L20
123 .L21:
124 cmpq %rcx, %r11
125 jb .L22
126 cmpq %rsi, %r9
127 jnb .L40
128 testb %al, %al
129 je .L40
130 .p2align 4,,10
131 .p2align 3
132 .L22:
133 cmpq $1, %r8
134 sbbq %rax, %rax
135 orq $1, %rax
136 jmp .L16
137 .p2align 4,,10
138 .p2align 3
139 .L83:
140 xorl %r10d, %r10d
141 testq %rax, %rax
142 jne .L3
143 movq %rcx, %rbx
144 xorl %r10d, %r10d
145 orq %rsi, %rbx
146 setne %r10b
147 addl %r10d, %r10d
148 jmp .L12
149 .p2align 4,,10
150 .p2align 3
151 .L84:
152 testq %rbx, %rbx
153 je .L16
154 jmp .L20
155 .p2align 4,,10
156 .p2align 3
157 .L8:
158 orl $1, %r10d
159 movq $-2, %rax
160 .L11:
161 movl %r10d, %edi
162 movq %rax, (%rsp)
163 call __sfp_handle_exceptions@PLT
164 movq (%rsp), %rax
165 addq $56, %rsp
166 popq %rbx
167 popq %r14
169 .L40:
170 xorl %eax, %eax
171 jmp .L16
172 .L85:
173 cmpq %rdx, %r8
174 jne .L20
175 jmp .L18
176 .size __getf2, .-__getf2
177 .globl __gttf2
178 .set __gttf2,__getf2