target-i386: fix helper_fbld_ST0() wrt softfloat
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
be1c17c7fd
commit
788e733664
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user