Peter Wemm ee9003796a Fix fabs(). This commit brought to you by the letter 'l'.
(fstp stores a mem32 value, fstpl stores a mem64 value)

This fixes ghostscript for 'make release' on amd64.  Ghostscript for some
reason thinks it is a good idea to use -fno-builtin, which means it is
vulnerable to bugs in libc that are normally hidden by the builtin gcc
functions.  Oops.
2003-09-26 01:49:48 +00:00

19 lines
350 B
ArmAsm

#include <machine/asm.h>
#if defined(LIBC_SCCS)
RCSID("$NetBSD: fabs.S,v 1.4 1997/07/16 14:37:16 christos Exp $")
#endif
__FBSDID("$FreeBSD$");
/*
* Ok, this sucks. Is there really no way to push an xmm register onto
* the FP stack directly?
*/
ENTRY(fabs)
movsd %xmm0, -8(%rsp)
fldl -8(%rsp)
fabs
fstpl -8(%rsp)
movsd -8(%rsp),%xmm0
ret