1*631951aaSmortimer/* $OpenBSD: fabs.S,v 1.8 2018/07/03 23:14:05 mortimer Exp $ */ 2aeb694e3Smartynas/* $NetBSD: fabs.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ 3aeb694e3Smartynas 4aeb694e3Smartynas#include <machine/asm.h> 5aeb694e3Smartynas 6aeb694e3Smartynas/* 7aeb694e3Smartynas * Ok, this sucks. Is there really no way to push an xmm register onto 8aeb694e3Smartynas * the FP stack directly? 9aeb694e3Smartynas */ 10aeb694e3Smartynas 11aeb694e3SmartynasENTRY(fabs) 12*631951aaSmortimer RETGUARD_SETUP(fabs, r11) 13aeb694e3Smartynas movsd %xmm0, -8(%rsp) 14aeb694e3Smartynas fldl -8(%rsp) 15aeb694e3Smartynas fabs 16aeb694e3Smartynas fstpl -8(%rsp) 17aeb694e3Smartynas movsd -8(%rsp),%xmm0 18*631951aaSmortimer RETGUARD_CHECK(fabs, r11) 19aeb694e3Smartynas ret 2053e48b83SuebayasiEND(fabs) 21