Bug 9751
Summary: | conversion of denormal floats to double is wrong | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | Paolo Bonzini (bonzini) |
Component: | Alpha | Assignee: | Richard Henderson (rth) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | ink |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.18, 2.6.24 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: | fix conversion from denormal float to double |
Description
Paolo Bonzini
2008-01-15 00:43:32 UTC
Where I wrote 2-149, it's 2^-149. Damn mail client... Where I wrote 2-149, it's 2^-149. Damn mail client... Created attachment 14469 [details]
fix conversion from denormal float to double
Good catch, thanks Paolo.
Here is a fix.
Are you sure you don't have to check that the number *is* a denormal? Especially for older hardware where more math instructions trap to the emulation. Yes, I am. cvtst/s would never trap with finite values. And for NaNs and Infs the patched conversion works correctly. Thanks! The fix is in main line, I suppose the bug can be closed. Thanks. |