diff options
Diffstat (limited to 'sysdeps/i386/fpu/s_trunc.S')
-rw-r--r-- | sysdeps/i386/fpu/s_trunc.S | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sysdeps/i386/fpu/s_trunc.S b/sysdeps/i386/fpu/s_trunc.S index a15e5e5f16..a87687fe2b 100644 --- a/sysdeps/i386/fpu/s_trunc.S +++ b/sysdeps/i386/fpu/s_trunc.S @@ -1,5 +1,5 @@ /* Truncate double value. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -18,20 +18,21 @@ <http://www.gnu.org/licenses/>. */ #include <machine/asm.h> +#include <libm-alias-double.h> ENTRY(__trunc) fldl 4(%esp) - subl $8, %esp - cfi_adjust_cfa_offset (8) - fstcw 4(%esp) + subl $32, %esp + cfi_adjust_cfa_offset (32) + fnstenv 4(%esp) movl $0xc00, %edx orl 4(%esp), %edx movl %edx, (%esp) fldcw (%esp) frndint - fldcw 4(%esp) - addl $8, %esp - cfi_adjust_cfa_offset (-8) + fldenv 4(%esp) + addl $32, %esp + cfi_adjust_cfa_offset (-32) ret END(__trunc) -weak_alias (__trunc, trunc) +libm_alias_double (__trunc, trunc) |