Print this page
5261 libm should stop using synonyms.h

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/i386/src/copysignf.s
          +++ new/usr/src/lib/libm/i386/src/copysignf.s
↓ open down ↓ 22 lines elided ↑ open up ↑
  23   23   */
  24   24  /*
  25   25   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  26   26   * Use is subject to license terms.
  27   27   */
  28   28  
  29   29          .file   "copysignf.s"
  30   30  
  31   31  #include "libm.h"
  32   32  LIBM_ANSI_PRAGMA_WEAK(copysignf,function)
  33      -#include "libm_synonyms.h"
  34   33  
  35   34          ENTRY(copysignf)
  36   35          movl    4(%esp),%eax            / eax <-- x
  37   36          movl    8(%esp),%ecx            / ecx <-- y
  38   37          andl    $0x7fffffff,%eax        / eax <-- abs(x)
  39   38          andl    $0x80000000,%ecx        / ecx[31] <-- sign_bit(y)
  40   39          orl     %ecx,%eax               / eax <-- copysign(x,y)
  41   40          subl    $4,%esp                 / set up loading dock for result
  42   41          movl    %eax,(%esp)             / copy result to loading dock
  43   42          flds    (%esp)                  / load copysign(x,y)
  44   43          fwait                           / in case fldl causes exception
  45   44          addl    $4,%esp                 / restore stack-pointer for return
  46   45          ret
  47   46          .align  4
  48   47          SET_SIZE(copysignf)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX