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