------- Comment #3 from qrczak at knm dot org dot pl 2006-08-26 19:15 ------- The problem seems to be caused by illegal type punning. Rewriting the code to avoid pointer casts cures the bug, and -fno-strict-aliasing cures it too, so gcc is probably correct.
Thanks to Michael Veksler for pointing this out. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28727