-Ounchecked, the assembly for
foo is quite a bit longer. I would have expected it to be the same sans the comparison and jump. Is there a missed optimization opportunity in
-Ounchecked, or is this just my very basic understanding of assembly shining through?
-Osize version does not inline, which sounds right at first, but the resulting
foo is actually longer than in
-O as well, so inlining would actually bring code-size benefits as well iiuc