In the last episode (Jan 16), David Hedbor @ Pike developers forum said:
Is there a reason while '-O2' is the "max" -Ox flag and not -O3? I.e have there been any specific problems or are there other reasons?
All -O3 does is add -finline_functions and -frename_registers. Inline-functions tends to make the final code bigger than -O2, which could be an issue on machines with small caches, and the docs say that rename_registers can confuse gdb since a variable may exist in different registers over its lifetime. I usually use -O2 and -march or -mcpu (depending on the platform)