Statistics
| Branch: | Revision:

root / fpu @ a8aec295

Name Size
softfloat-macros.h 24.9 kB
softfloat-specialize.h 38.3 kB
softfloat.c 244.1 kB

Latest revisions

# Date Author Comment
4039736e 06/10/2013 07:36 pm Peter Maydell

softfloat: Fix shift128Right for shift counts 64..127

shift128Right would give the wrong result for a shift count
between 64 and 127. This was never noticed because all of
our uses of this function are guaranteed not to use shift
counts in this range.

Signed-off-by: Peter Maydell <>...

e3d142d0 04/15/2013 05:06 pm Peter Maydell

fpu: Correct edgecase in float64_muladd

In handling float64_muladd, if we end up doing a subtraction of the
product and c, and the 128 bit result of this subtraction happens to
have its most significant bit in bit 63, we weren't handling this
correctly when attempting to normalize to put the most significant...

a6e7c184 01/26/2013 03:22 pm Richard Sandiford

softfloat: Handle float_muladd_negate_c when product is zero

Honour float_muladd_negate_c in the case where the product is zero and
c is nonzero. Previously we would fail to negate c.

Seen in (and tested against) the gfortran testsuite on MIPS.

Signed-off-by: Richard Sandiford <>...

1e397ead 01/05/2013 12:12 pm Richard Henderson

softfloat: Implement uint64_to_float128

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

17ed2293 01/05/2013 12:12 pm Richard Henderson

softfloat: Fix uint64_to_float64

The interface to normalizeRoundAndPackFloat64 requires that the
high bit be clear. Perform one shift-right-and-jam if needed.

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>...

6b4c305c 12/19/2012 09:32 am Paolo Bonzini

fpu: move public header file to include/fpu

Signed-off-by: Paolo Bonzini <>

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

bbc1dede 10/31/2012 11:20 pm Aurelien Jarno

softfloat: implement fused multiply-add NaN propagation for MIPS

Add a pickNaNMulAdd function for MIPS, implementing NaN propagation
rules for MIPS fused multiply-add instructions.

Cc: Peter Maydell <>
Reviewed-by: Richard Henderson <>...

4be8eeac 10/01/2012 11:06 pm Peter Maydell

fpu/softfloat.c: Remove pointless shift of always-zero value

In float16_to_float32, when returning an infinity, just pass zero
as the mantissa argument to packFloat32(), rather than shifting
a value which we know must be zero.

Signed-off-by: Peter Maydell <>...

e744c06f 10/01/2012 11:06 pm Peter Maydell

fpu/softfloat.c: Return correctly signed values from uint64_to_float32

The uint64_to_float32() conversion function was incorrectly always
returning numbers with the sign bit set (ie negative numbers). Correct
this so we return positive numbers instead.

Signed-off-by: Peter Maydell <>...

View revisions

Also available in: Atom