xref: /netbsd-src/lib/libc/arch/x86_64/gen/fabs.S (revision 92d1d4411b9f8cbaff3d5eb0b336fcc1c32deb29)
1*92d1d441Suebayasi/*	$NetBSD: fabs.S,v 1.4 2014/05/22 15:01:56 uebayasi Exp $	*/
210f59d7bSfvdl
310f59d7bSfvdl#include <machine/asm.h>
410f59d7bSfvdl#if defined(LIBC_SCCS)
5*92d1d441Suebayasi	RCSID("$NetBSD: fabs.S,v 1.4 2014/05/22 15:01:56 uebayasi Exp $")
610f59d7bSfvdl#endif
710f59d7bSfvdl
8a8c94ef1Sdrochner	.section .rodata
9a8c94ef1Sdrochner	.align 8
10a8c94ef1Sdrochner__signmask:
11a8c94ef1Sdrochner	.long 0xffffffff
12a8c94ef1Sdrochner	.long 0x7fffffff
1310f59d7bSfvdl
1410f59d7bSfvdlENTRY(fabs)
15a8c94ef1Sdrochner	movsd	__signmask(%rip),%xmm1
16a8c94ef1Sdrochner	andpd	%xmm1,%xmm0
1710f59d7bSfvdl	ret
18*92d1d441SuebayasiEND(fabs)
19