op-ti-mize [verb (trans.)]* … (gcc) to modify executable code so that it fails more quickly.
Gentoo users in shambles
Jokes on you, my system is (mostly) -O3
too fancy for -O2? lol
Yes
Bah, they’ll never have my precious
-march=native
!I doubt they want my fun and safe math optimizations either tbh
Not like Ubuntu works very well on old hardware but hopefully O2 support will still be there. Many people need it.
-O2 vs -O3 adds
-fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops -fsplit-paths -ftree-loop-distribution -ftree-partial-pre -funswitch-loops -fvect-cost-model=dynamic -fversion-loops-for-strides
I don’t think any of these optimizations require more modern hardware?
Right. GCC -f optimizations are basically like “how hard are we going to try to be clever” and are, I believe, orthogonal to the actual instructions used. Machine dependent args start with -m, like -march or -mavx etc.
I was reasonably certain, but left it open in case OP knew of some edge case where flags that are intended to be machine independent caused bugs on different architectures
Yeah, adding a separate microarchitecture like amd64v3 would be a separate item. They might be able to do that with amd64v3 overlay repos that only contain packages that most benefit from the newer microarchitecture.
How do they avoid the subsequent bugs O3 tends to produce?
First time I’m hearing of this. Do you have some more details?
They don’t.