summaryrefslogtreecommitdiffstats
path: root/lib/libc/sparc64/fpu/fpu_explode.c
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-04-27 21:56:28 +0000
committerjake <jake@FreeBSD.org>2002-04-27 21:56:28 +0000
commita1a94cce5c09be6d56eb4c83034f03ab93077bbe (patch)
treeef5f4b8e186ab8b15487aae5d54638610a6e672b /lib/libc/sparc64/fpu/fpu_explode.c
parent60ee831d3e0478dd494c5dd9b27f019f1700ea71 (diff)
downloadFreeBSD-src-a1a94cce5c09be6d56eb4c83034f03ab93077bbe.zip
FreeBSD-src-a1a94cce5c09be6d56eb4c83034f03ab93077bbe.tar.gz
Emulate ldq and stq (load/store long double) instructions. GCC has started
using these to load long doubles, but they aren't implemented in hardware on (at least) UltraSPARC I and II machines. Emulate popc in the user trap handler as well. Re-arrange slightly to make support functions more accessible. Reviewed by: tmm
Diffstat (limited to 'lib/libc/sparc64/fpu/fpu_explode.c')
-rw-r--r--lib/libc/sparc64/fpu/fpu_explode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/sparc64/fpu/fpu_explode.c b/lib/libc/sparc64/fpu/fpu_explode.c
index baa2da2..6967f5c 100644
--- a/lib/libc/sparc64/fpu/fpu_explode.c
+++ b/lib/libc/sparc64/fpu/fpu_explode.c
@@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$");
#include "fpu_arith.h"
#include "fpu_emu.h"
#include "fpu_extern.h"
+#include "__sparc_utrap_private.h"
/*
* N.B.: in all of the following, we assume the FP format is
@@ -278,7 +279,7 @@ __fpu_explode(fe, fp, type, reg)
break;
default:
- __fpu_panic("fpu_explode");
+ __utrap_panic("fpu_explode");
}
if (s == FPC_QNAN && (fp->fp_mant[0] & FP_QUIETBIT) == 0) {
OpenPOWER on IntegriCloud