summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Poletaev2014-11-12 08:53:45 +0100
committerRichard Henderson2014-12-14 23:34:29 +0100
commit18b41f95d20ac6dbf918c73e704d4ca1fbc1a62f (patch)
tree71b6cd696ebeee51818c23fdc857c20d317d0dd7
parenttarget-i386: Wrong conversion infinity from float80 to int32/int64 (diff)
downloadqemu-18b41f95d20ac6dbf918c73e704d4ca1fbc1a62f.tar.gz
qemu-18b41f95d20ac6dbf918c73e704d4ca1fbc1a62f.tar.xz
qemu-18b41f95d20ac6dbf918c73e704d4ca1fbc1a62f.zip
target-i386: fbld instruction doesn't set minus sign
Signed-off-by: Dmitry Poletaev <poletaev-qemu@yandex.ru> Signed-off-by: Richard Henderson <rth@twiddle.net>
-rw-r--r--target-i386/fpu_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-i386/fpu_helper.c b/target-i386/fpu_helper.c
index 8768e1cf2c..30d34d5aee 100644
--- a/target-i386/fpu_helper.c
+++ b/target-i386/fpu_helper.c
@@ -639,7 +639,7 @@ void helper_fbld_ST0(CPUX86State *env, target_ulong ptr)
}
tmp = int64_to_floatx80(val, &env->fp_status);
if (cpu_ldub_data(env, ptr + 9) & 0x80) {
- floatx80_chs(tmp);
+ tmp = floatx80_chs(tmp);
}
fpush(env);
ST0 = tmp;