1 1.1.34.1 wrstuden /* $NetBSD: labs.S,v 1.1.34.1 2008/09/18 04:39:20 wrstuden 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.1.34.1 wrstuden RCSID("$NetBSD: labs.S,v 1.1.34.1 2008/09/18 04:39:20 wrstuden Exp $") 12 1.1 fvdl #endif 13 1.1 fvdl 14 1.1.34.1 wrstuden #ifdef WEAK_ALIAS 15 1.1.34.1 wrstuden WEAK_ALIAS(imaxabs, _llabs) 16 1.1.34.1 wrstuden WEAK_ALIAS(llabs, _llabs) 17 1.1.34.1 wrstuden WEAK_ALIAS(labs, _labs) 18 1.1.34.1 wrstuden #endif 19 1.1.34.1 wrstuden 20 1.1.34.1 wrstuden #ifdef WEAK_ALIAS 21 1.1.34.1 wrstuden ENTRY(_llabs) 22 1.1.34.1 wrstuden ENTRY(_labs) 23 1.1.34.1 wrstuden #else 24 1.1 fvdl ENTRY(llabs) 25 1.1 fvdl ENTRY(labs) 26 1.1.34.1 wrstuden #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