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

Side by Side Diff: sysdeps/i386/fpu/e_acosh.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/e_acosf.S ('k') | sysdeps/i386/fpu/e_acoshf.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, 2005 Free Software Foundation, Inc. 2 Copyright (C) 1996, 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 fmul %st(1) // (x-1)^2 : x-1 : log(2) 61 fmul %st(1) // (x-1)^2 : x-1 : log(2)
62 fadd %st(1) // x-1+(x-1)^2 : x-1 : log(2) 62 fadd %st(1) // x-1+(x-1)^2 : x-1 : log(2)
63 fadd %st(1) // 2*(x-1)+(x-1)^2 : x-1 : log(2) 63 fadd %st(1) // 2*(x-1)+(x-1)^2 : x-1 : log(2)
64 fsqrt // sqrt(2*(x-1)+(x-1)^2) : x-1 : log(2) 64 fsqrt // sqrt(2*(x-1)+(x-1)^2) : x-1 : log(2)
65 faddp // x-1+sqrt(2*(x-1)+(x-1)^2) : log(2) 65 faddp // x-1+sqrt(2*(x-1)+(x-1)^2) : log(2)
66 fcoml MO(limit) 66 fcoml MO(limit)
67 fnstsw 67 fnstsw
68 sahf 68 sahf
69 ja 2f 69 ja 2f
70 fyl2xp1 // log1p(x-1+sqrt(2*(x-1)+(x-1)^2)) 70 fyl2xp1 // log1p(x-1+sqrt(2*(x-1)+(x-1)^2))
71 » ret 71 » NACLRET
72 72
73 2: faddl MO(one) // x+sqrt(2*(x-1)+(x-1)^2) : log(2) 73 2: faddl MO(one) // x+sqrt(2*(x-1)+(x-1)^2) : log(2)
74 fyl2x // log(x+sqrt(2*(x-1)+(x-1)^2)) 74 fyl2x // log(x+sqrt(2*(x-1)+(x-1)^2))
75 » ret 75 » NACLRET
76 76
77 // x > 2^28 => y = log(x) + log(2) 77 // x > 2^28 => y = log(x) + log(2)
78 .align ALIGNARG(4) 78 .align ALIGNARG(4)
79 3: fyl2x // log(x) 79 3: fyl2x // log(x)
80 fldln2 // log(2) : log(x) 80 fldln2 // log(2) : log(x)
81 faddp // log(x)+log(2) 81 faddp // log(x)+log(2)
82 » ret 82 » NACLRET
83 83
84 // 2^28 > x > 2 => y = log(2*x - 1/(x+sqrt(x*x-1))) 84 // 2^28 > x > 2 => y = log(2*x - 1/(x+sqrt(x*x-1)))
85 .align ALIGNARG(4) 85 .align ALIGNARG(4)
86 4: fld %st // x : x : log(2) 86 4: fld %st // x : x : log(2)
87 fadd %st, %st(1) // x : 2*x : log(2) 87 fadd %st, %st(1) // x : 2*x : log(2)
88 fld %st // x : x : 2*x : log(2) 88 fld %st // x : x : 2*x : log(2)
89 fmul %st(1) // x^2 : x : 2*x : log(2) 89 fmul %st(1) // x^2 : x : 2*x : log(2)
90 fsubl MO(one) // x^2-1 : x : 2*x : log(2) 90 fsubl MO(one) // x^2-1 : x : 2*x : log(2)
91 fsqrt // sqrt(x^2-1) : x : 2*x : log(2) 91 fsqrt // sqrt(x^2-1) : x : 2*x : log(2)
92 faddp // x+sqrt(x^2-1) : 2*x : log(2) 92 faddp // x+sqrt(x^2-1) : 2*x : log(2)
93 fdivrl MO(one) // 1/(x+sqrt(x^2-1)) : 2*x : log(2) 93 fdivrl MO(one) // 1/(x+sqrt(x^2-1)) : 2*x : log(2)
94 fsubrp // 2*x+1/(x+sqrt(x^2)-1) : log(2) 94 fsubrp // 2*x+1/(x+sqrt(x^2)-1) : log(2)
95 fyl2x // log(2*x+1/(x+sqrt(x^2-1))) 95 fyl2x // log(2*x+1/(x+sqrt(x^2-1)))
96 » ret 96 » NACLRET
97 97
98 // x < 1 => NaN 98 // x < 1 => NaN
99 .align ALIGNARG(4) 99 .align ALIGNARG(4)
100 5: fldz 100 5: fldz
101 fdiv %st, %st(0) 101 fdiv %st, %st(0)
102 » ret 102 » NACLRET
103 END(__ieee754_acosh) 103 END(__ieee754_acosh)
OLDNEW
« no previous file with comments | « sysdeps/i386/fpu/e_acosf.S ('k') | sysdeps/i386/fpu/e_acoshf.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698