« Previous | Next » 

Revision 2958f14d

ID2958f14d75b9c2ef9a68f41a3101884af307e4f8

Added by Tom Musta over 10 years ago

softfloat: Fix float64_to_uint32_round_to_zero

The float64_to_uint32_round_to_zero routine is incorrect.

For example, the following test pattern:

425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38

will erroneously set the inexact flag.

This patch re-implements the routine to use the float64_to_uint64_round_to_zero
routine. If saturation occurs we ignore any flags set by the
conversion function and raise only Invalid.

This contribution can be licensed under either the softfloat-2a or -2b
license.

Signed-off-by: Tom Musta <>
Message-id:
Signed-off-by: Peter Maydell <>
Reviewed-by: Richard Henderson <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences