patch-1.3.50 linux/arch/alpha/math-emu/ieee-math.h

Next file: linux/arch/alpha/mm/fault.c
Previous file: linux/arch/alpha/math-emu/ieee-math.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.49/linux/arch/alpha/math-emu/ieee-math.h linux/arch/alpha/math-emu/ieee-math.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 1992,1995 by
+ * Digital Equipment Corporation, Maynard, Massachusetts.
+ * This file may be redistributed according to the terms of the
+ * GNU General Public License.
+ */
+#ifndef __ieee_math_h__
+#define __ieee_math_h__
+
+#include <asm/fpu.h>
+
+#define ROUND_SHIFT	6		/* make space for trap-enable bits */
+#define RM(f)		(((f) >> ROUND_SHIFT) & 0x3)
+
+#define ROUND_CHOP 	(FPCR_DYN_CHOPPED >> FPCR_DYN_SHIFT)
+#define ROUND_NINF 	(FPCR_DYN_MINUS   >> FPCR_DYN_SHIFT)
+#define ROUND_NEAR 	(FPCR_DYN_NORMAL  >> FPCR_DYN_SHIFT)
+#define ROUND_PINF 	(FPCR_DYN_PLUS    >> FPCR_DYN_SHIFT)
+
+extern unsigned long ieee_CVTST (int rm, unsigned long a, unsigned long *b);
+extern unsigned long ieee_CVTTS (int rm, unsigned long a, unsigned long *b);
+extern unsigned long ieee_CVTQS (int rm, unsigned long a, unsigned long *b);
+extern unsigned long ieee_CVTQT (int rm, unsigned long a, unsigned long *b);
+extern unsigned long ieee_CVTTQ (int rm, unsigned long a, unsigned long *b);
+
+extern unsigned long ieee_CMPTEQ (unsigned long a, unsigned long b,
+				  unsigned long *c);
+extern unsigned long ieee_CMPTLT (unsigned long a, unsigned long b,
+				  unsigned long *c);
+extern unsigned long ieee_CMPTLE (unsigned long a, unsigned long b,
+				  unsigned long *c);
+extern unsigned long ieee_CMPTUN (unsigned long a, unsigned long b,
+				  unsigned long *c);
+
+extern unsigned long ieee_ADDS (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_ADDT (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_SUBS (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_SUBT (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_MULS (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_MULT (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_DIVS (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+extern unsigned long ieee_DIVT (int rm, unsigned long a, unsigned long b,
+				unsigned long *c);
+
+#endif /* __ieee_math_h__ */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this