OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc1/] [newlib/] [libc/] [machine/] [i386/] [f_frexpf.S] - Diff between revs 207 and 345

Only display areas with differences | Details | Blame | View Log

Rev 207 Rev 345
/*
/*
 * ====================================================
 * ====================================================
 * Copyright (C) 1998, 2002 by Red Hat Inc. All rights reserved.
 * Copyright (C) 1998, 2002 by Red Hat Inc. All rights reserved.
 *
 *
 * Permission to use, copy, modify, and distribute this
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * software is freely granted, provided that this notice
 * is preserved.
 * is preserved.
 * ====================================================
 * ====================================================
 */
 */
#if !defined(_SOFT_FLOAT)
#if !defined(_SOFT_FLOAT)
/*
/*
Fast version of frexpf using Intel float instructions.
Fast version of frexpf using Intel float instructions.
   float _f_frexpf (float x, int *exp);
   float _f_frexpf (float x, int *exp);
Function splits x into y * 2 ** z.  It then
Function splits x into y * 2 ** z.  It then
returns the value of y and updates *exp with z.
returns the value of y and updates *exp with z.
There is no error checking or setting of errno.
There is no error checking or setting of errno.
*/
*/
        #include "i386mach.h"
        #include "i386mach.h"
        .global SYM (_f_frexpf)
        .global SYM (_f_frexpf)
       SOTYPE_FUNCTION(_f_frexpf)
       SOTYPE_FUNCTION(_f_frexpf)
SYM (_f_frexpf):
SYM (_f_frexpf):
        pushl ebp
        pushl ebp
        movl esp,ebp
        movl esp,ebp
        flds 8(ebp)
        flds 8(ebp)
        movl 12(ebp),eax
        movl 12(ebp),eax
        fxtract
        fxtract
        fld1
        fld1
        fchs
        fchs
        fxch
        fxch
        fscale
        fscale
        fstp st1
        fstp st1
        fxch
        fxch
        fld1
        fld1
        faddp
        faddp
        fistpl 0(eax)
        fistpl 0(eax)
        leave
        leave
        ret
        ret
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.