185974Sdfr/*-
285974Sdfr * Copyright (c) 2001 Doug Rabson
385974Sdfr * All rights reserved.
485974Sdfr *
585974Sdfr * Redistribution and use in source and binary forms, with or without
685974Sdfr * modification, are permitted provided that the following conditions
785974Sdfr * are met:
885974Sdfr * 1. Redistributions of source code must retain the above copyright
985974Sdfr *    notice, this list of conditions and the following disclaimer.
1085974Sdfr * 2. Redistributions in binary form must reproduce the above copyright
1185974Sdfr *    notice, this list of conditions and the following disclaimer in the
1285974Sdfr *    documentation and/or other materials provided with the distribution.
1385974Sdfr *
1485974Sdfr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1585974Sdfr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1685974Sdfr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1785974Sdfr * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1885974Sdfr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1985974Sdfr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2085974Sdfr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2185974Sdfr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2285974Sdfr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2385974Sdfr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2485974Sdfr * SUCH DAMAGE.
2585974Sdfr */
2685974Sdfr
2792986Sobrien#include <sys/cdefs.h>
2892986Sobrien__FBSDID("$FreeBSD$");
2992986Sobrien
3085974Sdfr#include <sys/types.h>
3185974Sdfr#include <ieeefp.h>
3285974Sdfr
3385974Sdfrfp_except_t
3485974Sdfrfpgetmask(void)
3585974Sdfr{
3685974Sdfr	u_int64_t fpsr;
3785974Sdfr
3885974Sdfr	__asm __volatile("mov %0=ar.fpsr" : "=r" (fpsr));
39121332Smarcel	return (~fpsr & 0x3d);
4085974Sdfr}
41