clarify the purpose of this project
[nyanglibc.git] / libgcc / letf2.shared.s
blobd964db6bc70bc4eb665d5caa2638c538be95464f
1 .text
2 .p2align 4,,15
3 .globl __letf2
4 .type __letf2, @function
5 __letf2:
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/letf2.c" 1
13 stmxcsr 44(%rsp)
14 # 0 "" 2
15 #NO_APP
16 movabsq $281474976710655, %rdx
17 movq %rdx, %rcx
18 movq 8(%rsp), %rax
19 movq (%rsp), %r9
20 movq 16(%rsp), %rsi
21 movq %rax, %r11
22 movq %rax, %rdi
23 shrq $63, %rax
24 movq %rax, %r8
25 movq 24(%rsp), %rax
26 andq %rdx, %r11
27 shrq $48, %rdi
28 movq %rax, %rdx
29 andq %rax, %rcx
30 shrq $63, %rax
31 shrq $48, %rdx
32 andl $32767, %edx
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, %rdx
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 %rdx, %rdx
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, %rax
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 %rdx, %rdx
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, %rdx
87 je .L28
88 .L29:
89 testq %rdx, %rdx
90 jne .L13
91 movq %rcx, %rbx
92 orq %rsi, %rbx
93 je .L20
94 jmp .L13
95 .p2align 4,,10
96 .p2align 3
97 .L5:
98 xorl %r10d, %r10d
99 cmpq $32767, %rdi
100 je .L27
101 cmpq $32767, %rdx
102 je .L28
103 .L13:
104 cmpq %rax, %r8
105 je .L17
106 .L20:
107 cmpq $1, %r8
108 sbbq %rax, %rax
109 andl $2, %eax
110 subq $1, %rax
111 jmp .L16
112 .p2align 4,,10
113 .p2align 3
114 .L83:
115 xorl %r10d, %r10d
116 testq %rdx, %rdx
117 jne .L3
118 movq %rcx, %rbx
119 xorl %r10d, %r10d
120 orq %rsi, %rbx
121 setne %r10b
122 addl %r10d, %r10d
123 jmp .L12
124 .p2align 4,,10
125 .p2align 3
126 .L84:
127 xorl %eax, %eax
128 testq %rbx, %rbx
129 je .L16
130 jmp .L20
131 .p2align 4,,10
132 .p2align 3
133 .L8:
134 orl $1, %r10d
135 movl $2, %eax
136 .L11:
137 movl %r10d, %edi
138 movq %rax, (%rsp)
139 call __sfp_handle_exceptions@PLT
140 movq (%rsp), %rax
141 addq $56, %rsp
142 popq %rbx
143 popq %r14
145 .p2align 4,,10
146 .p2align 3
147 .L17:
148 cmpq %rdx, %rdi
149 jg .L20
150 .L18:
151 cmpq %rdx, %rdi
152 jl .L22
153 cmpq %rcx, %r11
154 ja .L20
155 sete %al
156 cmpq %rsi, %r9
157 jbe .L21
158 testb %al, %al
159 jne .L20
160 .L21:
161 cmpq %rcx, %r11
162 jb .L22
163 cmpq %rsi, %r9
164 jnb .L40
165 testb %al, %al
166 je .L40
167 .p2align 4,,10
168 .p2align 3
169 .L22:
170 cmpq $1, %r8
171 sbbq %rax, %rax
172 orq $1, %rax
173 jmp .L16
174 .L40:
175 xorl %eax, %eax
176 jmp .L16
177 .L85:
178 cmpq %rax, %r8
179 jne .L20
180 jmp .L18
181 .size __letf2, .-__letf2
182 .globl __lttf2
183 .set __lttf2,__letf2