Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 7 years ago

Closed 7 years ago

#497 closed defect (notadefect)

add_float() does not honor the sign bit of addends

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.6.0
Component: helenos/lib/softfloat Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

As of mainline,1680, the tester softfloat1 test fails for the addends with a different sign. This is, partially or entirely, caused by the fact that add_float32() and its variants completely ignore the sign bit.

Change History (2)

comment:1 Changed 7 years ago by Jakub Jermář

Summary: add_float() does not honor the sign bitadd_float() does not honor the sign bit of addends

comment:2 Changed 7 years ago by Jakub Jermář

Resolution: notadefect
Status: newclosed

This is actually by design. add_float32(), according to its heading comment, is only for adding floats with the same sign. Our implementation of __addsf3() knows this and examines the sign bit and invokes add_float() or sub_float() accordingly. This means that the softfloat1 test needs to make a similar distinction to function properly.

Note: See TracTickets for help on using tickets.