aboutsummaryrefslogtreecommitdiff
path: root/tools/test
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2020-02-27 04:44:58 +0000
committerWarner Losh <imp@FreeBSD.org>2020-02-27 04:44:58 +0000
commitf33b14f02ef7c5aff623734b1a24abe0567ff51d (patch)
treecf0177b1acc085ee64244f450343d6cdfaa8d1f5 /tools/test
parentc49be4f1c6845b24981037794c561cf319d6040a (diff)
Notes
Diffstat (limited to 'tools/test')
-rw-r--r--tools/test/testfloat/sparc64/Makefile105
-rw-r--r--tools/test/testfloat/sparc64/fpu_emul.S186
-rw-r--r--tools/test/testfloat/sparc64/fpu_reg.h63
-rw-r--r--tools/test/testfloat/sparc64/fpu_util.c706
-rw-r--r--tools/test/testfloat/sparc64/libc_private.h30
-rw-r--r--tools/test/testfloat/sparc64/milieu.h56
-rw-r--r--tools/test/testfloat/sparc64/namespace.h30
-rw-r--r--tools/test/testfloat/sparc64/softfloat.h267
-rw-r--r--tools/test/testfloat/sparc64/sparc64.h93
-rw-r--r--tools/test/testfloat/sparc64/systflags.c73
-rw-r--r--tools/test/testfloat/sparc64/systfloat.S1120
-rw-r--r--tools/test/testfloat/sparc64/systfloat.h216
-rw-r--r--tools/test/testfloat/sparc64/systmodes.c54
-rw-r--r--tools/test/testfloat/sparc64/un-namespace.h30
14 files changed, 0 insertions, 3029 deletions
diff --git a/tools/test/testfloat/sparc64/Makefile b/tools/test/testfloat/sparc64/Makefile
deleted file mode 100644
index a24834b8f4e9..000000000000
--- a/tools/test/testfloat/sparc64/Makefile
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# $FreeBSD$
-
-.PATH: ${.CURDIR}/../../../../lib/libc/softfloat/bits64 ${.CURDIR}/..
-
-LIBC_DIR= ${.CURDIR}/../../../../lib/libc
-EMUFLOAT_DIR= ${LIBC_DIR}/sparc64/fpu
-
-LN= ln -sf
-
-# Common source files
-SRCS1= fail.c random.c softfloat.c testCases.c testLoops.c writeHex.c
-
-# Additional common sources to build testfloat/testemufloat
-SRCS2= testFunction.c testfloat.c
-
-# Additional sources to build testemufloat
-SRCS3= fpu.c fpu_add.c fpu_compare.c fpu_div.c fpu_emul.S fpu_explode.c \
- fpu_implode.c fpu_mul.c fpu_qp.c fpu_sqrt.c fpu_subr.c fpu_util.c
-
-# Additional sources to build testfloat
-SRCS4= systflags.c systfloat.S systmodes.c
-
-# Additional sources to build testsoftfloat
-SRCS5= slowfloat.c testsoftfloat.c
-
-SRCS= ${SRCS1} ${SRCS2} ${SRCS3} ${SRCS4} ${SRCS5}
-
-OBJ_TF= ${SRCS1:R:S/$/.o/g} ${SRCS2:R:S/$/.o/g} ${SRCS4:R:S/$/.o/g}
-OBJ_TEF= ${SRCS1:R:S/$/.o/g} ${SRCS2:R:S/$/.o/g} ${SRCS3:R:S/$/.o/g}
-OBJ_TSF= ${SRCS1:R:S/$/.o/g} ${SRCS5:R:S/$/.o/g}
-
-all: testfloat testemufloat testsoftfloat
-
-CFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/.. -I${LIBC_DIR}/sparc64/fpu \
- -I${LIBC_DIR}/sparc64/sys -I${LIBC_DIR}/softfloat/bits64 \
- -I${LIBC_DIR}/softfloat
-
-CLEANFILES+= fpu.c fpu_add.c fpu_compare.c fpu_div.c fpu_emu.h \
- fpu_explode.c fpu_implode.c fpu_mul.c fpu_qp.c fpu_sqrt.c fpu_subr.c \
- ${SRCS:R:S/$/.o/g} testfloat testemufloat testsoftfloat
-
-testsoftfloat: ${OBJ_TSF}
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJ_TSF}
-
-testfloat: ${OBJ_TF}
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJ_TF}
-
-testemufloat: ${OBJ_TEF}
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJ_TEF}
-
-beforedepend: fpu_emu.h
-
-# The emulator code needs to be built with a local fpu_reg.h instead of
-# the one in ${EMUFLOAT_DIR}. Unfortunately, C preprocessor semantics
-# means that a header file in the same directory as the source file
-# overrides any alternative header file location. In order to include
-# the wanted header file, create symlinks pointing to the real files
-# and compile through the symlink.
-fpu.c: ${EMUFLOAT_DIR}/fpu.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_add.c: ${EMUFLOAT_DIR}/fpu_add.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_compare.c: ${EMUFLOAT_DIR}/fpu_compare.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_div.c: ${EMUFLOAT_DIR}/fpu_div.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_emu.h: ${EMUFLOAT_DIR}/fpu_emu.h
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_explode.c: ${EMUFLOAT_DIR}/fpu_explode.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_implode.c: ${EMUFLOAT_DIR}/fpu_implode.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_mul.c: ${EMUFLOAT_DIR}/fpu_mul.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_qp.c: ${EMUFLOAT_DIR}/fpu_qp.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_sqrt.c: ${EMUFLOAT_DIR}/fpu_sqrt.c
- ${LN} ${.ALLSRC} ${.TARGET}
-fpu_subr.c: ${EMUFLOAT_DIR}/fpu_subr.c
- ${LN} ${.ALLSRC} ${.TARGET}
-
-.include <bsd.prog.mk>
diff --git a/tools/test/testfloat/sparc64/fpu_emul.S b/tools/test/testfloat/sparc64/fpu_emul.S
deleted file mode 100644
index 0872e8930c0d..000000000000
--- a/tools/test/testfloat/sparc64/fpu_emul.S
+++ /dev/null
@@ -1,186 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
- .section "rodata1",#alloc
- .align 8
-
- .global insn_int32_to_float32
-insn_int32_to_float32:
- fitos %f0,%f0
-
- .global insn_int32_to_float64
-insn_int32_to_float64:
- fitod %f0,%f0
-
- .global insn_int32_to_float128
-insn_int32_to_float128:
- fitoq %f0,%f0
-
- .global insn_int64_to_float32
-insn_int64_to_float32:
- fxtos %f0,%f0
-
- .global insn_int64_to_float64
-insn_int64_to_float64:
- fxtod %f0,%f0
-
- .global insn_int64_to_float128
-insn_int64_to_float128:
- fxtoq %f0,%f0
-
- .global insn_float32_to_int32_round_to_zero
-insn_float32_to_int32_round_to_zero:
- fstoi %f0,%f0
-
- .global insn_float32_to_int64_round_to_zero
-insn_float32_to_int64_round_to_zero:
- fstox %f0,%f0
-
- .global insn_float32_to_float64
-insn_float32_to_float64:
- fstod %f0,%f0
-
- .global insn_float32_to_float128
-insn_float32_to_float128:
- fstoq %f0,%f0
-
- .global insn_float32_add
-insn_float32_add:
- fadds %f0,%f1,%f0
-
- .global insn_float32_sub
-insn_float32_sub:
- fsubs %f0,%f1,%f0
-
- .global insn_float32_mul
-insn_float32_mul:
- fmuls %f0,%f1,%f0
-
- .global insn_float32_div
-insn_float32_div:
- fdivs %f0,%f1,%f0
-
- .global insn_float32_sqrt
-insn_float32_sqrt:
- fsqrts %f0,%f0
-
- .global insn_float32_cmp
-insn_float32_cmp:
- fcmps %fcc0,%f0,%f1
-
- .global insn_float32_cmpe
-insn_float32_cmpe:
- fcmpes %fcc0,%f0,%f1
-
- .global insn_float64_to_int32_round_to_zero
-insn_float64_to_int32_round_to_zero:
- fdtoi %f0,%f0
-
- .global insn_float64_to_int64_round_to_zero
-insn_float64_to_int64_round_to_zero:
- fdtox %f0,%f0
-
- .global insn_float64_to_float32
-insn_float64_to_float32:
- fdtos %f0,%f0
-
- .global insn_float64_to_float128
-insn_float64_to_float128:
- fdtoq %f0,%f0
-
- .global insn_float64_add
-insn_float64_add:
- faddd %f0,%f2,%f0
-
- .global insn_float64_sub
-insn_float64_sub:
- fsubd %f0,%f2,%f0
-
- .global insn_float64_mul
-insn_float64_mul:
- fmuld %f0,%f2,%f0
-
- .global insn_float64_div
-insn_float64_div:
- fdivd %f0,%f2,%f0
-
- .global insn_float64_sqrt
-insn_float64_sqrt:
- fsqrtd %f0,%f0
-
- .global insn_float64_cmp
-insn_float64_cmp:
- fcmpd %fcc0,%f0,%f2
-
- .global insn_float64_cmpe
-insn_float64_cmpe:
- fcmped %fcc0,%f0,%f2
-
- .global insn_float128_to_int32_round_to_zero
-insn_float128_to_int32_round_to_zero:
- fqtoi %f0,%f0
-
- .global insn_float128_to_int64_round_to_zero
-insn_float128_to_int64_round_to_zero:
- fqtox %f0,%f0
-
- .global insn_float128_to_float32
-insn_float128_to_float32:
- fqtos %f0,%f0
-
- .global insn_float128_to_float64
-insn_float128_to_float64:
- fqtod %f0,%f0
-
- .global insn_float128_add
-insn_float128_add:
- faddq %f0,%f4,%f0
-
- .global insn_float128_sub
-insn_float128_sub:
- fsubq %f0,%f4,%f0
-
- .global insn_float128_mul
-insn_float128_mul:
- fmulq %f0,%f4,%f0
-
- .global insn_float128_div
-insn_float128_div:
- fdivq %f0,%f4,%f0
-
- .global insn_float128_sqrt
-insn_float128_sqrt:
- fsqrtq %f0,%f0
-
- .global insn_float128_cmp
-insn_float128_cmp:
- fcmpq %fcc0,%f0,%f4
-
- .global insn_float128_cmpe
-insn_float128_cmpe:
- fcmpeq %fcc0,%f0,%f4
diff --git a/tools/test/testfloat/sparc64/fpu_reg.h b/tools/test/testfloat/sparc64/fpu_reg.h
deleted file mode 100644
index 76f7244dd0ba..000000000000
--- a/tools/test/testfloat/sparc64/fpu_reg.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#ifndef _TESTFLOAT_SPARC64_FPU_REG_H_
-#define _TESTFLOAT_SPARC64_FPU_REG_H_
-
-#include <sys/types.h>
-extern u_int32_t __fpreg[64];
-
-static __inline u_int32_t
-__fpu_getreg(int r)
-{
-
- return (__fpreg[r]);
-}
-
-static __inline u_int64_t
-__fpu_getreg64(int r)
-{
-
- return ((u_int64_t)__fpreg[r] << 32 | (u_int64_t)__fpreg[r + 1]);
-}
-
-static __inline void
-__fpu_setreg(int r, u_int32_t v)
-{
-
- __fpreg[r] = v;
-}
-
-static __inline void
-__fpu_setreg64(int r, u_int64_t v)
-{
-
- __fpreg[r] = (u_int32_t)(v >> 32);
- __fpreg[r + 1] = (u_int32_t)v;
-}
-
-#endif /* _TESTFLOAT_SPARC64_FPU_REG_H_ */
diff --git a/tools/test/testfloat/sparc64/fpu_util.c b/tools/test/testfloat/sparc64/fpu_util.c
deleted file mode 100644
index 1b766e0320a5..000000000000
--- a/tools/test/testfloat/sparc64/fpu_util.c
+++ /dev/null
@@ -1,706 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/param.h>
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "__sparc_utrap_private.h"
-#include "fpu_extern.h"
-#include "fpu_reg.h"
-
-static u_long ireg[32];
-
-void
-__utrap_panic(const char *msg)
-{
-
- fprintf(stderr, "panic: %s\n", msg);
- exit(1);
-}
-
-void __utrap_write(const char *msg)
-{
-
- fprintf(stderr, "%s", msg);
-}
-
-u_long
-__emul_fetch_reg(struct utrapframe *uf, int reg)
-{
-
- return (ireg[reg]);
-}
-
-typedef unsigned char int8;
-typedef unsigned int int32;
-typedef unsigned long int64;
-typedef unsigned int float32;
-typedef unsigned long float64;
-typedef struct {
- unsigned long high, low;
-} float128;
-typedef unsigned long flag;
-
-struct utrapframe utf;
-
-u_int32_t __fpreg[64];
-
-static __inline float128
-__fpu_getreg128(int r)
-{
- float128 v;
-
- v.high = ((u_int64_t)__fpreg[r] << 32 | (u_int64_t)__fpreg[r + 1]);
- v.low = ((u_int64_t)__fpreg[r + 2] << 32 | (u_int64_t)__fpreg[r + 3]);
- return (v);
-}
-
-static __inline void
-__fpu_setreg128(int r, float128 v)
-{
-
- __fpreg[r] = (u_int32_t)(v.high >> 32);
- __fpreg[r + 1] = (u_int32_t)v.high;
- __fpreg[r + 2] = (u_int32_t)(v.low >> 32);
- __fpreg[r + 3] = (u_int32_t)v.low;
-}
-
-/*
--------------------------------------------------------------------------------
-Clears the system's IEC/IEEE floating-point exception flags. Returns the
-previous value of the flags.
--------------------------------------------------------------------------------
-*/
-#include <fenv.h>
-#include <ieeefp.h>
-
-int8 syst_float_flags_clear(void)
-{
- int32 flags;
-
- flags = (utf.uf_fsr & FE_ALL_EXCEPT) >> 5;
- utf.uf_fsr &= ~(u_long)FE_ALL_EXCEPT;
- return (flags);
-}
-
-static void
-emul_trap(const u_int *insn, u_long mask)
-{
- u_int32_t savreg[64];
- int i;
-
- for (i = 0; i < 64; i++)
- savreg[i] = __fpreg[i];
-
- utf.uf_fsr = (utf.uf_fsr & ~FSR_FTT_MASK) |
- (FSR_FTT_UNFIN << FSR_FTT_SHIFT);
- utf.uf_pc = (u_long)insn;
- if (__fpu_exception(&utf) == 0)
- __asm("stx %%fsr,%0" : "=m" (utf.uf_fsr));
-
- for (i = 0; i < 64; i++) {
- if (!(mask & (1UL << i)) && savreg[i] != __fpreg[i]) {
- fprintf(stderr, "### %2d %08x != %08x\n",
- i, savreg[i], __fpreg[i]);
- }
- }
-}
-
-extern u_int insn_int32_to_float32;
-extern u_int insn_int32_to_float64;
-extern u_int insn_int32_to_float128;
-extern u_int insn_int64_to_float32;
-extern u_int insn_int64_to_float64;
-extern u_int insn_int64_to_float128;
-extern u_int insn_float32_to_int32_round_to_zero;
-extern u_int insn_float32_to_int64_round_to_zero;
-extern u_int insn_float32_to_float64;
-extern u_int insn_float32_to_float128;
-extern u_int insn_float32_add;
-extern u_int insn_float32_sub;
-extern u_int insn_float32_mul;
-extern u_int insn_float32_div;
-extern u_int insn_float32_sqrt;
-extern u_int insn_float32_cmp;
-extern u_int insn_float32_cmpe;
-extern u_int insn_float64_to_int32_round_to_zero;
-extern u_int insn_float64_to_int64_round_to_zero;
-extern u_int insn_float64_to_float32;
-extern u_int insn_float64_to_float128;
-extern u_int insn_float64_add;
-extern u_int insn_float64_sub;
-extern u_int insn_float64_mul;
-extern u_int insn_float64_div;
-extern u_int insn_float64_sqrt;
-extern u_int insn_float64_cmp;
-extern u_int insn_float64_cmpe;
-extern u_int insn_float128_to_int32_round_to_zero;
-extern u_int insn_float128_to_int64_round_to_zero;
-extern u_int insn_float128_to_float32;
-extern u_int insn_float128_to_float64;
-extern u_int insn_float128_add;
-extern u_int insn_float128_sub;
-extern u_int insn_float128_mul;
-extern u_int insn_float128_div;
-extern u_int insn_float128_sqrt;
-extern u_int insn_float128_cmp;
-extern u_int insn_float128_cmpe;
-
-float32
-syst_int32_to_float32(int32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_int32_to_float32, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float64
-syst_int32_to_float64(int32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_int32_to_float64, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float128
-syst_int32_to_float128(int32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_int32_to_float128, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float32
-syst_int64_to_float32(int64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_int64_to_float32, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float64
-syst_int64_to_float64(int64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_int64_to_float64, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-
-float128
-syst_int64_to_float128(int64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_int64_to_float128, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-int32
-syst_float32_to_int32_round_to_zero(float32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_float32_to_int32_round_to_zero, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-int64
-syst_float32_to_int64_round_to_zero(float32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_float32_to_int64_round_to_zero, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float64
-syst_float32_to_float64(float32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_float32_to_float64, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float128
-syst_float32_to_float128(float32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_float32_to_float128, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float32
-syst_float32_add(float32 a, float32 b)
-{
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_add, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float32
-syst_float32_sub(float32 a, float32 b)
-{
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_sub, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float32
-syst_float32_mul(float32 a, float32 b)
-{
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_mul, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float32
-syst_float32_div(float32 a, float32 b)
-{
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_div, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float32
-syst_float32_sqrt(float32 a)
-{
-
- __fpu_setreg(0, a);
- emul_trap(&insn_float32_sqrt, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-flag syst_float32_eq(float32 a, float32 b)
-{
- u_long r;
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; move %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float32_le(float32 a, float32 b)
-{
- u_long r;
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; movle %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float32_lt(float32 a, float32 b)
-{
- u_long r;
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; movl %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float32_eq_signaling(float32 a, float32 b)
-{
- u_long r;
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; move %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float32_le_quiet(float32 a, float32 b)
-{
- u_long r;
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; movle %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float32_lt_quiet(float32 a, float32 b)
-{
- u_long r;
-
- __fpu_setreg(0, a);
- __fpu_setreg(1, b);
- emul_trap(&insn_float32_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; movl %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-int32
-syst_float64_to_int32_round_to_zero(float64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_float64_to_int32_round_to_zero, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-int64
-syst_float64_to_int64_round_to_zero(float64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_float64_to_int64_round_to_zero, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float32
-syst_float64_to_float32(float64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_float64_to_float32, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float128
-syst_float64_to_float128(float64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_float64_to_float128, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float64
-syst_float64_add(float64 a, float64 b)
-{
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_add, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float64
-syst_float64_sub(float64 a, float64 b)
-{
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_sub, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float64
-syst_float64_mul(float64 a, float64 b)
-{
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_mul, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float64
-syst_float64_div(float64 a, float64 b)
-{
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_div, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float64
-syst_float64_sqrt(float64 a)
-{
-
- __fpu_setreg64(0, a);
- emul_trap(&insn_float64_sqrt, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-flag syst_float64_eq(float64 a, float64 b)
-{
- u_long r;
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; move %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float64_le(float64 a, float64 b)
-{
- u_long r;
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; movle %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float64_lt(float64 a, float64 b)
-{
- u_long r;
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; movl %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float64_eq_signaling(float64 a, float64 b)
-{
- u_long r;
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; move %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float64_le_quiet(float64 a, float64 b)
-{
- u_long r;
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; movle %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float64_lt_quiet(float64 a, float64 b)
-{
- u_long r;
-
- __fpu_setreg64(0, a);
- __fpu_setreg64(2, b);
- emul_trap(&insn_float64_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; movl %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-int32
-syst_float128_to_int32_round_to_zero(float128 a)
-{
-
- __fpu_setreg128(0, a);
- emul_trap(&insn_float128_to_int32_round_to_zero, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-int64
-syst_float128_to_int64_round_to_zero(float128 a)
-{
-
- __fpu_setreg128(0, a);
- emul_trap(&insn_float128_to_int64_round_to_zero, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float32
-syst_float128_to_float32(float128 a)
-{
-
- __fpu_setreg128(0, a);
- emul_trap(&insn_float128_to_float32, 0x1UL);
- return (__fpu_getreg(0));
-}
-
-float64
-syst_float128_to_float64(float128 a)
-{
-
- __fpu_setreg128(0, a);
- emul_trap(&insn_float128_to_float64, 0x3UL);
- return (__fpu_getreg64(0));
-}
-
-float128
-syst_float128_add(float128 a, float128 b)
-{
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_add, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float128
-syst_float128_sub(float128 a, float128 b)
-{
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_sub, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float128
-syst_float128_mul(float128 a, float128 b)
-{
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_mul, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float128
-syst_float128_div(float128 a, float128 b)
-{
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_div, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-float128
-syst_float128_sqrt(float128 a)
-{
-
- __fpu_setreg128(0, a);
- emul_trap(&insn_float128_sqrt, 0xfUL);
- return (__fpu_getreg128(0));
-}
-
-flag syst_float128_eq(float128 a, float128 b)
-{
- u_long r;
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; move %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float128_le(float128 a, float128 b)
-{
- u_long r;
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; movle %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float128_lt(float128 a, float128 b)
-{
- u_long r;
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; movl %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float128_eq_signaling(float128 a, float128 b)
-{
- u_long r;
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_cmpe, 0x0UL);
- __asm __volatile("mov 0,%0; move %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float128_le_quiet(float128 a, float128 b)
-{
- u_long r;
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; movle %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-flag syst_float128_lt_quiet(float128 a, float128 b)
-{
- u_long r;
-
- __fpu_setreg128(0, a);
- __fpu_setreg128(4, b);
- emul_trap(&insn_float128_cmp, 0x0UL);
- __asm __volatile("mov 0,%0; movl %%fcc0,1,%0" : "=r" (r));
- return (r);
-}
-
-
-/*
--------------------------------------------------------------------------------
-Sets the system's IEC/IEEE floating-point rounding mode.
--------------------------------------------------------------------------------
-*/
-void syst_float_set_rounding_mode(int8 roundingMode)
-{
-
- utf.uf_fsr &= ~FSR_RD_MASK;
- utf.uf_fsr |= FSR_RD((unsigned int)roundingMode & 0x03);
-}
-
-/*
--------------------------------------------------------------------------------
-Does nothing.
--------------------------------------------------------------------------------
-*/
-void syst_float_set_rounding_precision(int8 precision)
-{
-
-}
diff --git a/tools/test/testfloat/sparc64/libc_private.h b/tools/test/testfloat/sparc64/libc_private.h
deleted file mode 100644
index 5e7d1bc431b0..000000000000
--- a/tools/test/testfloat/sparc64/libc_private.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-/*
- * This file has no content and is solely to satisfy a #include in
- * the FP emulator code.
- */
diff --git a/tools/test/testfloat/sparc64/milieu.h b/tools/test/testfloat/sparc64/milieu.h
deleted file mode 100644
index 26491d16756c..000000000000
--- a/tools/test/testfloat/sparc64/milieu.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef TESTFLOAT_SPARC64_MILIEU_H_
-#define TESTFLOAT_SPARC64_MILIEU_H_
-
-/*
-===============================================================================
-
-This C header file is part of TestFloat, Release 2a, a package of programs
-for testing the correctness of floating-point arithmetic complying to the
-IEC/IEEE Standard for Floating-Point.
-
-Written by John R. Hauser. More information is available through the Web
-page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/* $FreeBSD$ */
-
-/*
--------------------------------------------------------------------------------
-Include common integer types and flags.
--------------------------------------------------------------------------------
-*/
-#include "sparc64.h"
-
-/*
--------------------------------------------------------------------------------
-If the `BITS64' macro is defined by the processor header file but the
-version of SoftFloat being used/tested is the 32-bit one (`bits32'), the
-`BITS64' macro must be undefined here.
--------------------------------------------------------------------------------
-#undef BITS64
-*/
-
-/*
--------------------------------------------------------------------------------
-Symbolic Boolean literals.
--------------------------------------------------------------------------------
-*/
-enum {
- FALSE = 0,
- TRUE = 1
-};
-
-#endif
diff --git a/tools/test/testfloat/sparc64/namespace.h b/tools/test/testfloat/sparc64/namespace.h
deleted file mode 100644
index 5e7d1bc431b0..000000000000
--- a/tools/test/testfloat/sparc64/namespace.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-/*
- * This file has no content and is solely to satisfy a #include in
- * the FP emulator code.
- */
diff --git a/tools/test/testfloat/sparc64/softfloat.h b/tools/test/testfloat/sparc64/softfloat.h
deleted file mode 100644
index f804b9cb82ca..000000000000
--- a/tools/test/testfloat/sparc64/softfloat.h
+++ /dev/null
@@ -1,267 +0,0 @@
-#ifndef TESTFLOAT_SPARC64_SOFTFLOAT_H
-#define TESTFLOAT_SPARC64_SOFTFLOAT_H
-
-/*============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point Arithmetic
-Package, Release 2b.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://www.cs.berkeley.edu/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort has
-been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT TIMES
-RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO PERSONS
-AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL LOSSES,
-COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO FURTHERMORE
-EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER SCIENCE
-INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, COSTS, OR
-OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE SOFTWARE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) the source code for the derivative work includes prominent notice that
-the work is derivative, and (2) the source code includes prominent notice with
-these four paragraphs for those parts of this code that are retained.
-
-=============================================================================*/
-
-/* $FreeBSD$ */
-
-#include <machine/ieeefp.h>
-
-/*----------------------------------------------------------------------------
-| The macro `FLOATX80' must be defined to enable the extended double-precision
-| floating-point format `floatx80'. If this macro is not defined, the
-| `floatx80' type will not be defined, and none of the functions that either
-| input or output the `floatx80' type will be defined. The same applies to
-| the `FLOAT128' macro and the quadruple-precision format `float128'.
-*----------------------------------------------------------------------------*/
-#define FLOATX80
-#define FLOAT128
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE floating-point types.
-*----------------------------------------------------------------------------*/
-typedef unsigned int float32;
-typedef unsigned long float64;
-#ifdef FLOATX80
-typedef struct {
- unsigned short high;
- unsigned long low;
-} floatx80;
-#endif
-#ifdef FLOAT128
-typedef struct {
- unsigned long high, low;
-} float128;
-#endif
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE floating-point underflow tininess-detection mode.
-*----------------------------------------------------------------------------*/
-extern int float_detect_tininess;
-enum {
- float_tininess_after_rounding = 0,
- float_tininess_before_rounding = 1
-};
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE floating-point rounding mode.
-*----------------------------------------------------------------------------*/
-extern fp_rnd_t float_rounding_mode;
-enum {
- float_round_nearest_even = 0,
- float_round_to_zero = 1,
- float_round_up = 2,
- float_round_down = 3
-};
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE floating-point exception flags.
-*----------------------------------------------------------------------------*/
-typedef int fp_except;
-extern fp_except float_exception_flags;
-enum {
- float_flag_inexact = 1,
- float_flag_divbyzero = 2,
- float_flag_underflow = 4,
- float_flag_overflow = 8,
- float_flag_invalid = 16
-};
-
-/*----------------------------------------------------------------------------
-| Routine to raise any or all of the software IEC/IEEE floating-point
-| exception flags.
-*----------------------------------------------------------------------------*/
-void float_raise( int );
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE integer-to-floating-point conversion routines.
-*----------------------------------------------------------------------------*/
-float32 int32_to_float32( int );
-float64 int32_to_float64( int );
-#ifdef FLOATX80
-floatx80 int32_to_floatx80( int );
-#endif
-#ifdef FLOAT128
-float128 int32_to_float128( int );
-#endif
-float32 int64_to_float32( long );
-float64 int64_to_float64( long );
-#ifdef FLOATX80
-floatx80 int64_to_floatx80( long );
-#endif
-#ifdef FLOAT128
-float128 int64_to_float128( long );
-#endif
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE single-precision conversion routines.
-*----------------------------------------------------------------------------*/
-int float32_to_int32( float32 );
-int float32_to_int32_round_to_zero( float32 );
-long float32_to_int64( float32 );
-long float32_to_int64_round_to_zero( float32 );
-float64 float32_to_float64( float32 );
-#ifdef FLOATX80
-floatx80 float32_to_floatx80( float32 );
-#endif
-#ifdef FLOAT128
-float128 float32_to_float128( float32 );
-#endif
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE single-precision operations.
-*----------------------------------------------------------------------------*/
-float32 float32_round_to_int( float32 );
-float32 float32_add( float32, float32 );
-float32 float32_sub( float32, float32 );
-float32 float32_mul( float32, float32 );
-float32 float32_div( float32, float32 );
-float32 float32_rem( float32, float32 );
-float32 float32_sqrt( float32 );
-int float32_eq( float32, float32 );
-int float32_le( float32, float32 );
-int float32_lt( float32, float32 );
-int float32_eq_signaling( float32, float32 );
-int float32_le_quiet( float32, float32 );
-int float32_lt_quiet( float32, float32 );
-int float32_is_signaling_nan( float32 );
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE double-precision conversion routines.
-*----------------------------------------------------------------------------*/
-int float64_to_int32( float64 );
-int float64_to_int32_round_to_zero( float64 );
-long float64_to_int64( float64 );
-long float64_to_int64_round_to_zero( float64 );
-float32 float64_to_float32( float64 );
-#ifdef FLOATX80
-floatx80 float64_to_floatx80( float64 );
-#endif
-#ifdef FLOAT128
-float128 float64_to_float128( float64 );
-#endif
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE double-precision operations.
-*----------------------------------------------------------------------------*/
-float64 float64_round_to_int( float64 );
-float64 float64_add( float64, float64 );
-float64 float64_sub( float64, float64 );
-float64 float64_mul( float64, float64 );
-float64 float64_div( float64, float64 );
-float64 float64_rem( float64, float64 );
-float64 float64_sqrt( float64 );
-int float64_eq( float64, float64 );
-int float64_le( float64, float64 );
-int float64_lt( float64, float64 );
-int float64_eq_signaling( float64, float64 );
-int float64_le_quiet( float64, float64 );
-int float64_lt_quiet( float64, float64 );
-int float64_is_signaling_nan( float64 );
-
-#ifdef FLOATX80
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE extended double-precision conversion routines.
-*----------------------------------------------------------------------------*/
-int floatx80_to_int32( floatx80 );
-int floatx80_to_int32_round_to_zero( floatx80 );
-long floatx80_to_int64( floatx80 );
-long floatx80_to_int64_round_to_zero( floatx80 );
-float32 floatx80_to_float32( floatx80 );
-float64 floatx80_to_float64( floatx80 );
-#ifdef FLOAT128
-float128 floatx80_to_float128( floatx80 );
-#endif
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE extended double-precision rounding precision. Valid
-| values are 32, 64, and 80.
-*----------------------------------------------------------------------------*/
-extern int floatx80_rounding_precision;
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE extended double-precision operations.
-*----------------------------------------------------------------------------*/
-floatx80 floatx80_round_to_int( floatx80 );
-floatx80 floatx80_add( floatx80, floatx80 );
-floatx80 floatx80_sub( floatx80, floatx80 );
-floatx80 floatx80_mul( floatx80, floatx80 );
-floatx80 floatx80_div( floatx80, floatx80 );
-floatx80 floatx80_rem( floatx80, floatx80 );
-floatx80 floatx80_sqrt( floatx80 );
-int floatx80_eq( floatx80, floatx80 );
-int floatx80_le( floatx80, floatx80 );
-int floatx80_lt( floatx80, floatx80 );
-int floatx80_eq_signaling( floatx80, floatx80 );
-int floatx80_le_quiet( floatx80, floatx80 );
-int floatx80_lt_quiet( floatx80, floatx80 );
-int floatx80_is_signaling_nan( floatx80 );
-
-#endif
-
-#ifdef FLOAT128
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE quadruple-precision conversion routines.
-*----------------------------------------------------------------------------*/
-int float128_to_int32( float128 );
-int float128_to_int32_round_to_zero( float128 );
-long float128_to_int64( float128 );
-long float128_to_int64_round_to_zero( float128 );
-float32 float128_to_float32( float128 );
-float64 float128_to_float64( float128 );
-#ifdef FLOATX80
-floatx80 float128_to_floatx80( float128 );
-#endif
-
-/*----------------------------------------------------------------------------
-| Software IEC/IEEE quadruple-precision operations.
-*----------------------------------------------------------------------------*/
-float128 float128_round_to_int( float128 );
-float128 float128_add( float128, float128 );
-float128 float128_sub( float128, float128 );
-float128 float128_mul( float128, float128 );
-float128 float128_div( float128, float128 );
-float128 float128_rem( float128, float128 );
-float128 float128_sqrt( float128 );
-int float128_eq( float128, float128 );
-int float128_le( float128, float128 );
-int float128_lt( float128, float128 );
-int float128_eq_signaling( float128, float128 );
-int float128_le_quiet( float128, float128 );
-int float128_lt_quiet( float128, float128 );
-int float128_is_signaling_nan( float128 );
-
-#endif
-
-#endif
diff --git a/tools/test/testfloat/sparc64/sparc64.h b/tools/test/testfloat/sparc64/sparc64.h
deleted file mode 100644
index 959a78cb675d..000000000000
--- a/tools/test/testfloat/sparc64/sparc64.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-/*----------------------------------------------------------------------------
-| One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
-*----------------------------------------------------------------------------*/
-#define BIGENDIAN
-
-/*----------------------------------------------------------------------------
-| The macro `BITS64' can be defined to indicate that 64-bit integer types are
-| supported by the compiler.
-*----------------------------------------------------------------------------*/
-#define BITS64
-
-/*----------------------------------------------------------------------------
-| Each of the following `typedef's defines the most convenient type that holds
-| integers of at least as many bits as specified. For example, `uint8' should
-| be the most convenient type that can hold unsigned integers of as many as
-| 8 bits. The `flag' type must be able to hold either a 0 or 1. For most
-| implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
-| to the same as `int'.
-*----------------------------------------------------------------------------*/
-typedef int flag;
-typedef int uint8;
-typedef int int8;
-typedef int uint16;
-typedef int int16;
-typedef unsigned int uint32;
-typedef signed int int32;
-#ifdef BITS64
-typedef unsigned long int uint64;
-typedef signed long int int64;
-#endif
-
-/*----------------------------------------------------------------------------
-| Each of the following `typedef's defines a type that holds integers
-| of _exactly_ the number of bits specified. For instance, for most
-| implementation of C, `bits16' and `sbits16' should be `typedef'ed to
-| `unsigned short int' and `signed short int' (or `short int'), respectively.
-*----------------------------------------------------------------------------*/
-typedef unsigned char bits8;
-typedef signed char sbits8;
-typedef unsigned short int bits16;
-typedef signed short int sbits16;
-typedef unsigned int bits32;
-typedef signed int sbits32;
-#ifdef BITS64
-typedef unsigned long int bits64;
-typedef signed long int sbits64;
-#endif
-
-#ifdef BITS64
-/*----------------------------------------------------------------------------
-| The `LIT64' macro takes as its argument a textual integer literal and
-| if necessary ``marks'' the literal as having a 64-bit integer type.
-| For example, the GNU C Compiler (`gcc') requires that 64-bit literals be
-| appended with the letters `LL' standing for `long long', which is `gcc's
-| name for the 64-bit integer type. Some compilers may allow `LIT64' to be
-| defined as the identity macro: `#define LIT64( a ) a'.
-*----------------------------------------------------------------------------*/
-#define LIT64( a ) a##L
-#endif
-
-/*----------------------------------------------------------------------------
-| The macro `INLINE' can be used before functions that should be inlined. If
-| a compiler does not support explicit inlining, this macro should be defined
-| to be `static'.
-*----------------------------------------------------------------------------*/
-#define INLINE extern inline
diff --git a/tools/test/testfloat/sparc64/systflags.c b/tools/test/testfloat/sparc64/systflags.c
deleted file mode 100644
index 9187facc8301..000000000000
--- a/tools/test/testfloat/sparc64/systflags.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
-===============================================================================
-
-This C source file is part of TestFloat, Release 2a, a package of programs
-for testing the correctness of floating-point arithmetic complying to the
-IEC/IEEE Standard for Floating-Point.
-
-Written by John R. Hauser. More information is available through the Web
-page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#pragma STDC FENV_ACCESS ON
-#include <fenv.h>
-#include <ieeefp.h>
-#include "milieu.h"
-#include "systflags.h"
-
-/*
--------------------------------------------------------------------------------
-Clears the system's IEC/IEEE floating-point exception flags. Returns the
-previous value of the flags.
--------------------------------------------------------------------------------
-*/
-int8 syst_float_flags_clear( void )
-{
- fexcept_t flags;
-
- fegetexceptflag(&flags, FE_ALL_EXCEPT);
- feclearexcept(FE_ALL_EXCEPT);
- return (flags >> 5);
-}
-
diff --git a/tools/test/testfloat/sparc64/systfloat.S b/tools/test/testfloat/sparc64/systfloat.S
deleted file mode 100644
index 09e97d15fe37..000000000000
--- a/tools/test/testfloat/sparc64/systfloat.S
+++ /dev/null
@@ -1,1120 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
-===============================================================================
-
-This GNU assembler source file is part of TestFloat, Release 2a, a package
-of programs for testing the correctness of floating-point arithmetic
-complying to the IEC/IEEE Standard for Floating-Point.
-
-Written by John R. Hauser. More information is available through the Web
-page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
- .text
-
-/*
- .macro i2f32 src=%i0,dst=%f0
- st \src,[%sp+2231]
- ld [%sp+2231],\dst
- .endm
-
- .macro i2f64 src=%i0,dst=%f0
- stx \src,[%sp+2231]
- ldd [%sp+2231],\dst
- .endm
-
- .macro f2i32 src=%f0,dst=%i0
- st \src,[%sp+2231]
- ld [%sp+2231],\dst
- .endm
-
- .macro f2i64 src=%f0,dst=%i0
- std \src,[%sp+2231]
- ldx [%sp+2231],\dst
- .endm
-*/
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_int32_to_float32
-syst_int32_to_float32:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fitos %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_int32_to_float64
-syst_int32_to_float64:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fitod %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_int32_to_float128
-syst_int32_to_float128:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fitoq %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_int64_to_float32
-syst_int64_to_float32:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fxtos %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_int64_to_float64
-syst_int64_to_float64:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fxtod %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_int64_to_float128
-syst_int64_to_float128:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fxtoq %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_to_int32_round_to_zero
-syst_float32_to_int32_round_to_zero:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fstoi %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_to_int64_round_to_zero
-syst_float32_to_int64_round_to_zero:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fstox %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_to_float64
-syst_float32_to_float64:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fstod %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_to_float128
-syst_float32_to_float128:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fstoq %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_add
-syst_float32_add:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fadds %f0,%f1,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_sub
-syst_float32_sub:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fsubs %f0,%f1,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_mul
-syst_float32_mul:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fmuls %f0,%f1,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_div
-syst_float32_div:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fdivs %f0,%f1,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_sqrt
-syst_float32_sqrt:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- fsqrts %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_eq
-syst_float32_eq:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fcmps %fcc0,%f0,%f1
- mov 0,%i0
- move %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_le
-syst_float32_le:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fcmpes %fcc0,%f0,%f1
- mov 0,%i0
- movle %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_lt
-syst_float32_lt:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fcmpes %fcc0,%f0,%f1
- mov 0,%i0
- movl %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_eq_signaling
-syst_float32_eq_signaling:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fcmpes %fcc0,%f0,%f1
- mov 0,%i0
- move %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_le_quiet
-syst_float32_le_quiet:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fcmps %fcc0,%f0,%f1
- mov 0,%i0
- movle %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float32_lt_quiet
-syst_float32_lt_quiet:
- save %sp,-192,%sp
-
- st %i0,[%sp+2231]
- ld [%sp+2231],%f0
- st %i1,[%sp+2231]
- ld [%sp+2231],%f1
- fcmps %fcc0,%f0,%f1
- mov 0,%i0
- movl %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_to_int32_round_to_zero
-syst_float64_to_int32_round_to_zero:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fdtoi %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_to_int64_round_to_zero
-syst_float64_to_int64_round_to_zero:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fdtox %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_to_float32
-syst_float64_to_float32:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fdtos %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_to_float128
-syst_float64_to_float128:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fdtoq %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_add
-syst_float64_add:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- faddd %f0,%f2,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_sub
-syst_float64_sub:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fsubd %f0,%f2,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_mul
-syst_float64_mul:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fmuld %f0,%f2,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_div
-syst_float64_div:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fdivd %f0,%f2,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_sqrt
-syst_float64_sqrt:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- fsqrtd %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_eq
-syst_float64_eq:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fcmpd %fcc0,%f0,%f2
- mov 0,%i0
- move %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_le
-syst_float64_le:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fcmped %fcc0,%f0,%f2
- mov 0,%i0
- movle %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_lt
-syst_float64_lt:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fcmped %fcc0,%f0,%f2
- mov 0,%i0
- movl %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_eq_signaling
-syst_float64_eq_signaling:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fcmped %fcc0,%f0,%f2
- mov 0,%i0
- move %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_le_quiet
-syst_float64_le_quiet:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fcmpd %fcc0,%f0,%f2
- mov 0,%i0
- movle %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float64_lt_quiet
-syst_float64_lt_quiet:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fcmpd %fcc0,%f0,%f2
- mov 0,%i0
- movl %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_to_int32_round_to_zero
-syst_float128_to_int32_round_to_zero:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fqtoi %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_to_int64_round_to_zero
-syst_float128_to_int64_round_to_zero:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fqtox %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_to_float32
-syst_float128_to_float32:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fqtos %f0,%f0
- st %f0,[%sp+2231]
- ld [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_to_float64
-syst_float128_to_float64:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fqtod %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_add
-syst_float128_add:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- faddq %f0,%f4,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_sub
-syst_float128_sub:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fsubq %f0,%f4,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_mul
-syst_float128_mul:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fmulq %f0,%f4,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_div
-syst_float128_div:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fdivq %f0,%f4,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_sqrt
-syst_float128_sqrt:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- fsqrtq %f0,%f0
- std %f0,[%sp+2231]
- ldx [%sp+2231],%i0
- std %f2,[%sp+2231]
- ldx [%sp+2231],%i1
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_eq
-syst_float128_eq:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fcmpq %fcc0,%f0,%f4
- mov 0,%i0
- move %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_le
-syst_float128_le:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fcmpeq %fcc0,%f0,%f4
- mov 0,%i0
- movle %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_lt
-syst_float128_lt:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fcmpeq %fcc0,%f0,%f4
- mov 0,%i0
- movl %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_eq_signaling
-syst_float128_eq_signaling:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fcmpeq %fcc0,%f0,%f4
- mov 0,%i0
- move %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_le_quiet
-syst_float128_le_quiet:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fcmpq %fcc0,%f0,%f4
- mov 0,%i0
- movle %fcc0,1,%i0
-
- ret
- restore
-
-/*
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-*/
- .align 4
- .global syst_float128_lt_quiet
-syst_float128_lt_quiet:
- save %sp,-192,%sp
-
- stx %i0,[%sp+2231]
- ldd [%sp+2231],%f0
- stx %i1,[%sp+2231]
- ldd [%sp+2231],%f2
- stx %i2,[%sp+2231]
- ldd [%sp+2231],%f4
- stx %i3,[%sp+2231]
- ldd [%sp+2231],%f6
- fcmpq %fcc0,%f0,%f4
- mov 0,%i0
- movl %fcc0,1,%i0
-
- ret
- restore
diff --git a/tools/test/testfloat/sparc64/systfloat.h b/tools/test/testfloat/sparc64/systfloat.h
deleted file mode 100644
index c1db1ebd361e..000000000000
--- a/tools/test/testfloat/sparc64/systfloat.h
+++ /dev/null
@@ -1,216 +0,0 @@
-
-/*
-===============================================================================
-
-This C header file is part of TestFloat, Release 2a, a package of programs
-for testing the correctness of floating-point arithmetic complying to the
-IEC/IEEE Standard for Floating-Point.
-
-Written by John R. Hauser. More information is available through the Web
-page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/* $FreeBSD$ */
-
-#include "softfloat.h"
-#include "milieu.h"
-
-/*
--------------------------------------------------------------------------------
-The following macros are defined to indicate that the corresponding
-functions exist.
--------------------------------------------------------------------------------
-*/
-#define SYST_INT32_TO_FLOAT32
-#define SYST_INT32_TO_FLOAT64
-#define SYST_INT32_TO_FLOAT128
-#define SYST_INT64_TO_FLOAT32
-#define SYST_INT64_TO_FLOAT64
-#define SYST_INT64_TO_FLOAT128
-#define SYST_FLOAT32_TO_INT32_ROUND_TO_ZERO
-#define SYST_FLOAT32_TO_INT64_ROUND_TO_ZERO
-#define SYST_FLOAT32_TO_FLOAT64
-#define SYST_FLOAT32_TO_FLOAT128
-#define SYST_FLOAT32_ADD
-#define SYST_FLOAT32_SUB
-#define SYST_FLOAT32_MUL
-#define SYST_FLOAT32_DIV
-#define SYST_FLOAT32_SQRT
-#define SYST_FLOAT32_EQ
-#define SYST_FLOAT32_LE
-#define SYST_FLOAT32_LT
-#define SYST_FLOAT32_EQ_SIGNALING
-#define SYST_FLOAT32_LE_QUIET
-#define SYST_FLOAT32_LT_QUIET
-#define SYST_FLOAT64_TO_INT32_ROUND_TO_ZERO
-#define SYST_FLOAT64_TO_INT64_ROUND_TO_ZERO
-#define SYST_FLOAT64_TO_FLOAT32
-#define SYST_FLOAT64_TO_FLOAT128
-#define SYST_FLOAT64_ADD
-#define SYST_FLOAT64_SUB
-#define SYST_FLOAT64_MUL
-#define SYST_FLOAT64_DIV
-#define SYST_FLOAT64_SQRT
-#define SYST_FLOAT64_EQ
-#define SYST_FLOAT64_LE
-#define SYST_FLOAT64_LT
-#define SYST_FLOAT64_EQ_SIGNALING
-#define SYST_FLOAT64_LE_QUIET
-#define SYST_FLOAT64_LT_QUIET
-#define SYST_FLOAT128_TO_INT32_ROUND_TO_ZERO
-#define SYST_FLOAT128_TO_INT64_ROUND_TO_ZERO
-#define SYST_FLOAT128_TO_FLOAT32
-#define SYST_FLOAT128_TO_FLOAT64
-#define SYST_FLOAT128_ADD
-#define SYST_FLOAT128_SUB
-#define SYST_FLOAT128_MUL
-#define SYST_FLOAT128_DIV
-#define SYST_FLOAT128_SQRT
-#define SYST_FLOAT128_EQ
-#define SYST_FLOAT128_LE
-#define SYST_FLOAT128_LT
-#define SYST_FLOAT128_EQ_SIGNALING
-#define SYST_FLOAT128_LE_QUIET
-#define SYST_FLOAT128_LT_QUIET
-
-/*
--------------------------------------------------------------------------------
-System function declarations. (Some of these functions may not exist.)
--------------------------------------------------------------------------------
-*/
-float32 syst_int32_to_float32( int32 );
-float64 syst_int32_to_float64( int32 );
-#ifdef FLOATX80
-floatx80 syst_int32_to_floatx80( int32 );
-#endif
-#ifdef FLOAT128
-float128 syst_int32_to_float128( int32 );
-#endif
-#ifdef BITS64
-float32 syst_int64_to_float32( int64 );
-float64 syst_int64_to_float64( int64 );
-#ifdef FLOATX80
-floatx80 syst_int64_to_floatx80( int64 );
-#endif
-#ifdef FLOAT128
-float128 syst_int64_to_float128( int64 );
-#endif
-#endif
-int32 syst_float32_to_int32( float32 );
-int32 syst_float32_to_int32_round_to_zero( float32 );
-#ifdef BITS64
-int64 syst_float32_to_int64( float32 );
-int64 syst_float32_to_int64_round_to_zero( float32 );
-#endif
-float64 syst_float32_to_float64( float32 );
-#ifdef FLOATX80
-floatx80 syst_float32_to_floatx80( float32 );
-#endif
-#ifdef FLOAT128
-float128 syst_float32_to_float128( float32 );
-#endif
-float32 syst_float32_round_to_int( float32 );
-float32 syst_float32_add( float32, float32 );
-float32 syst_float32_sub( float32, float32 );
-float32 syst_float32_mul( float32, float32 );
-float32 syst_float32_div( float32, float32 );
-float32 syst_float32_rem( float32, float32 );
-float32 syst_float32_sqrt( float32 );
-flag syst_float32_eq( float32, float32 );
-flag syst_float32_le( float32, float32 );
-flag syst_float32_lt( float32, float32 );
-flag syst_float32_eq_signaling( float32, float32 );
-flag syst_float32_le_quiet( float32, float32 );
-flag syst_float32_lt_quiet( float32, float32 );
-int32 syst_float64_to_int32( float64 );
-int32 syst_float64_to_int32_round_to_zero( float64 );
-#ifdef BITS64
-int64 syst_float64_to_int64( float64 );
-int64 syst_float64_to_int64_round_to_zero( float64 );
-#endif
-float32 syst_float64_to_float32( float64 );
-#ifdef FLOATX80
-floatx80 syst_float64_to_floatx80( float64 );
-#endif
-#ifdef FLOAT128
-float128 syst_float64_to_float128( float64 );
-#endif
-float64 syst_float64_round_to_int( float64 );
-float64 syst_float64_add( float64, float64 );
-float64 syst_float64_sub( float64, float64 );
-float64 syst_float64_mul( float64, float64 );
-float64 syst_float64_div( float64, float64 );
-float64 syst_float64_rem( float64, float64 );
-float64 syst_float64_sqrt( float64 );
-flag syst_float64_eq( float64, float64 );
-flag syst_float64_le( float64, float64 );
-flag syst_float64_lt( float64, float64 );
-flag syst_float64_eq_signaling( float64, float64 );
-flag syst_float64_le_quiet( float64, float64 );
-flag syst_float64_lt_quiet( float64, float64 );
-#ifdef FLOATX80
-int32 syst_floatx80_to_int32( floatx80 );
-int32 syst_floatx80_to_int32_round_to_zero( floatx80 );
-#ifdef BITS64
-int64 syst_floatx80_to_int64( floatx80 );
-int64 syst_floatx80_to_int64_round_to_zero( floatx80 );
-#endif
-float32 syst_floatx80_to_float32( floatx80 );
-float64 syst_floatx80_to_float64( floatx80 );
-#ifdef FLOAT128
-float128 syst_floatx80_to_float128( floatx80 );
-#endif
-floatx80 syst_floatx80_round_to_int( floatx80 );
-floatx80 syst_floatx80_add( floatx80, floatx80 );
-floatx80 syst_floatx80_sub( floatx80, floatx80 );
-floatx80 syst_floatx80_mul( floatx80, floatx80 );
-floatx80 syst_floatx80_div( floatx80, floatx80 );
-floatx80 syst_floatx80_rem( floatx80, floatx80 );
-floatx80 syst_floatx80_sqrt( floatx80 );
-flag syst_floatx80_eq( floatx80, floatx80 );
-flag syst_floatx80_le( floatx80, floatx80 );
-flag syst_floatx80_lt( floatx80, floatx80 );
-flag syst_floatx80_eq_signaling( floatx80, floatx80 );
-flag syst_floatx80_le_quiet( floatx80, floatx80 );
-flag syst_floatx80_lt_quiet( floatx80, floatx80 );
-#endif
-#ifdef FLOAT128
-int32 syst_float128_to_int32( float128 );
-int32 syst_float128_to_int32_round_to_zero( float128 );
-#ifdef BITS64
-int64 syst_float128_to_int64( float128 );
-int64 syst_float128_to_int64_round_to_zero( float128 );
-#endif
-float32 syst_float128_to_float32( float128 );
-float64 syst_float128_to_float64( float128 );
-#ifdef FLOATX80
-floatx80 syst_float128_to_floatx80( float128 );
-#endif
-float128 syst_float128_round_to_int( float128 );
-float128 syst_float128_add( float128, float128 );
-float128 syst_float128_sub( float128, float128 );
-float128 syst_float128_mul( float128, float128 );
-float128 syst_float128_div( float128, float128 );
-float128 syst_float128_rem( float128, float128 );
-float128 syst_float128_sqrt( float128 );
-flag syst_float128_eq( float128, float128 );
-flag syst_float128_le( float128, float128 );
-flag syst_float128_lt( float128, float128 );
-flag syst_float128_eq_signaling( float128, float128 );
-flag syst_float128_le_quiet( float128, float128 );
-flag syst_float128_lt_quiet( float128, float128 );
-#endif
-
diff --git a/tools/test/testfloat/sparc64/systmodes.c b/tools/test/testfloat/sparc64/systmodes.c
deleted file mode 100644
index 26770599c0b4..000000000000
--- a/tools/test/testfloat/sparc64/systmodes.c
+++ /dev/null
@@ -1,54 +0,0 @@
-
-/*
-===============================================================================
-
-This C source file is part of TestFloat, Release 2a, a package of programs
-for testing the correctness of floating-point arithmetic complying to the
-IEC/IEEE Standard for Floating-Point.
-
-Written by John R. Hauser. More information is available through the Web
-page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <ieeefp.h>
-#include "milieu.h"
-#include "systmodes.h"
-
-/*
--------------------------------------------------------------------------------
-Sets the system's IEC/IEEE floating-point rounding mode.
--------------------------------------------------------------------------------
-*/
-void syst_float_set_rounding_mode( int8 roundingMode )
-{
-
- (void) fpsetround( roundingMode );
-
-}
-
-/*
--------------------------------------------------------------------------------
-Does nothing.
--------------------------------------------------------------------------------
-*/
-void syst_float_set_rounding_precision( int8 precision )
-{
-
-}
-
diff --git a/tools/test/testfloat/sparc64/un-namespace.h b/tools/test/testfloat/sparc64/un-namespace.h
deleted file mode 100644
index 5e7d1bc431b0..000000000000
--- a/tools/test/testfloat/sparc64/un-namespace.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-/*
- * This file has no content and is solely to satisfy a #include in
- * the FP emulator code.
- */