| /* |
| * ==================================================== |
| * Copyright (C) 1998, 2002 by Red Hat Inc. All rights reserved. |
| * |
| * Permission to use, copy, modify, and distribute this |
| * software is freely granted, provided that this notice |
| * is preserved. |
| * ==================================================== |
| */ |
| |
| #if !defined(_SOFT_FLOAT) |
| |
| /* |
| Fast version of ldexp using Intel float instructions. |
| |
| double _f_ldexp (double x, int exp); |
| |
| Function calculates x * 2 ** exp. |
| There is no error checking or setting of errno. |
| */ |
| |
| #include "i386mach.h" |
| |
| .global SYM (_f_ldexp) |
| SOTYPE_FUNCTION(_f_ldexp) |
| |
| .p2align NACLENTRYALIGN |
| SYM (_f_ldexp): |
| pushl ebp |
| movl esp,ebp |
| fildl 16(ebp) |
| fldl 8(ebp) |
| fscale |
| fstp st1 |
| |
| leave |
| /* ret */ |
| naclret |
| |
| #endif |