Despite the fact that you say "all the major compilers", GCC and Clang make very different decisions for each optimization level.
In particular, GCC generates fairly debuggable code at all optimization levels, so there is less motivation for -O0 in the first place.