aboutsummaryrefslogtreecommitdiff
path: root/target-mips
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-09-28 19:30:36 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-09-28 19:30:36 +0000
commit418d7c7169818bce67a570fdc86ffb613f53263a (patch)
treecb54f5c7281f0560f0680910528c6c1bd7ea1422 /target-mips
parentdf0d37366561d8f23703cd7cf754fefde79e618c (diff)
downloadqemu-418d7c7169818bce67a570fdc86ffb613f53263a.zip
qemu-418d7c7169818bce67a570fdc86ffb613f53263a.tar.gz
qemu-418d7c7169818bce67a570fdc86ffb613f53263a.tar.bz2
Fix MIPS FP underflow handling, spotted by Daniel Jacobowitz.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3255 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips')
-rw-r--r--target-mips/op_helper.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c
index 6b007a6..00a6c44 100644
--- a/target-mips/op_helper.c
+++ b/target-mips/op_helper.c
@@ -1032,10 +1032,6 @@ FLOAT_OP(name, d) \
update_fcr31(); \
if (GET_FP_CAUSE(env->fpu->fcr31) & FP_INVALID) \
FDT2 = 0x7ff7ffffffffffffULL; \
- else if (GET_FP_CAUSE(env->fpu->fcr31) & FP_UNDERFLOW) { \
- if ((env->fpu->fcr31 & 0x3) == 0) \
- FDT2 &= FLOAT_SIGN64; \
- } \
} \
FLOAT_OP(name, s) \
{ \
@@ -1044,10 +1040,6 @@ FLOAT_OP(name, s) \
update_fcr31(); \
if (GET_FP_CAUSE(env->fpu->fcr31) & FP_INVALID) \
FST2 = 0x7fbfffff; \
- else if (GET_FP_CAUSE(env->fpu->fcr31) & FP_UNDERFLOW) { \
- if ((env->fpu->fcr31 & 0x3) == 0) \
- FST2 &= FLOAT_SIGN32; \
- } \
} \
FLOAT_OP(name, ps) \
{ \
@@ -1058,11 +1050,6 @@ FLOAT_OP(name, ps) \
if (GET_FP_CAUSE(env->fpu->fcr31) & FP_INVALID) { \
FST2 = 0x7fbfffff; \
FSTH2 = 0x7fbfffff; \
- } else if (GET_FP_CAUSE(env->fpu->fcr31) & FP_UNDERFLOW) { \
- if ((env->fpu->fcr31 & 0x3) == 0) { \
- FST2 &= FLOAT_SIGN32; \
- FSTH2 &= FLOAT_SIGN32; \
- } \
} \
}
FLOAT_BINOP(add)