Statistics
| Branch: | Revision:

root / fpu @ b4566776

Name Size
softfloat-macros.h 24.9 kB
softfloat-specialize.h 36.5 kB
softfloat.c 243.7 kB
softfloat.h 24.1 kB

Latest revisions

# Date Author Comment
94a49d86 04/28/2012 12:13 pm Andreas Färber

softfloat: Replace int16 type with int_fast16_t

Based on the following Coccinelle patch:

@
typedef int16, int_fast16_t;
@
-int16
+int_fast16_t

Avoids a workaround for AIX.

Add typedef for pre-10 Solaris.

Signed-off-by: Andreas Färber <>...

5aea4c58 04/28/2012 12:13 pm Andreas Färber

softfloat: Replace uint16 type with uint_fast16_t

Based on the following Coccinelle patch:

@
typedef uint16, uint_fast16_t;
@
-uint16
+uint_fast16_t

Fixes the build of the Cocoa frontend on Mac OS X and avoids a
workaround for AIX.

For pre-10 Solaris include osdep.h....

c9696547 04/28/2012 12:12 pm Andreas Färber

softfloat: Fix mixups of int and int16

normalizeFloat{32,64}Subnormal() expect the exponent as int16, not int.
This went unnoticed since int16 and uint16 were both typedef'ed to int.

Signed-off-by: Andreas Färber <>
Reviewed-by: Peter Maydell <>...

0eb4fc81 04/21/2012 04:26 pm Juan Quintela

softfloat: make USE_SOFTFLOAT_STRUCT_TYPES compile

This change makes it compile and return the same value than the #undef one.

Signed-off-by: Juan Quintela <>
Reviewed-by: Peter Maydell <>
Acked-by: Andreas Färber <>...

760e1416 04/07/2012 02:15 pm Peter Maydell

softfloat: roundAndPackInt{32, 64}: Don't assume int32 is 32 bits

Fix code in roundAndPackInt32 that assumed that int32 was only
32 bits, by simply using int32_t instead. Fix the parallel bug
in roundAndPackInt64 as well, although that one is only theoretical...

b3a6a2e0 04/07/2012 02:15 pm Peter Maydell

softfloat: float*_to_int32_round_to_zero: don't assume int32 is 32 bits

Code in the float64_to_int32_round_to_zero() function was assuming
that int32 would not be wider than 32 bits; this meant it might
not correctly detect the overflow case. We take the simple approach...

3bf7e40a 03/17/2012 03:01 pm Avi Kivity

softfloat: fix for C99

C99 appears to consider compound literals as non-constants, and complains
when they are used in static initializers. Switch to ordinary initializer
syntax.

Signed-off-by: Avi Kivity <>
Acked-by: Andreas Färber <>...

369be8f6 10/19/2011 07:14 pm Peter Maydell

softfloat: Implement fused multiply-add

Implement fused multiply-add as a softfloat primitive. This implements
"a+b*c" as a single step without any intermediate rounding; it is
specified in IEEE 754-2008 and implemented in a number of CPUs.

Signed-off-by: Peter Maydell <>

2ac8bd03 10/01/2011 09:19 am Peter Maydell

softfloat: Reinstate accidentally disabled target-specific NaN handling

Include config.h in softfloat.c, so that the target specific ifdefs in
softfloat-specialize.h are evaluated correctly. This was accidentally
broken in commit 789ec7ce2 when config-target.h was removed from...

9f8d2a09 09/03/2011 08:47 pm Andreas Färber

softfloat: Use uint32 consistently

Prepares for uint32 replacement.

Signed-off-by: Andreas Färber <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

View revisions

Also available in: Atom