target-i386: fix helper_fxtract() wrt softfloat
commitc9ad19c57b4e35dda507ec636443069048a4ad72
authorAurelien Jarno <aurelien@aurel32.net>
Wed, 20 Apr 2011 11:04:23 +0000 (20 13:04 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 25 Apr 2011 09:18:33 +0000 (25 11:18 +0200)
tree220a380adbcd9db4683be29cbd5afd84ba5016f8
parent788e733664aab69e65bf5d5d228767cf4371f3ab
target-i386: fix helper_fxtract() wrt softfloat

With softfloat it's not possible to play with the overflow of an
unsigned value to get the 0 case partially correct. Use a special case
for that. Using a division to generate an infinity is the easiest way
that works for both softfloat and softfloat-native.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-i386/op_helper.c