root/lib/libc/arch/hppa/gen/fpgetround.c
/*      $OpenBSD: fpgetround.c,v 1.5 2016/07/26 19:07:09 guenther Exp $ */

/*
 * Written by Miodrag Vallat.  Public domain
 */

#include <sys/types.h>
#include <ieeefp.h>

fp_rnd
fpgetround(void)
{
        u_int64_t fpsr;

        __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr));
        return ((fpsr >> 41) & 0x3);
}
DEF_WEAK(fpgetround);