On Sunday 28 December 2008 19:27:16 Bastien ROUCARIES wrote: > I think inconditionnally switch to -O2 is the best. i will close the bug for > lenny :-) > Create smaller binary and often better (less icache), > and will let investigate this bug that could be a gcc bug > What do you think?
Quite a while ago, using -O3 gave much better results on the tight integer loops of the wavelet decoder (in libdjvu only). I suggest to check if the patch I sent yesterday works and decide on that basis. - L. P.S. -- On the other hand, should we really assume that gcc is too flaky to be used with -O3? In fact I am not even sure that gcc is flaky. I think the problem is with the c aliasing rules. Basically they say that writing through a T* pointer cannot change a variable of type other than T, except when T is "char". If using -O3 triggers that, we can expect -O2 to do the same in the future. I believe a similar exception should be done when T is "void" as it is common to use void* pointers as universal pointers (this is in fact encouraged by the casting rules.) From past experience, I have renounced asking the gcc people to implement that, since this is not in the standard. Yet it would eliminate lots of hard-to-debug bugs. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org