gccの最適化にはバグがあるのが常識。-O2以上は使わない。

gccのバグに合わせた(=過剰な適応化)キテガイもいるが、
少なくとも10年ぐらい前ではやってはいけないことの一つ
だったよ。