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

Reply via email to