target-i386: fix helper_fbld_ST0() wrt softfloat

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
master
Aurelien Jarno 2011-04-20 13:04:23 +02:00
parent be1c17c7fd
commit 788e733664
1 changed files with 4 additions and 3 deletions

View File

@ -3920,9 +3920,10 @@ void helper_fbld_ST0(target_ulong ptr)
v = ldub(ptr + i);
val = (val * 100) + ((v >> 4) * 10) + (v & 0xf);
}
tmp = val;
if (ldub(ptr + 9) & 0x80)
tmp = -tmp;
tmp = int64_to_floatx(val, &env->fp_status);
if (ldub(ptr + 9) & 0x80) {
floatx_chs(tmp);
}
fpush();
ST0 = tmp;
}