| OLD | NEW |
| 1 /* ix87 specific implementation of exp(x)-1. | 1 /* ix87 specific implementation of exp(x)-1. |
| 2 Copyright (C) 1996, 1997, 2002, 2005, 2008 Free Software Foundation, Inc. | 2 Copyright (C) 1996, 1997, 2002, 2005, 2008 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 Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>. | 5 Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>. |
| 6 Corrections by H.J. Lu (hjl@gnu.ai.mit.edu), 1997. | 6 Corrections by H.J. Lu (hjl@gnu.ai.mit.edu), 1997. |
| 7 | 7 |
| 8 The GNU C Library is free software; you can redistribute it and/or | 8 The GNU C Library is free software; you can redistribute it and/or |
| 9 modify it under the terms of the GNU Lesser General Public | 9 modify it under the terms of the GNU Lesser General Public |
| 10 License as published by the Free Software Foundation; either | 10 License as published by the Free Software Foundation; either |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 fsubr %st, %st(1) // int(log2(e)*x) : fract(log2(e)*x) | 73 fsubr %st, %st(1) // int(log2(e)*x) : fract(log2(e)*x) |
| 74 fxch // fract(log2(e)*x) : int(log2(e)*x) | 74 fxch // fract(log2(e)*x) : int(log2(e)*x) |
| 75 f2xm1 // 2^fract(log2(e)*x)-1 : int(log2(e)*x) | 75 f2xm1 // 2^fract(log2(e)*x)-1 : int(log2(e)*x) |
| 76 fscale // 2^(log2(e)*x)-2^int(log2(e)*x) : int(log2(e)*
x) | 76 fscale // 2^(log2(e)*x)-2^int(log2(e)*x) : int(log2(e)*
x) |
| 77 fxch // int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*
x) | 77 fxch // int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*
x) |
| 78 fldl MO(one) // 1 : int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2
(e)*x) | 78 fldl MO(one) // 1 : int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2
(e)*x) |
| 79 fscale // 2^int(log2(e)*x) : int(log2(e)*x) : 2^(log2(e
)*x)-2^int(log2(e)*x) | 79 fscale // 2^int(log2(e)*x) : int(log2(e)*x) : 2^(log2(e
)*x)-2^int(log2(e)*x) |
| 80 fsubrl MO(one) // 1-2^int(log2(e)*x) : int(log2(e)*x) : 2^(log2
(e)*x)-2^int(log2(e)*x) | 80 fsubrl MO(one) // 1-2^int(log2(e)*x) : int(log2(e)*x) : 2^(log2
(e)*x)-2^int(log2(e)*x) |
| 81 fstp %st(1) // 1-2^int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2
(e)*x) | 81 fstp %st(1) // 1-2^int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2
(e)*x) |
| 82 fsubrp %st, %st(1) // 2^(log2(e)*x) | 82 fsubrp %st, %st(1) // 2^(log2(e)*x) |
| 83 » ret | 83 » NACLRET |
| 84 | 84 |
| 85 2: testl $0x200, %eax // Test sign. | 85 2: testl $0x200, %eax // Test sign. |
| 86 jz 3f // If positive, jump. | 86 jz 3f // If positive, jump. |
| 87 fstp %st | 87 fstp %st |
| 88 fldl MO(minus1) // Set result to -1.0. | 88 fldl MO(minus1) // Set result to -1.0. |
| 89 3:» ret | 89 3:» NACLRET |
| 90 END(__expm1l) | 90 END(__expm1l) |
| 91 libm_hidden_def (__expm1l) | 91 libm_hidden_def (__expm1l) |
| 92 weak_alias (__expm1l, expm1l) | 92 weak_alias (__expm1l, expm1l) |
| OLD | NEW |