Thumb-2's mixed 16/32-bit encoding is why STMicroelectronics' STM32 and every other Cortex-M microcontroller can ship with smaller, cheaper flash while still running full ARM performance when it needs to, a real cost trade-off embedded engineers make on every product. GCC's arm-none-eabi toolchain defaults to Thumb-2 specifically because the ~25-30% code-size savings you calculate here often means fitting firmware into a smaller, cheaper chip.