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

Side by Side Diff: sysdeps/i386/fpu/s_asinhf.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_asinh.S ('k') | sysdeps/i386/fpu/s_asinhl.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, 1999, 2005 Free Software Foundation, Inc. 2 Copyright (C) 1996, 1997, 1999, 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 faddl MO(one) // 1+sqrt(1+|x|^2) : |x|^2 : |x| : log(2 ) 76 faddl MO(one) // 1+sqrt(1+|x|^2) : |x|^2 : |x| : log(2 )
77 fdivrp // |x|^2/(1+sqrt(1+|x|^2)) : |x| : log(2 ) 77 fdivrp // |x|^2/(1+sqrt(1+|x|^2)) : |x| : log(2 )
78 faddp // |x|+|x|^2/(1+sqrt(1+|x|^2)) : log(2) 78 faddp // |x|+|x|^2/(1+sqrt(1+|x|^2)) : log(2)
79 fcoml MO(limit) 79 fcoml MO(limit)
80 fnstsw 80 fnstsw
81 sahf 81 sahf
82 ja 6f 82 ja 6f
83 fyl2xp1 83 fyl2xp1
84 jecxz 4f 84 jecxz 4f
85 fchs 85 fchs
86 4:» ret 86 4:» NACLRET
87 87
88 7: flds 4(%esp) 88 7: flds 4(%esp)
89 » ret 89 » NACLRET
90 90
91 6: faddl MO(one) 91 6: faddl MO(one)
92 fyl2x 92 fyl2x
93 jecxz 4f 93 jecxz 4f
94 fchs 94 fchs
95 4:» ret 95 4:» NACLRET
96 96
97 // |x| < 2^-14 => y = x (inexact iff |x| != 0.0) 97 // |x| < 2^-14 => y = x (inexact iff |x| != 0.0)
98 .align ALIGNARG(4) 98 .align ALIGNARG(4)
99 2: 99 2:
100 #ifdef PIC 100 #ifdef PIC
101 LOAD_PIC_REG (dx) 101 LOAD_PIC_REG (dx)
102 #endif 102 #endif
103 jecxz 4f 103 jecxz 4f
104 fchs // x 104 fchs // x
105 4: fld %st // x : x 105 4: fld %st // x : x
106 faddl MO(huge) // huge+x : x 106 faddl MO(huge) // huge+x : x
107 fstp %st(0) // x 107 fstp %st(0) // x
108 » ret 108 » NACLRET
109 109
110 // |x| > 2^14 => y = sign(x) * (log(|x|) + log(2)) 110 // |x| > 2^14 => y = sign(x) * (log(|x|) + log(2))
111 .align ALIGNARG(4) 111 .align ALIGNARG(4)
112 3: fyl2x // log(|x|) 112 3: fyl2x // log(|x|)
113 fldln2 // log(2) : log(|x|) 113 fldln2 // log(2) : log(|x|)
114 faddp // log(|x|)+log(2) 114 faddp // log(|x|)+log(2)
115 jecxz 4f 115 jecxz 4f
116 fchs 116 fchs
117 4:» ret 117 4:» NACLRET
118 118
119 // |x| > 2 => y = sign(x) * log(2*|x| + 1/(|x|+sqrt(x*x+1))) 119 // |x| > 2 => y = sign(x) * log(2*|x| + 1/(|x|+sqrt(x*x+1)))
120 .align ALIGNARG(4) 120 .align ALIGNARG(4)
121 5: fld %st // |x| : |x| : log(2) 121 5: fld %st // |x| : |x| : log(2)
122 fadd %st, %st(1) // |x| : 2*|x| : log(2) 122 fadd %st, %st(1) // |x| : 2*|x| : log(2)
123 fld %st // |x| : |x| : 2*|x| : log(2) 123 fld %st // |x| : |x| : 2*|x| : log(2)
124 fmul %st(1) // |x|^2 : |x| : 2*|x| : log(2) 124 fmul %st(1) // |x|^2 : |x| : 2*|x| : log(2)
125 faddl MO(one) // 1+|x|^2 : |x| : 2*|x| : log(2) 125 faddl MO(one) // 1+|x|^2 : |x| : 2*|x| : log(2)
126 fsqrt // sqrt(1+|x|^2) : |x| : 2*|x| : log(2) 126 fsqrt // sqrt(1+|x|^2) : |x| : 2*|x| : log(2)
127 faddp // |x|+sqrt(1+|x|^2) : 2*|x| : log(2) 127 faddp // |x|+sqrt(1+|x|^2) : 2*|x| : log(2)
128 fdivrl MO(one) // 1/(|x|+sqrt(1+|x|^2)) : 2*|x| : log(2 ) 128 fdivrl MO(one) // 1/(|x|+sqrt(1+|x|^2)) : 2*|x| : log(2 )
129 faddp // 2*|x|+1/(|x|+sqrt(1+|x|^2)) : log(2) 129 faddp // 2*|x|+1/(|x|+sqrt(1+|x|^2)) : log(2)
130 fyl2x // log(2*|x|+1/(|x|+sqrt(1+|x|^2))) 130 fyl2x // log(2*|x|+1/(|x|+sqrt(1+|x|^2)))
131 jecxz 4f 131 jecxz 4f
132 fchs 132 fchs
133 4:» ret 133 4:» NACLRET
134 END(__asinhf) 134 END(__asinhf)
135 weak_alias (__asinhf, asinhf) 135 weak_alias (__asinhf, asinhf)
OLDNEW
« no previous file with comments | « sysdeps/i386/fpu/s_asinh.S ('k') | sysdeps/i386/fpu/s_asinhl.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698