On Mon, May 3, 2010 at 5:50 PM, Matthew Fluet <span dir="ltr"><<a href="mailto:matthew.fluet@gmail.com">matthew.fluet@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I think that we've gone back and forth with respect to the<br>
optimization level on libgdtoa.a. Dropping back to -O1 would be fine.<br></blockquote><div><br>No need. I found the problem. It was (as always) an aliasing problem.<br><br>It seems gcc is now even more anal about squeezing as much performance as possible under strict C99 aliasing rules. Unions are no longer a safe haven.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
It would probably also be worth checking the regressions with<br>
'-codegen c', to see if there are any other problems with gcc 4.4.3-9.<br>
We do some casts from/to double/float to/from uint64_t/uint32_t (via<br>
a memcpy, which is supposed to be kosher with respect to the C<br>
aliasing rules).<br></blockquote><div><br></div></div>It should be fine. However, when I do a debian upload, you'll have a full regression suite run on every architecture (most of which use the C codegen).<br><br>