Home | History | Annotate | Line # | Download | only in stdlib
      1  1.3  uebayasi /*	$NetBSD: labs.S,v 1.3 2014/05/22 15:01:56 uebayasi Exp $	*/
      2  1.1      fvdl 
      3  1.1      fvdl /*
      4  1.1      fvdl  * Written by Frank van der Linden (fvdl (at) wasabisystems.com)
      5  1.1      fvdl  * Public Domain.
      6  1.1      fvdl  */
      7  1.1      fvdl 
      8  1.1      fvdl #include <machine/asm.h>
      9  1.1      fvdl 
     10  1.1      fvdl #if defined(LIBC_SCCS)
     11  1.3  uebayasi 	RCSID("$NetBSD: labs.S,v 1.3 2014/05/22 15:01:56 uebayasi Exp $")
     12  1.1      fvdl #endif
     13  1.1      fvdl 
     14  1.2      matt #ifdef WEAK_ALIAS
     15  1.2      matt WEAK_ALIAS(imaxabs, _llabs)
     16  1.2      matt WEAK_ALIAS(llabs, _llabs)
     17  1.2      matt WEAK_ALIAS(labs, _labs)
     18  1.2      matt #endif
     19  1.2      matt 
     20  1.2      matt #ifdef WEAK_ALIAS
     21  1.2      matt ENTRY(_llabs)
     22  1.2      matt ENTRY(_labs)
     23  1.2      matt #else
     24  1.1      fvdl ENTRY(llabs)
     25  1.1      fvdl ENTRY(labs)
     26  1.2      matt #endif
     27  1.1      fvdl         movq    %rdi,%rax
     28  1.1      fvdl         testq   %rax,%rax
     29  1.1      fvdl         jns     1f
     30  1.1      fvdl         negq    %rax
     31  1.1      fvdl 1:      ret
     32  1.3  uebayasi #ifdef WEAK_ALIAS
     33  1.3  uebayasi END(_llabs)
     34  1.3  uebayasi END(_labs)
     35  1.3  uebayasi #else
     36  1.3  uebayasi END(llabs)
     37  1.3  uebayasi END(labs)
     38  1.3  uebayasi #endif
     39