-Os provides -O2 minus some optimizations that would
increase size, plus optimizations that would decreaze
size, plus -Os usually takes caching into account.
-Os Optimize for size. -Os enables all -O2 optimizations that do not
typically increase code size. It also performs further optimizations
designed to reduce code size.