Home | History | Annotate | Line # | Download | only in stdlib
labs.S revision 1.2
      1  1.2  matt /*	$NetBSD: labs.S,v 1.2 2008/08/04 20:21:26 matt 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.2  matt 	RCSID("$NetBSD: labs.S,v 1.2 2008/08/04 20:21:26 matt 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