------- Comment #21 from guenter at roeck-us dot net 2006-08-29 19:12 ------- This bug fix causes severe problems with all e500 double precision floating point code. It generates code such as :
... evldd 9,104(31) stw 9,112(31) stw 10,116(31) ... i.e., the compiler believes that a floating point value is in (r9,r10), while it is in LO(r9),HI(r9). Evidence is that any glibc compiled with a gcc including the fix fails all over the place. printf() of any float does not work. The fractional result of modf() is bad, for example. Just a heads up, I will try to submit a bug report after I find a simple test case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27287