Opened 13 years ago
Closed 13 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 by , 13 years ago
| Summary: | add_float() does not honor the sign bit → add_float() does not honor the sign bit of addends |
|---|
comment:2 by , 13 years ago
| Resolution: | → notadefect |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.

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 thesoftfloat1test needs to make a similar distinction to function properly.