clarify the purpose of this project
[nyanglibc.git] / math / s_scalbnf.shared.s
blob692285cae67cb530e65b161495ae679fa6aa54dc
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl __scalbnf
9 .type __scalbnf, @function
10 __scalbnf:
11 movd %xmm0, %eax
12 movd %xmm0, %edx
13 sarl $23, %eax
14 andl $255, %eax
15 je .L14
16 cmpl $255, %eax
17 je .L15
18 .L4:
19 cmpl $-50000, %edi
20 jl .L12
21 cmpl $50000, %edi
22 jg .L6
23 addl %eax, %edi
24 cmpl $254, %edi
25 jg .L6
26 testl %edi, %edi
27 jle .L8
28 andl $-2139095041, %edx
29 sall $23, %edi
30 orl %edi, %edx
31 movl %edx, -4(%rsp)
32 .L1:
33 movss -4(%rsp), %xmm0
34 ret
35 .p2align 4,,10
36 .p2align 3
37 .L6:
38 andps .LC2(%rip), %xmm0
39 orps .LC4(%rip), %xmm0
40 mulss .LC5(%rip), %xmm0
41 movss %xmm0, -4(%rsp)
42 movss -4(%rsp), %xmm0
43 ret
44 .p2align 4,,10
45 .p2align 3
46 .L8:
47 cmpl $-24, %edi
48 jge .L9
49 .L12:
50 andps .LC2(%rip), %xmm0
51 orps .LC1(%rip), %xmm0
52 mulss .LC3(%rip), %xmm0
53 movss %xmm0, -4(%rsp)
54 movss -4(%rsp), %xmm0
55 ret
56 .p2align 4,,10
57 .p2align 3
58 .L14:
59 andl $2147483647, %edx
60 movss %xmm0, -4(%rsp)
61 je .L1
62 mulss .LC0(%rip), %xmm0
63 movd %xmm0, %eax
64 movd %xmm0, %edx
65 sarl $23, %eax
66 movzbl %al, %eax
67 subl $25, %eax
68 jmp .L4
69 .p2align 4,,10
70 .p2align 3
71 .L15:
72 addss %xmm0, %xmm0
73 movss %xmm0, -4(%rsp)
74 jmp .L1
75 .p2align 4,,10
76 .p2align 3
77 .L9:
78 addl $25, %edi
79 andl $-2139095041, %edx
80 sall $23, %edi
81 orl %edx, %edi
82 movl %edi, -4(%rsp)
83 movss -4(%rsp), %xmm1
84 mulss .LC6(%rip), %xmm1
85 movss %xmm1, -4(%rsp)
86 jmp .L1
87 .size __scalbnf, .-__scalbnf
88 .section .rodata.cst4,"aM",@progbits,4
89 .align 4
90 .LC0:
91 .long 1275068416
92 .section .rodata.cst16,"aM",@progbits,16
93 .align 16
94 .LC1:
95 .long 228737632
96 .long 0
97 .long 0
98 .long 0
99 .align 16
100 .LC2:
101 .long 2147483648
102 .long 0
103 .long 0
104 .long 0
105 .section .rodata.cst4
106 .align 4
107 .LC3:
108 .long 228737632
109 .section .rodata.cst16
110 .align 16
111 .LC4:
112 .long 1900671690
113 .long 0
114 .long 0
115 .long 0
116 .section .rodata.cst4
117 .align 4
118 .LC5:
119 .long 1900671690
120 .align 4
121 .LC6:
122 .long 855638016