Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: sysdeps/i386/fpu/s_asinhl.S

Issue 3539003: Fix up RET instructions in sysdeps/i386/fpu (Closed) Base URL: ssh://gitrw.chromium.org/nacl-glibc
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sysdeps/i386/fpu/s_asinhf.S ('k') | sysdeps/i386/fpu/s_atan.S » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* ix87 specific implementation of arcsinh. 1 /* ix87 specific implementation of arcsinh.
2 Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc. 2 Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
3 This file is part of the GNU C Library. 3 This file is part of the GNU C Library.
4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. 4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
5 5
6 The GNU C Library is free software; you can redistribute it and/or 6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public 7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version. 9 version 2.1 of the License, or (at your option) any later version.
10 10
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 faddl MO(one) // 1+sqrt(1+|x|^2) : |x|^2 : |x| : log(2 ) 83 faddl MO(one) // 1+sqrt(1+|x|^2) : |x|^2 : |x| : log(2 )
84 fdivrp // |x|^2/(1+sqrt(1+|x|^2)) : |x| : log(2 ) 84 fdivrp // |x|^2/(1+sqrt(1+|x|^2)) : |x| : log(2 )
85 faddp // |x|+|x|^2/(1+sqrt(1+|x|^2)) : log(2) 85 faddp // |x|+|x|^2/(1+sqrt(1+|x|^2)) : log(2)
86 fcoml MO(limit) 86 fcoml MO(limit)
87 fnstsw 87 fnstsw
88 sahf 88 sahf
89 ja 6f 89 ja 6f
90 fyl2xp1 90 fyl2xp1
91 jecxz 4f 91 jecxz 4f
92 fchs 92 fchs
93 4:» ret 93 4:» NACLRET
94 94
95 7: fldt 4(%esp) 95 7: fldt 4(%esp)
96 » ret 96 » NACLRET
97 97
98 6: faddl MO(one) 98 6: faddl MO(one)
99 fyl2x 99 fyl2x
100 jecxz 4f 100 jecxz 4f
101 fchs 101 fchs
102 4:» ret 102 4:» NACLRET
103 103
104 // |x| < 2^-34 => y = x (inexact iff |x| != 0.0) 104 // |x| < 2^-34 => y = x (inexact iff |x| != 0.0)
105 .align ALIGNARG(4) 105 .align ALIGNARG(4)
106 2: 106 2:
107 #ifdef PIC 107 #ifdef PIC
108 LOAD_PIC_REG (dx) 108 LOAD_PIC_REG (dx)
109 #endif 109 #endif
110 jecxz 4f 110 jecxz 4f
111 fchs // x 111 fchs // x
112 4: fld %st // x : x 112 4: fld %st // x : x
113 fldt MO(huge) // huge : x : x 113 fldt MO(huge) // huge : x : x
114 faddp // huge+x : x 114 faddp // huge+x : x
115 fstp %st(0) // x 115 fstp %st(0) // x
116 » ret 116 » NACLRET
117 117
118 // |x| > 2^34 => y = sign(x) * (log(|x|) + log(2)) 118 // |x| > 2^34 => y = sign(x) * (log(|x|) + log(2))
119 .align ALIGNARG(4) 119 .align ALIGNARG(4)
120 3: fyl2x // log(|x|) 120 3: fyl2x // log(|x|)
121 fldln2 // log(2) : log(|x|) 121 fldln2 // log(2) : log(|x|)
122 faddp // log(|x|)+log(2) 122 faddp // log(|x|)+log(2)
123 jecxz 4f 123 jecxz 4f
124 fchs 124 fchs
125 4:» ret 125 4:» NACLRET
126 126
127 // |x| > 2 => y = sign(x) * log(2*|x| + 1/(|x|+sqrt(x*x+1))) 127 // |x| > 2 => y = sign(x) * log(2*|x| + 1/(|x|+sqrt(x*x+1)))
128 .align ALIGNARG(4) 128 .align ALIGNARG(4)
129 5: fld %st // |x| : |x| : log(2) 129 5: fld %st // |x| : |x| : log(2)
130 fadd %st, %st(1) // |x| : 2*|x| : log(2) 130 fadd %st, %st(1) // |x| : 2*|x| : log(2)
131 fld %st // |x| : |x| : 2*|x| : log(2) 131 fld %st // |x| : |x| : 2*|x| : log(2)
132 fmul %st(1) // |x|^2 : |x| : 2*|x| : log(2) 132 fmul %st(1) // |x|^2 : |x| : 2*|x| : log(2)
133 faddl MO(one) // 1+|x|^2 : |x| : 2*|x| : log(2) 133 faddl MO(one) // 1+|x|^2 : |x| : 2*|x| : log(2)
134 fsqrt // sqrt(1+|x|^2) : |x| : 2*|x| : log(2) 134 fsqrt // sqrt(1+|x|^2) : |x| : 2*|x| : log(2)
135 faddp // |x|+sqrt(1+|x|^2) : 2*|x| : log(2) 135 faddp // |x|+sqrt(1+|x|^2) : 2*|x| : log(2)
136 fdivrl MO(one) // 1/(|x|+sqrt(1+|x|^2)) : 2*|x| : log(2 ) 136 fdivrl MO(one) // 1/(|x|+sqrt(1+|x|^2)) : 2*|x| : log(2 )
137 faddp // 2*|x|+1/(|x|+sqrt(1+|x|^2)) : log(2) 137 faddp // 2*|x|+1/(|x|+sqrt(1+|x|^2)) : log(2)
138 fyl2x // log(2*|x|+1/(|x|+sqrt(1+|x|^2))) 138 fyl2x // log(2*|x|+1/(|x|+sqrt(1+|x|^2)))
139 jecxz 4f 139 jecxz 4f
140 fchs 140 fchs
141 4:» ret 141 4:» NACLRET
142 END(__asinhl) 142 END(__asinhl)
143 weak_alias (__asinhl, asinhl) 143 weak_alias (__asinhl, asinhl)
OLDNEW
« no previous file with comments | « sysdeps/i386/fpu/s_asinhf.S ('k') | sysdeps/i386/fpu/s_atan.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698