------- Comment #6 from mikpe at it dot uu dot se 2010-07-18 20:58 ------- Created an attachment (id=21244) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21244&action=view) fix Linux kernel math emulation FP_FROM_INT macro
The bug is in the Linux kernel math-emu code. The _FP_FROM_INT macro which converts integers to raw floats is supposed to produce normalized floats, but due to an error in a boundary condition, it fails to do so for a range of numbers, resulting in very incorrect floats for those numbers. The fix is syntactically trivial (s/</<=/ in one place) but requires analysis to show that it's needed. I'll try to get it into the Linux kernel ASAP, meanwhile it's attached to this PR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44631