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